/**
 * DNA Quiz Shortcode - Original Styles
 * =====================================
 */

/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */

.hidden {
  display: none !important;
}

/* ==========================================================================
   QUIZ HERO SECTION
   ========================================================================== */

body.quiz .section-hero {
  background: white;
  background-size: cover;
  color: black;
  text-align: center;
  position: relative;
  font-size: 0;
}

body.quiz .section-hero:before {
  vertical-align: middle;
  display: inline-block;
  height: 100%;
  content: "";
}

body.quiz .section-hero .container {
  display: inline-block;
  vertical-align: middle;
}

body.quiz .section-hero .title {
  color: inherit;
  margin: 0;
  font-size: 32px;
}

body.quiz .section-hero .sub-title {
  margin: 0;
  font-size: 18px;
}

@media screen and (min-width: 768px) {
  body.quiz .section-hero .title {
    font-size: 40px;
  }
  body.quiz .section-hero .sub-title {
    font-size: 24px;
  }
}

/* ==========================================================================
   DNA WORKS - FLEXSLIDER OVERRIDES
   ========================================================================== */

.dna-works .flex-control-paging li a {
  background: white !important;
}

.dna-works .flex-control-paging li a.flex-active {
  background: #92C746 !important;
}

/* ==========================================================================
   DNA WORKS - MAIN CONTAINER
   ========================================================================== */

.dna-works {
  text-align: left;
}

.dna-works.flexslider {
  margin-right: -20px;
  margin-left: -20px;
  border: none;
}

.dna-works.flexslider.expand-active .slides {
  -webkit-transform: none !important;
  transform: none !important;
  -webkit-transition: none;
  transition: none;
}

/* ==========================================================================
   DNA WORKS - ITEMS LIST
   ========================================================================== */

.dna-works ul.items {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.dna-works ul.items:after {
  display: block;
  clear: both;
  content: "";
}

.dna-works ul.items > li {
  padding: 0;
  position: static;
  float: left;
}

.dna-works ul.items > li:before {
  display: none;
}

/* ==========================================================================
   DNA WORKS - FLEX VIEWPORT & CONTROLS
   ========================================================================== */

.dna-works .flex-viewport {
  padding-left: 40px;
  padding-right: 40px;
}

.dna-works .flex-control-nav {
  width: 100%;
  bottom: 0 !important;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.dna-works .flex-control-nav li {
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

.dna-works .flex-direction-nav li {
  height: 90%;
  width: 35px;
  position: absolute;
  top: 0;
  margin: 0;
  padding: 0;
}

.dna-works .flex-direction-nav li:before {
  display: none;
}

.dna-works .flex-direction-nav li:first-child {
  left: 0;
}

.dna-works .flex-direction-nav li:last-child {
  right: 0;
}

.dna-works .flex-direction-nav li .flex-prev {
  font-size: 0 !important;
  top: -12px !important;
  left: -4px !important;
  width: 35px !important;
  height: 100% !important;
  margin: 0 !important;
  background: url("../img/dna-works-prev.svg") center center no-repeat;
  opacity: 1;
}

.dna-works .flex-direction-nav li .flex-prev:before {
  display: none !important;
}

.dna-works .flex-direction-nav li .flex-next {
  font-size: 0 !important;
  top: -12px !important;
  right: 0 !important;
  width: 35px !important;
  height: 100% !important;
  margin: 0 !important;
  background: url("../img/dna-works-next.svg") center center no-repeat;
  opacity: 1;
}

.dna-works .flex-direction-nav li .flex-next:before {
  display: none !important;
}

/* ==========================================================================
   DNA WORKS - THUMBNAIL
   ========================================================================== */

.dna-works .thumb {
  line-height: 0;
  cursor: pointer;
  position: relative;
  font-size: 0;
}

@media screen and (max-width: 767px) {
  .dna-works .thumb {
    padding: 0 5px;
    height: auto;
  }
  .dna-works .thumb img {
    border: 1px solid #EDEFF0;
    border-radius: 5px;
    height: auto;
    max-height: 200px;
    object-fit: contain;
  }
  
  .dna-works ul.items > li {
    height: auto;
  }
  
  .dna-works .thumb-title {
    font-size: 14px;
    margin: 0.3em 0;
  }
  
  /* Fix flexslider container height on mobile */
  .dna-works.flexslider {
    margin-bottom: 20px;
    min-height: auto !important;
    height: auto !important;
    position: relative;
  }
  
  .dna-works .flex-viewport {
    height: auto !important;
    min-height: auto !important;
    padding-left: 40px;
    padding-right: 40px;
  }
  
  /* Hide dots on mobile */
  .dna-works .flex-control-nav {
    display: none !important;
  }
  
  /* Arrows centered vertically on sides */
  .dna-works .flex-direction-nav li {
    height: auto;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
  }
  
  .dna-works .flex-direction-nav li:first-child {
    left: 5px;
  }
  
  .dna-works .flex-direction-nav li:last-child {
    right: 5px;
  }
  
  .dna-works .flex-direction-nav li .flex-prev,
  .dna-works .flex-direction-nav li .flex-next {
    height: 40px !important;
    width: 30px !important;
    top: 0 !important;
    position: relative;
    opacity: 1;
    background-size: 12px auto;
  }
  
  /* Fix close button on mobile expanded cards */
  .dna-works .close {
    position: fixed;
    right: 15px;
    top: 15px;
    z-index: 2100;
    width: 40px;
    height: 40px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  }
  
  .dna-works .close::before {
    font-size: 28px;
  }
}

@media screen and (min-width: 1025px) {
  .dna-works .thumb:after {
    background: #92C746;
    opacity: 0;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  .dna-works .thumb:hover:after {
    opacity: 0.95;
  }
  .dna-works .thumb:hover .thumb-title {
    opacity: 1;
  }
}

.dna-works .thumb img {
  width: 100%;
  vertical-align: middle;
}

.dna-works .thumb-title {
  text-align: center;
  font-size: 20px;
  line-height: 1.2em;
  color: rgb(213, 15, 103);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  margin: 0.5em 0;
}

@media screen and (min-width: 768px) {
  .dna-works .thumb-title {
    opacity: 0;
    width: 100%;
    top: 50%;
    margin: -0.6em 0 0 0;
    position: absolute;
    right: 0;
    left: 0;
    z-index: 2;
    color: #ffffff;
    font-weight: 600;
  }
}

/* ==========================================================================
   DNA WORKS - CLOSE BUTTON
   ========================================================================== */

.dna-works .close {
  position: absolute;
  right: 10px;
  top: 10px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  outline: none;
  width: 36px;
  height: 36px;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 300;
  color: #666;
  line-height: 1;
  transition: all 0.2s ease;
}

.dna-works .close:hover {
  background: #f5f5f5;
  color: #333;
  border-color: #ccc;
}

.dna-works .close::before {
  content: "×";
  font-size: 24px;
}

/* ==========================================================================
   DNA WORKS - IMAGE
   ========================================================================== */

.dna-works .image {
  -webkit-backface-visibility: hidden;
  position: relative;
  z-index: 9;
}

/* ==========================================================================
   DNA WORKS - NAVIGATION
   ========================================================================== */

.dna-works .navigation {
  padding: 20px 20px 40px 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.dna-works .navigation ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.dna-works .navigation ul:after {
  display: block;
  clear: both;
  content: "";
}

.dna-works .navigation ul li {
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

.dna-works .navigation ul li:before {
  display: none;
}

.dna-works .navigation button {
  border: none;
  background: none;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  font-size: 18px;
  opacity: 0.8;
  color: #0d0e0e;
  cursor: pointer;
}

.dna-works .navigation button:hover {
  opacity: 1;
}

.dna-works .navigation .nav-prev:before {
  display: inline-block;
  width: 18px;
  height: 20px;
  vertical-align: middle;
  content: "";
  background: url("../img/dna-works-prev.svg") left center no-repeat;
  background-size: 10px 20px;
  position: relative;
  top: -2px;
}

.dna-works .navigation .nav-next:after {
  display: inline-block;
  width: 18px;
  height: 20px;
  vertical-align: middle;
  content: "";
  background: url("../img/dna-works-next.svg") right center no-repeat;
  background-size: 10px 20px;
  position: relative;
  top: -2px;
}

.dna-works .navigation .close-checkpoint {
  display: none;
  text-align: center;
  width: 100%;
  color: #6b6b6b;
  margin-right: 0px;
}

@media screen and (min-width: 768px) {
  .dna-works .navigation {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 20px;
    width: 50%;
    background: rgba(255, 255, 255, 0.8);
  }
}

/* ==========================================================================
   DNA WORKS - READ MORE
   ========================================================================== */

.dna-works .read-more {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  color: #92c746;
  z-index: 3;
  font-weight: 600;
  font-family: "Bryant Pro";
  text-transform: uppercase;
  background: #fff;
  border: none;
  outline: none;
  padding: 10px 20px 5px 20px;
  border: 1px solid #cecece;
  border-bottom: none;
  font-size: 16px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.dna-works .read-more:hover {
  background: #92c746;
  color: #fff;
  border-color: #92c746;
}

/* ==========================================================================
   DNA WORKS - CHECKPOINT HR
   ========================================================================== */

.dna-works .checkpoint-hr {
  line-height: 1em;
  position: relative;
  outline: 0;
  border: 0;
  color: black;
  text-align: center;
  height: 1.5em;
}

.dna-works .checkpoint-hr:before {
  opacity: 0.5;
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(#818078), to(transparent));
  background: linear-gradient(to right, transparent, #818078, transparent);
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
}

.dna-works .checkpoint-hr:after {
  opacity: 0.5;
  content: attr(data-content);
  position: relative;
  display: inline-block;
  color: black;
  padding: 0 0.5em;
  line-height: 1.5em;
  color: #818078;
  background-color: #fcfcfa;
}

.dna-works .checkpoint-hr span {
  position: relative;
  display: inline-block;
  color: black;
  padding: 0 0.5em;
  line-height: 1.5em;
  color: #92C746;
  background-color: #fff;
}

.dna-works .checkpoint-hr svg {
  vertical-align: middle;
}

/* ==========================================================================
   DNA WORKS - CHECKPOINT BUTTON
   ========================================================================== */

.dna-works .checkpoint {
  height: 60px;
  padding: 0 20px;
  line-height: 60px;
  display: inline-block;
  outline: none;
  border-radius: 30px;
  font-size: 20px;
  text-decoration: none;
  background: #3595d6;
  color: #ffffff;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
  border: none;
  cursor: pointer;
  margin-top: 10px;
}

.dna-works .checkpoint:after {
  content: "";
  height: 30px;
  width: 25px;
  display: inline-block;
  background: url("../img/checkpoint-flag.svg") center center no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-left: 10px;
  position: relative;
  top: -2px;
}

@media (min-width: 992px) {
  .dna-works .checkpoint:hover {
    background: #92C746;
  }
}

/* ==========================================================================
   DNA WORKS - ANSWER BUTTONS
   ========================================================================== */

.dna-works .answer-container {
  padding: 7px 0;
  position: relative;
}

.dna-works .answer-label {
  font-size: 18px;
  display: none;
  margin-left: 10px;
  color: #3595d6;
  -webkit-animation: fadein 0.8s;
  animation: fadein 0.8s;
}

.dna-works .answer-label.wrong {
  color: gray;
}

.dna-works .answer-label.correct {
  color: #92c746;
}

.dna-works .answer-label.disabled {
  color: #edeff0;
}

.dna-works .answer-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: 1px solid #3595D6;
  height: 40px;
  line-height: 40px;
  font-weight: 600;
  border-radius: 6px;
  color: #3595d6;
  text-align: center;
  display: inline-block;
  padding: 0 15px;
  outline: none;
  font-size: 20px;
  position: relative;
}

.dna-works .answer-button.active {
  z-index: 5;
}

.dna-works .answer-button:hover {
  background: rgba(53, 149, 214, 0.2);
}

.dna-works .answer-button span span {
  background: #3595D6;
}

.dna-works .answer-button.correct + .answer-label,
.dna-works .answer-button.wrong + .answer-label {
  display: inline-block;
}

.dna-works .answer-button.wrong {
  color: gray;
  border-color: gray;
}

.dna-works .answer-button.wrong:hover {
  background: rgba(128, 128, 128, 0.2);
}

.dna-works .answer-button.wrong span span {
  background: gray;
}

.dna-works .answer-button.correct {
  color: #92c746;
  border-color: #92c746;
}

.dna-works .answer-button.correct:hover {
  background: rgba(146, 199, 70, 0.2);
}

.dna-works .answer-button.correct span span {
  background: #92c746;
}

.dna-works .answer-button.disabled {
  color: #edeff0;
  border-color: #edeff0;
}

.dna-works .answer-button.disabled:hover {
  background: rgba(237, 239, 240, 0.2);
}

.dna-works .answer-button.disabled span span {
  background: #edeff0;
}

/* ==========================================================================
   DNA WORKS - ANSWER BUBBLE
   ========================================================================== */

.dna-works .answer-bubble {
  background: #3595d6;
  color: #ffffff;
  height: 36px;
  line-height: 36px;
  padding: 0 15px;
  border-radius: 18px;
  position: absolute;
  bottom: 50%;
}

.dna-works .answer-bubble.wrong {
  background: #d50f67;
}

.dna-works .answer-bubble.correct {
  background: #92c746;
}

.dna-works .answer-bubble.disabled {
  background: #edeff0;
}

/* ==========================================================================
   DNA WORKS - RESPONSIVE ITEMS
   ========================================================================== */

@media screen and (max-width: 991px) {
  .dna-works ul.items > li.active .expand {
    display: block;
    z-index: 2000;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }
}

@media screen and (min-width: 768px) {
  .dna-works ul.items {
    position: relative;
  }
  .dna-works ul.items > li {
    width: 25%;
  }
}

@media screen and (min-width: 992px) {
  .dna-works ul.items {
    position: relative;
  }
  .dna-works ul.items > li {
    width: 25%;
  }
  .dna-works .close {
    right: 20px;
    top: 20px;
    width: 32px;
    height: 32px;
    z-index: 100;
  }
  
  .dna-works .close::before {
    font-size: 22px;
  }
}

/* ==========================================================================
   DNA WORKS - TITLE BLOCK
   ========================================================================== */

.dna-works-title-block {
  text-align: center;
  padding: 20px 0 10px 0;
}

.dna-works-title-block .title {
  font-size: 30px;
  font-weight: 300;
  margin: 0;
}

.dna-works-title-block .title span {
  font-size: 135px;
  display: block;
  line-height: 0.8em;
  position: relative;
  font-weight: 100;
  color: #48494C;
}

.dna-works-title-block .title span:after {
  content: attr(data-shadow);
  display: inline-block;
  position: absolute;
  bottom: -5px;
  width: 150px;
  text-align: center;
  left: 50%;
  margin-left: -71px;
  color: #F0EFF2;
  z-index: -1;
}

@media screen and (min-width: 992px) {
  .dna-works-title-block {
    padding: 30px 0 20px 0;
  }
  .dna-works-title-block .title {
    font-size: 60px;
  }
  .dna-works-title-block .title span {
    font-size: 270px;
  }
  .dna-works-title-block .title span:after {
    bottom: -10px;
    margin-left: -142px;
  }
}

/* ==========================================================================
   DNA WORKS & SINGLE DNA WORK - EXPAND
   ========================================================================== */

.dna-works,
.single-dna-work {
  font-size: 14px;
  line-height: 1.5em;
}

.dna-works:after,
.single-dna-work:after {
  display: block;
  clear: both;
  content: "";
}

.dna-works .expand,
.single-dna-work {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  background: #fff;
  z-index: 10;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-height: 100vh;
  min-height: auto;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  min-width: 320px;
}

/* Mobile: height auto for cards */
@media screen and (max-width: 991px) {
  .dna-works .expand,
  .single-dna-work {
    min-height: auto;
    height: 100vh;
  }
  
  .dna-works .expand .image,
  .single-dna-work .image {
    min-height: auto;
    height: auto;
  }
  
  .dna-works .expand .image img,
  .dna-works .expand .image video {
    max-height: none;
    width: 100%;
    height: auto;
  }
}

.dna-works .expand:after,
.single-dna-work:after {
  display: block;
  clear: both;
  content: "";
}

.dna-works .expand .dw-content-block,
.single-dna-work .dw-content-block {
  padding: 20px;
}

.dna-works .expand .dw-content-block p,
.single-dna-work .dw-content-block p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 0.8em;
  color: #444;
}

.dna-works .expand .dw-content-block .content-checkpoint,
.single-dna-work .dw-content-block .content-checkpoint {
  display: none;
}

.dna-works .expand .dw-content-block:not(.active) + .navigation .nav-prev,
.single-dna-work .dw-content-block:not(.active) + .navigation .nav-prev {
  padding-right: 15px;
  border-right: 1px solid #3D3E3E;
}

.dna-works .expand .dw-content-block:not(.active) + .navigation .nav-next,
.single-dna-work .dw-content-block:not(.active) + .navigation .nav-next {
  padding-left: 10px;
}

.dna-works .expand .dw-content-block.active .content,
.single-dna-work .dw-content-block.active .content {
  display: none;
}

.dna-works .expand .dw-content-block.active .content-checkpoint,
.single-dna-work .dw-content-block.active .content-checkpoint {
  display: block;
}

.dna-works .expand .dw-content-block.active + .navigation .close-checkpoint,
.single-dna-work .dw-content-block.active + .navigation .close-checkpoint {
  margin: 0px;
  padding: 0px 10px;
  display: block;
  border-left: 1px solid #3D3E3E;
  border-right: 1px solid #3D3E3E;
}

.dna-works .expand .title,
.single-dna-work .title {
  margin: 0;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.2em;
  color: rgb(213, 15, 103);
  margin-bottom: 10px;
}

@media (max-width: 991px) {
  .dna-works .expand .title,
  .single-dna-work .title {
    font-weight: bold;
  }
}

.dna-works .expand .image img,
.dna-works .expand .image video,
.single-dna-work .image img,
.single-dna-work .image video {
  width: 100%;
}

.dna-works .expand .footer,
.single-dna-work .footer {
  text-align: center;
  border-top: 1px solid #CECECE;
  padding-top: 20px;
  margin-top: 2px;
}

.dna-works .expand .footer .locations,
.single-dna-work .footer .locations {
  font-size: 19px;
}

.dna-works .expand .footer .locations .title,
.single-dna-work .footer .locations .title {
  font-size: 14px;
  text-transform: uppercase;
  font-family: "Bryant Pro";
}

.dna-works .expand .footer .locations ul,
.single-dna-work .footer .locations ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.dna-works .expand .footer .locations ul li,
.single-dna-work .footer .locations ul li {
  padding: 3px 0;
}

.dna-works .expand .social,
.single-dna-work .social {
  padding: 5px 0;
  margin-bottom: 10px;
}

.dna-works .expand .social ul,
.single-dna-work .social ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.dna-works .expand .social ul li,
.single-dna-work .social ul li {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px;
}

@media screen and (max-width: 991px) {
  .dna-works .expand .content,
  .dna-works .expand .content-checkpoint,
  .single-dna-work .content,
  .single-dna-work .content-checkpoint {
    max-height: none !important;
  }
}

@media screen and (min-width: 768px) {
  .dna-works .expand .title,
  .single-dna-work .title {
    font-size: 28px;
  }
}

@media screen and (min-width: 992px) {
  .dna-works .expand,
  .single-dna-work {
    -webkit-box-shadow: 0 0 40px rgba(107, 107, 107, 0.15);
    box-shadow: 0 0 40px rgba(107, 107, 107, 0.15);
    width: 100%;
    padding: 0;
    position: absolute;
    overflow: hidden;
    max-height: none;
    min-height: 600px;
  }
  
  .dna-works .expand.limited .content,
  .dna-works .expand.limited .content-checkpoint,
  .single-dna-work.limited .content,
  .single-dna-work.limited .content-checkpoint {
    overflow: scroll;
    position: relative;
  }
  
  .dna-works .expand.limited .read-more,
  .single-dna-work.limited .read-more {
    display: none;
  }
  
  .dna-works .expand .dw-content-block,
  .dna-works .expand .image,
  .single-dna-work .dw-content-block,
  .single-dna-work .image {
    float: left;
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  
  .dna-works .expand .image,
  .single-dna-work .image {
    line-height: 0;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
  }
  
  .dna-works .expand .image img,
  .dna-works .expand .image video {
    max-height: 600px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }
  
  .dna-works .expand .dw-content-block,
  .single-dna-work .dw-content-block {
    padding: 40px;
    position: relative;
  }
  
  .dna-works .expand .dw-content-block.limited,
  .single-dna-work .dw-content-block.limited {
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
    position: relative;
  }
  
  .dna-works .expand .content,
  .dna-works .expand .content-checkpoint,
  .single-dna-work .content,
  .single-dna-work .content-checkpoint {
    padding-right: 10px;
    padding-bottom: 10px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s;
  }
  
  .dna-works .expand .content-checkpoint.expanded,
  .dna-works .expand .content.expanded,
  .single-dna-work .content-checkpoint.expanded,
  .single-dna-work .content.expanded {
    max-height: 2000px !important;
  }
  
  .dna-works .expand .content-checkpoint.expanded:after,
  .dna-works .expand .content.expanded:after,
  .single-dna-work .content-checkpoint.expanded:after,
  .single-dna-work .content.expanded:after {
    display: none;
  }
  
  .dna-works .expand .content-checkpoint.expanded .read-more,
  .dna-works .expand .content.expanded .read-more,
  .single-dna-work .content-checkpoint.expanded .read-more,
  .single-dna-work .content.expanded .read-more {
    display: none;
  }
  
  .dna-works .expand .footer,
  .single-dna-work .footer {
    text-align: left;
  }
  
  .dna-works .expand .footer:after,
  .single-dna-work .footer:after {
    display: block;
    clear: both;
    content: "";
  }
  
  .dna-works .expand .footer .col-left,
  .single-dna-work .footer .col-left {
    float: left;
  }
  
  .dna-works .expand .footer .col-right,
  .single-dna-work .footer .col-right {
    float: right;
  }
  
  .dna-works .expand .social ul li,
  .single-dna-work .social ul li {
    margin-left: 10px;
  }
}

/* ==========================================================================
   SINGLE DNA WORK
   ========================================================================== */

.single-dna-work {
  position: static;
  display: block;
  margin: 20px 0;
  max-height: none;
}

@media screen and (max-width: 991px) {
  .single-dna-work {
    margin: 0 -15px;
  }
}

@media screen and (min-width: 992px) {
  .single-dna-work {
    margin: 40px 0;
  }
  .single-dna-work .dw-content-block {
    padding-top: 40px;
  }
}

/* ==========================================================================
   ANIMATIONS
   ========================================================================== */

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* ==========================================================================
   CHECKPOINT COMPLETE
   ========================================================================== */

.checkpoint-complete {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ffffff;
  z-index: 10;
  text-align: center;
  font-size: 0;
  display: none;
}

.checkpoint-complete:before {
  height: 100%;
  vertical-align: middle;
  content: "";
  display: inline-block;
}

.checkpoint-complete .content {
  display: inline-block;
  font-size: 18px;
  color: #6b6b6b;
  max-width: 480px;
  line-height: 1.4em;
  padding: 0 20px;
}

.checkpoint-complete .content .title {
  font-size: 36px;
  color: #333435;
  margin-bottom: 0.2em;
  font-weight: 600;
}

.checkpoint-complete .trophy {
  margin-bottom: 10px;
}

.checkpoint-complete .trophy img {
  max-width: 120px;
  height: auto;
}

.checkpoint-complete .bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 15px 20px;
}

.checkpoint-complete .bottom .close-checkpoint {
  font-size: 16px;
  color: rgb(213, 15, 103);
  border: none;
  padding: 8px 20px;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  cursor: pointer;
  font-weight: 500;
  transition: opacity 0.2s;
}

.checkpoint-complete .bottom .close-checkpoint:hover {
  opacity: 0.7;
}

/* ==========================================================================
   MISSION COMPLETE - HORIZONTAL CERTIFICATE
   ========================================================================== */

#mission_complete {
  margin: 30px auto;
  max-width: 800px;
  padding: 0 15px;
}

#mission_complete .checkpoint-complete {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  border: 2px solid #e8e8e8;
  border-radius: 8px;
  overflow: hidden;
  min-height: 180px;
}

/* Decorative images on sides */
#mission_complete .checkpoint-complete .top-left {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 120px;
  height: auto;
  opacity: 0.9;
}

#mission_complete .checkpoint-complete .bottom-right {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 120px;
  height: auto;
  opacity: 0.9;
}

/* Main content wrapper */
#mission_complete .checkpoint-complete .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: 100%;
  padding: 25px 140px;
  text-align: center;
  font-size: 14px;
  max-width: none;
  margin: 0;
}

/* Trophy/Medal */
#mission_complete .checkpoint-complete .content .trophy {
  flex-shrink: 0;
  width: 90px;
  height: auto;
}

/* Title */
#mission_complete .checkpoint-complete .content .title {
  font-size: 28px;
  font-weight: 600;
  color: #333;
  margin-bottom: 5px;
}

/* Subtitle */
#mission_complete .checkpoint-complete .content .sub-title {
  font-size: 13px;
  line-height: 1.5;
  color: #666;
  max-width: 320px;
}

/* Bottom with restart button */
#mission_complete .checkpoint-complete .bottom {
  position: relative;
  padding: 0;
  flex-shrink: 0;
}

#mission_complete .checkpoint-complete .bottom .close-checkpoint {
  font-size: 14px;
  padding: 10px 20px;
  background: transparent;
  border: none;
  color: rgb(213, 15, 103);
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s;
}

#mission_complete .checkpoint-complete .bottom .close-checkpoint:hover {
  text-decoration: underline;
}

/* Mobile responsive - Hide Eureka certificate on mobile */
@media (max-width: 767px) {
  #mission_complete {
    display: none !important;
  }
}

/* ==========================================================================
   CONFETTI
   ========================================================================== */

#confetti {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2000;
  margin: 0 auto;
}

/* ==========================================================================
   FLEXSLIDER CORE
   ========================================================================== */

.dna-works .flexslider {
  margin: 0;
  padding: 0;
}

.dna-works .flexslider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden;
}

.dna-works .flexslider .slides img {
  width: 100%;
  display: block;
}

.dna-works .flexslider .slides:after {
  content: " ";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.dna-works html[xmlns] .flexslider .slides {
  display: block;
}

.dna-works * html .flexslider .slides {
  height: 1%;
}

.dna-works .no-js .flexslider .slides > li:first-child {
  display: block;
}

.dna-works .flexslider {
  margin: 0 0 60px;
  background: #fff;
  border: 4px solid #fff;
  position: relative;
  zoom: 1;
  border-radius: 4px;
  -webkit-box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2);
  -o-box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2);
}

.dna-works .flexslider .slides {
  zoom: 1;
}

.dna-works .flexslider .slides img {
  height: auto;
  -moz-user-select: none;
}

.dna-works .flex-viewport {
  max-height: 2000px;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

.dna-works .loading .flex-viewport {
  max-height: 300px;
}

.dna-works .carousel li {
  margin-right: 5px;
}

.dna-works .flex-direction-nav {
  *height: 0;
}

.dna-works .flex-direction-nav a {
  text-decoration: none;
  display: block;
  width: 40px;
  height: 40px;
  margin: -20px 0 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.dna-works .flex-direction-nav a:before {
  font-family: "flexslider-icon";
  font-size: 40px;
  display: inline-block;
  content: "\f001";
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
}

.dna-works .flex-direction-nav a.flex-next:before {
  content: "\f002";
}

.dna-works .flex-direction-nav .flex-prev {
  left: -50px;
}

.dna-works .flex-direction-nav .flex-next {
  right: -50px;
  text-align: right;
}

.dna-works .flexslider:hover .flex-direction-nav .flex-prev {
  opacity: 0.7;
  left: 10px;
}

.dna-works .flexslider:hover .flex-direction-nav .flex-prev:hover {
  opacity: 1;
}

.dna-works .flexslider:hover .flex-direction-nav .flex-next {
  opacity: 0.7;
  right: 10px;
}

.dna-works .flexslider:hover .flex-direction-nav .flex-next:hover {
  opacity: 1;
}

.dna-works .flex-direction-nav .flex-disabled {
  opacity: 0 !important;
  filter: alpha(opacity=0);
  cursor: default;
  z-index: -1;
}

.dna-works .flex-pauseplay a {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 5px;
  left: 10px;
  opacity: 0.8;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: #000;
}

.dna-works .flex-pauseplay a:before {
  font-family: "flexslider-icon";
  font-size: 20px;
  display: inline-block;
  content: "\f004";
}

.dna-works .flex-pauseplay a:hover {
  opacity: 1;
}

.dna-works .flex-pauseplay a.flex-play:before {
  content: "\f003";
}

.dna-works .flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -40px;
  text-align: center;
}

.dna-works .flex-control-nav li {
  margin: 0 6px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

.dna-works .flex-control-paging li a {
  width: 11px;
  height: 11px;
  display: block;
  background: #666;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  text-indent: -9999px;
  -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  border-radius: 20px;
}

.dna-works .flex-control-paging li a:hover {
  background: #333;
  background: rgba(0, 0, 0, 0.7);
}

.dna-works .flex-control-paging li a.flex-active {
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  cursor: default;
}

.dna-works .flex-control-thumbs {
  margin: 5px 0 0;
  position: static;
  overflow: hidden;
}

.dna-works .flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0;
}

.dna-works .flex-control-thumbs img {
  width: 100%;
  height: auto;
  display: block;
  opacity: 0.7;
  cursor: pointer;
  -moz-user-select: none;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

.dna-works .flex-control-thumbs img:hover {
  opacity: 1;
}

.dna-works .flex-control-thumbs .flex-active {
  opacity: 1;
  cursor: default;
}

/* ==========================================================================
   PYRO FIREWORKS EFFECT
   ========================================================================== */

.pyro {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  pointer-events: none;
}

.pyro > .before,
.pyro > .after {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  box-shadow: 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff,
    0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff,
    0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff,
    0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff,
    0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff,
    0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff,
    0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff,
    0 0 #fff, 0 0 #fff, 0 0 #fff;
  animation: 1s bang ease-out infinite backwards,
    1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
}

.pyro > .after {
  animation-delay: 1.25s, 1.25s, 1.25s;
  animation-duration: 1.25s, 1.25s, 6.25s;
}

@keyframes bang {
  to {
    box-shadow: -70px -115.67px #00ff84, 217px -36.67px #ff00f7,
      -136px -103.67px #ff5500, 246px -12.67px #ff006f, -203px -60.67px #4dff00,
      145px 30.33px #00ff2f, -38px -155.67px #ff00d0, -148px 4.33px #ff0059,
      96px -63.67px #ffbf00, -136px -120.67px #00ffd0;
  }
}

@keyframes gravity {
  to {
    transform: translateY(200px);
    opacity: 0;
  }
}

@keyframes position {
  0%,
  19.9% {
    margin-top: 10%;
    margin-left: 40%;
  }
  20%,
  39.9% {
    margin-top: 40%;
    margin-left: 30%;
  }
  40%,
  59.9% {
    margin-top: 20%;
    margin-left: 70%;
  }
  60%,
  79.9% {
    margin-top: 30%;
    margin-left: 20%;
  }
  80%,
  99.9% {
    margin-top: 30%;
    margin-left: 80%;
  }
}

/* ==========================================================================
   SHAKE ANIMATION (for next button)
   ========================================================================== */

.shakeme {
  animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes shake {
  10%,
  90% {
    transform: translate3d(-1px, 0, 0);
  }
  20%,
  80% {
    transform: translate3d(2px, 0, 0);
  }
  30%,
  50%,
  70% {
    transform: translate3d(-4px, 0, 0);
  }
  40%,
  60% {
    transform: translate3d(4px, 0, 0);
  }
}
