/* Example
$text-color: red;
a { color: $text-color; } */
/************************************************************************************************/
/* Sections */
/************************************************************************************************/
/************************************************************************************************/
/* examples from https://www.developerdrive.com/2018/05/10-best-sass-mixins-for-web-developers/ */
/************************************************************************************************/
/* Example usage:
div {
   @include vertical-center();
} */
/* Example usage:
    @include font-face("My Font", my-font);
*/
/* Example usage:
   @include abs-position(100px, 100px, auto, auto);
*/
/* limit one line of text with ...  */
/************************************************************************************************/
/* Media query */
/************************************************************************************************/
/*
 // Using the mixin
.foo {
  @include screen(large) {
    width: 20%;
  }
  @include screen(med) {
    width: 40%;
  }
  @include screen(med-small) {
    width: 60%;
  }
  @include screen(small) {
    width: 80%;
  }
  @include screen(custom, max, 400) {
    width: 100%;
  }
}
*/
/*
    Example usage: 
    @include animation(10s, 5s, changecolour)
 */
@keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-moz-keyframes fadein {
  /* Firefox */
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadein {
  /* Safari and Chrome */
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-o-keyframes fadein {
  /* Opera */
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

/* contained within this file are all your resets classes */
body {
  font-family: "Circular Pro", "Open Sans", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  background-color: #cdfffb;
  color: #000;
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

a:focus, a:hover {
  text-decoration: none; }

h1 {
  font-family: "Tabac", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }

@font-face {
  font-family: 'Tabac';
  src: url(./fonts/398859_0_0.eot?7387cdf4692838d9976cd1c6c581c341);
  src: url(./fonts/398859_0_0.eot?7387cdf4692838d9976cd1c6c581c341) format("embedded-opentype"), url(./fonts/398859_0_0.woff2?07691edac96867e6f061b93dc03ba94b) format("woff2"), url(./fonts/398859_0_0.woff?ac49f5ddc2859db4c750485a13c3beb2) format("woff"), url(./fonts/398859_0_0.ttf?4938c9143395ee12d29eae0346a22268) format("truetype");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Circular Pro';
  src: url(./fonts/lineto-circular-pro-book.eot?7387cdf4692838d9976cd1c6c581c341);
  src: url(./fonts/lineto-circular-pro-book.eot?7387cdf4692838d9976cd1c6c581c341) format("embedded-opentype"), url(./fonts/lineto-circular-pro-book.woff2?07691edac96867e6f061b93dc03ba94b) format("woff2"), url(./fonts/lineto-circular-pro-book.woff?ac49f5ddc2859db4c750485a13c3beb2) format("woff");
  font-weight: 400;
  font-style: normal; }

.video-background {
  position: relative;
  background-color: #fff;
  height: 75vh;
  min-height: 25rem;
  width: 100%;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .video-background {
      height: 100vh; } }

.video-background__overlay {
  position: relative;
  top: 50%;
  z-index: 2; }

.video-background__video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%); }

/************************************************************************************************/
/* overlay */
/************************************************************************************************/
.video-background__overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: black;
  opacity: 0.3;
  z-index: 1; }

.video-background__content {
  position: absolute;
  top: 10%;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
  max-height: 250px;
  text-align: center;
  -webkit-animation-delay: 0s;
  -webkit-animation-duration: 4s;
  -webkit-animation-name: fadein;
  -webkit-animation-fill-mode: forwards;
  /* this prevents the animation from restarting! */
  -moz-animation-delay: 0s;
  -moz-animation-duration: 4s;
  -moz-animation-name: fadein;
  -moz-animation-fill-mode: forwards;
  /* this prevents the animation from restarting! */
  -o-animation-delay: 0s;
  -o-animation-duration: 4s;
  -o-animation-name: fadein;
  -o-animation-fill-mode: forwards;
  /* this prevents the animation from restarting! */
  animation-delay: 0s;
  animation-duration: 4s;
  animation-name: fadein;
  animation-fill-mode: forwards;
  /* this prevents the animation from restarting! */ }
  .video-background__content .video-background__content-image {
    max-height: 400px; }
    @media screen and (max-width: 768px) {
      .video-background__content .video-background__content-image {
        max-height: 300px; } }

.richtext h2 {
  margin: 20px 0; }

.subscription {
  color: #fff;
  text-align: left;
  padding: 2rem 0;
  background: #00BAB5; }
  .subscription .subscription__icon-container {
    text-align: center; }
  .subscription .subscription__icon {
    position: relative;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 6rem; }
    @media screen and (max-width: 576px) {
      .subscription .subscription__icon {
        font-size: 4rem; } }
  .subscription .subscription__text {
    margin: 0.5rem 0;
    font-size: 1.2rem; }
    @media screen and (max-width: 768px) {
      .subscription .subscription__text {
        text-align: center;
        margin: 1rem 0; } }
  .subscription .subscription__button--red {
    background-color: #EF4136;
    font-weight: 700; }
  .subscription .no-smil .subscription__button--red {
    margin-top: 51px; }
  .subscription .subscription__button {
    margin-top: 0.5rem;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .subscription .subscription__button {
        text-align: center; } }
    .subscription .subscription__button a {
      position: relative;
      top: 50%;
      -ms-transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }

.subscription__form {
  margin: 1rem 1rem 0; }
  .subscription__form .subscription__message--error {
    color: red;
    font-size: 0.8rem; }

.faq-list__item {
  margin-bottom: 5px; }

div.faq-list__question {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding: 0; }

.faq-list__question-text {
  white-space: normal;
  text-align: left;
  color: #000;
  width: 100%;
  padding: 1rem 1.25rem; }

.faq-list__question-text:hover, .faq-list__question-text:active, .faq-list__question-text:focus {
  text-decoration: none;
  color: #777; }

.faq-list__question-text:focus {
  box-shadow: none; }

.faq-list__answer {
  padding: 2rem; }

div.hero__image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  height: 512px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

.hero__text {
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 1.2;
  bottom: -300px;
  color: white;
  z-index: 2; }
  @media screen and (max-width: 768px) {
    .hero__text {
      bottom: -200px; } }

.hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: black;
  opacity: 0.2;
  z-index: 1; }

.hero__placeholder {
  height: 512px;
  width: 100%;
  background-color: #fff; }

.form-fields__textbox {
  font-size: 0.9rem; }

.form-fields__checkbox-label {
  margin-bottom: 0rem; }

/************************************************************************************************/
/*  */
/************************************************************************************************/
.ham {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 400ms;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.hamRotate.active {
  transform: rotate(45deg); }

.hamRotate180.active {
  transform: rotate(180deg); }

.line {
  fill: none;
  transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
  stroke: white;
  stroke-width: 5.5;
  stroke-linecap: round; }

.ham1 .top {
  stroke-dasharray: 40 139; }

.ham1 .bottom {
  stroke-dasharray: 40 180; }

.ham1.active .top {
  stroke-dashoffset: -98px; }

.ham1.active .bottom {
  stroke-dashoffset: -138px; }

.navbar-toggler:focus, .navbar-toggler:focus {
  outline: none; }

.full-width-base {
  padding-top: 4rem;
  padding-bottom: 4rem; }

@media screen and (max-width: 992px) {
  .two-column-layout {
    text-align: center; } }

.two-column-layout__image {
  width: 100%; }
  @media screen and (max-width: 992px) {
    .two-column-layout__image {
      width: 75%;
      margin-bottom: 2rem; } }

footer {
  background-color: #fff; }

/************************************************************************************************/
/* Images */
/************************************************************************************************/
.footer__top {
  background-color: #fff;
  padding-top: 1.8rem;
  text-align: center; }

.footer__top-image:first-child {
  text-align: right; }

.footer__top-image:last-child {
  text-align: left; }

.footer__top img {
  height: 90px; }
  @media screen and (max-width: 768px) {
    .footer__top img {
      height: 50px; } }

/************************************************************************************************/
/* Links */
/************************************************************************************************/
.footer__links {
  text-align: center;
  padding: 2rem 0; }
  @media screen and (max-width: 768px) {
    .footer__links {
      line-height: 2rem;
      text-align: left;
      padding: 1rem 0 0;
      font-size: 0.9rem; } }

.footer__link, .footer__link-separator {
  color: #004990;
  margin-right: 30px; }
  @media screen and (max-width: 768px) {
    .footer__link, .footer__link-separator {
      text-align: center;
      margin-right: 0px; } }

div.footer__social {
  padding: 1rem 0 1rem;
  text-align: center; }

.footer__social-item {
  font-size: 1.5rem;
  color: #00BAB5; }

.footer__spacer {
  margin-left: 30px; }

/************************************************************************************************/
/* Sponsors */
/************************************************************************************************/
@media screen and (max-width: 768px) {
  .footer__sponser {
    padding-top: 1rem; } }

.footer__sponsor-main {
  text-align: center;
  margin-top: 1rem; }

.footer__sponsor-main img {
  height: 5rem; }

html.no-smil .footer__sponsor-main {
  margin-bottom: 80px; }

.footer__sponsor-major {
  text-align: center; }
  @media screen and (max-width: 768px) {
    .footer__sponsor-major {
      padding-top: 1rem; } }

.footer__sponsor-major img {
  width: 12rem;
  position: relative;
  top: 50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }
  @media screen and (max-width: 768px) {
    .footer__sponsor-major img {
      width: 8rem; } }

.footer__sponsor-supporter {
  text-align: left;
  padding-bottom: 1rem; }
  @media screen and (max-width: 768px) {
    .footer__sponsor-supporter {
      text-align: center;
      padding-bottom: 0rem; } }

.footer__sponsor-supporter img {
  width: 8rem;
  position: relative;
  top: 50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }
  @media screen and (max-width: 768px) {
    .footer__sponsor-supporter img {
      width: 6rem; } }

.header {
  background: #EF4136;
  z-index: 10;
  width: 100%;
  color: #fff;
  padding: 0 1rem;
  /************************************************************************************************/
  /* Social */
  /************************************************************************************************/ }
  .header .header__nav-ul {
    width: 100%;
    margin-left: 2rem; }
    @media screen and (max-width: 992px) {
      .header .header__nav-ul {
        margin-left: 0rem; } }
  .header .header__nav a.header__nav-link {
    color: #fff;
    font-family: "Tabac", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: 900;
    text-transform: uppercase;
    font-size: 1.1rem;
    padding: 1rem 0.9rem;
    -webkit-transition: color 0.5s;
    /* For Safari 3.1 to 6.0 */
    transition: color 0.5s;
    white-space: nowrap; }
    @media screen and (max-width: 992px) {
      .header .header__nav a.header__nav-link {
        padding: 0 0 1rem 0;
        text-align: left; } }
  @media screen and (max-width: 576px) {
    .header .header__container {
      width: 100%; } }
  .header .header__logo {
    margin-right: 1.5rem;
    max-width: 263px; }
    @media screen and (max-width: 576px) {
      .header .header__logo {
        margin-right: 0;
        max-width: 75%; } }
  .header .header__logo-image {
    max-width: 282px; }
    @media screen and (max-width: 992px) {
      .header .header__logo-image {
        max-width: 368px; } }
    @media screen and (max-width: 576px) {
      .header .header__logo-image {
        max-width: 100%; } }
  .header .header__nav a.header__nav-link:hover {
    color: #ddd; }
  .header .header__hamburger {
    border: none; }
    @media screen and (max-width: 576px) {
      .header .header__hamburger {
        padding: 0; } }
  .header .header__social {
    width: 100%;
    text-align: right;
    padding-top: 0.7rem; }
    @media screen and (max-width: 992px) {
      .header .header__social {
        text-align: left;
        padding-top: 0rem; } }
  .header .header__social-item {
    padding: 0 2rem 0 0;
    color: white;
    font-size: 1.3rem; }
    .header .header__social-item i {
      -webkit-transition: color 0.5s;
      /* For Safari 3.1 to 6.0 */
      transition: color 0.5s; }
    .header .header__social-item :hover {
      color: #ddd; }
    @media screen and (max-width: 992px) {
      .header .header__social-item {
        padding: 0 1.5rem 1rem 0rem; } }

/************************************************************************************************/
/* Media query */
/************************************************************************************************/
.background-alt-color {
  background-color: #00BAB5; }

/************************************************************************************************/
/* Media query */
/************************************************************************************************/
