.hero {
  padding-top: 60px;
  background: linear-gradient(180deg, #A2E3FF 0%, #E3F1F8 100%);
}

.hero:nth-of-type(2) {
  padding-top: 20px;
}

.hero:nth-of-type(2) .header .talker-image {
  display: none;
}

.hero .hero-banner {
  background-color: #353BD8;
  color: white;
  min-height: 50px;
  text-align: center;
  padding: 20px 0;
  width: 100%;
}

.header {
  position: relative;
  padding: 24px 15px 0;
  background-color: transparent;
}

.header .talker-image {
  width: 170px;
}

.header .header-promo {
  font-size: 30px;
  line-height: 1.33;
  margin: 10px 0 24px;
  color: #284B7C;
}

.header .header-offer {
  font-size: 18px;
  line-height: 1.6;
  color: #394149;
}

/* Language Selector Dropdown Menu */

.btn:focus, .btn:active:focus {
  outline: none;
}

.language-selector {
  margin-top: 30px;
  color: #000;
  text-align: left;
  display: flex;
  justify-content: center;
  position: relative;
}

.language-selector::after {
  /* Line-Separator */
  content: '';
  border: 0.5px solid #BECEDD;
  position: absolute;
  width: 300px;
  bottom: -20px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.language-selector header {
  margin-bottom: 8px;
  color: #394149;
  font-size: 17px;
  line-height: 1.9;
  padding-left: 2px;
}

.language-selector .btns-container {
  position: relative;
  z-index: 1;
}

.language-selector .dropdown-toggle {
  background-color: #FFF;
  box-shadow: none;
  border-radius: 3px;
  display: flex;
  align-items: center;
  width: 300px;
  height: 56px;
  border: 1.17px solid #BECEDD;
}

.language-selector .dropdown-toggle > .language {
  flex-grow: 1;
  text-align: left;
}

.language-selector .dropdown-menu {
  width: 300px;
  height: auto;
  max-height: 200px;
  overflow-x: hidden;
}

.language-selector .dropdown-menu li {
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 6px 12px;
  line-height: 1.3;
}

.language-selector .dropdown-menu li:hover {
  background-color: #f4f8fa;
}

.language-selector .caret {
  color: #394149;
  border-top: 6px dashed;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
}

.language-selector .flag {
  width: 24px;
  margin-right: 12px;
}

.language-selector .dropdown-menu .flag {
  width: 20px;
}

.language-selector .language {
  font-size: 20px;
}

.language-selector .dropdown-menu .language {
  font-size: 16px;
}

/* Offer Boxes */

.offers {
  color: #FFF;
  font-size: 14px;
  padding: 30px 0;
}

.offer-boxes {
  align-items: center;
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
}

.offer-box {
  background-color: #FFF;
  border-radius: 4px;
  color: #394149;
  margin-top: 14px;
  width: 300px;
  transition: transform .2s;

  padding: 14px;
  text-align: left;

  /* Position must be non-static for placement of discount-talker */
  position: relative;
}

.offer-box:nth-child(3),
.offer-box:nth-child(4) {
  padding-top: 36px;
  margin-top: 36px;
}

.offer-box .discount-talker {
  background-color: #353BD8;
  color: #FFF;
  position: absolute;
  top: -22px;
  padding: 10px;
  font-size: 15px;
  line-height: 1.2;
  left: 16px;
}

.offer-box .discount-talker:after {
  /* The triangle underneath the talker */
  border-top: 15px solid #353BD8;
  border-left: 0 solid transparent;
  border-right: 15px solid transparent;
  content: '';
  position: absolute;
  left: 14px;
  bottom: -14px;
}

.offer-box > header {
  color: #284B7C;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.2px;
}

.offer-box .new-price {
  font-size: 24px;
  margin: 5px 0 10px;
}

.offer-box .new-price > span {
  font-size: 12px;
}

.offer-box .new-price .currency {
  font-size: 24px;
}

.offer-box .description {
  color: #394149;
  font-size: 14px;
}

.offer-box .strikethrough {
  font-size: 14px;

  color: #FF4D4D;
  text-decoration: line-through;
  margin-right: 5px;
}

.offer-box .offer-cta-button {
  border: 1px solid #BECEDD;
  border-radius: 4px;
  color: #284B7C;
  display: table;
  font-size: 17px;
  padding: 16px;
  text-decoration: none;
  user-select: none;

  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.offer-box .offer-cta-button.orange {
  color: #FFF;
  border: none;
  background-color: #FF790F;
}

.offer-box .offer-cta-button:hover {
  background-color: #D1EEFC;
}

.offer-box .offer-cta-button.orange:hover {
  background-color: #EF700D;
}

.offers-countdown {
  padding-bottom: 60px;
}

.offers-countdown header {
  color: #284B7C;
  font-size: 11px;
  line-height: 1.45;
  letter-spacing: 0.15px;
  margin-bottom: 10px;
}

.midnight-countdown {
  font-size: 28px;
  line-height: 1.18;
  display: flex;
  justify-content: center;
  color: #394149;
}

.midnight-countdown > div {
  background-color: #FFF;
  border-radius: 3px;
  padding: 6px 0 4px;
  margin: 0 7px;
  width: 58px;
}

.midnight-countdown .label {
  font-size: 8px;
  line-height: 1.75;
  color: #565D64;
  display: block;
}

.break-desktop {
  display: none;
}

.break-tablet {
  display: block;
}

@media (min-width: 480px) {
  .offer-box:hover {
    transform: scale(1.05);
  }

  .break-mobile {
    display: none;
  }

  .header {
    padding-top: 48px;
  }

  .language-selector::after {
    /* Line-Separator */
    width: 90%;
    bottom: 28px;
  }

  .offers {
    padding: 60px 10px 0;
  }

  .offer-box {
    margin: 10px 10px 40px;
    width: 210px;

    padding: 28px 14px 33px;
    text-align: center;
  }

  .offer-box:nth-child(3),
  .offer-box:nth-child(4) {
    padding-top: 28px;
    margin-top: 10px;
  }

  .offers > .offer-boxes {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .offer-box .discount-talker {
    top: -28px;
    padding: 12px;
    font-size: 18px;
    line-height: 1.17;
  }

  .offer-box .discount-talker:after {
    /* The triangle underneath the talker */
    border-top: 19px solid #353BD8;
    border-left: 0 solid transparent;
    border-right: 19px solid transparent;
    left: 18px;
    bottom: -18px;
  }

  .offer-box .new-price .currency {
    vertical-align: 26px;
    padding-right: 3px;
    font-size: 15px;
  }

  .offer-box .new-price > span {
    font-size: 15px;
}

  .offer-box .new-price {
    font-size: 52px;
    margin: 24px 0 16px;
  }

  .offer-box .strikethrough {
    font-size: 22px;
  }

  .offer-box .offer-cta-button {
    padding: 16px 36px;
    position: static;
    margin-bottom: 25px;
  }

  .offers-countdown header {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.21px;
    margin-bottom: 16px;
  }

  .midnight-countdown {
    font-size: 32px;
    line-height: 1.18;
  }

  .midnight-countdown > div {
    padding: 8px 0;
    width: 66px;
  }

  .midnight-countdown .label {
    font-size: 9px;
    line-height: 1.77;
  }
}

@media (min-width: 768px) {
  .header .header-promo {
    font-size: 38px;
    line-height: 1.05;
  }

  .header .header-offer {
    font-size: 22px;
    line-height: 1.09;
  }

  .offer-box {
    width: 222px;
  }

  .home-text-module {
    padding-top: 50px;
  }

  .home-text-module p, .home-wide-text-module p,
  .mobile-text-module p, .recovery-headline a, .disclaimer p {
    padding: 0 25px;
  }

  .language-selector .dropdown-menu {
    max-height: none;
  }

  .break-desktop {
    display: block;
  }
}

@media (min-width: 992px) {
  .hero .hero-banner {
    font-size: 18px;
    padding: 6px 0;
  }

  .language-selector::after {
    /* Line-Separator */
    width: 950px;
  }

  .home-text-module p, .home-wide-text-module p,
  .mobile-text-module p, .recovery-headline a, .disclaimer p {
    padding: 0;
  }

  .module {
    display: flex;
    align-items: center;
  }

  .home-text-module {
    padding-top: 0;
    text-align: left;
  }

  .break-tablet {
    display: none;
  }
}
