.type--heading1, h1 {
  /* Heading 1 */
  font-family: Hepta Slab;
  font-style: normal;
  font-weight: normal;
  font-size: 34px;
  line-height: 130%;
  /* or 44px */ }

.type--heading2, section h2, section.video .video-player .play, section.sticky-nav ul li a {
  font-family: Source Sans Pro;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: 25px;
  letter-spacing: 0.2em;
  text-transform: uppercase; }

.type--heading3, section h3 {
  font-family: Hepta Slab;
  font-size: 32px;
  font-style: normal;
  font-weight: 600;
  line-height: 42px;
  letter-spacing: 0em; }

.type--heading4, section h4, section.contact .contact-details h4 {
  font-family: Source Sans Pro;
  font-style: normal;
  font-weight: 900;
  font-size: 20px;
  line-height: 25px;
  text-align: center;
  letter-spacing: 0.2em;
  text-transform: uppercase; }

.type--body, body, input, select, textarea {
  /* Body */
  font-family: Source Sans Pro;
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 24px;
  /* identical to box height, or 150% */ }

.type--navigation, section.mobile-menu .mobile-menu-container .mobile-social-icons li a, ul.nav li a, ul.social-icons li a {
  /* Navigation */
  font-family: Source Sans Pro;
  font-style: normal;
  font-weight: 900;
  font-size: 16px;
  line-height: 20px;
  text-align: right; }

.type--navigation-mobile, section.mobile-menu .mobile-menu-container .mobile-nav {
  /* Navigation mobile */
  font-family: Hepta Slab;
  font-style: normal;
  font-weight: normal;
  font-size: 28px;
  line-height: 35px; }

.list--unstyled, section.mobile-menu .mobile-menu-container .mobile-nav, section.mobile-menu .mobile-menu-container .mobile-social-icons, section.three-steps ul.steps, section.vision ul.timeline, section.sponsors-and-partners ul, ul.nav, ul.social-icons, section.sticky-nav ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  .list--unstyled li, section.mobile-menu .mobile-menu-container .mobile-nav li, section.mobile-menu .mobile-menu-container .mobile-social-icons li, section.three-steps ul.steps li, section.vision ul.timeline li, section.sponsors-and-partners ul li, ul.nav li, ul.social-icons li, section.sticky-nav ul li {
    margin: 0;
    padding: 0; }

footer p {
  font-family: Source Sans Pro;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em; }

* {
  box-sizing: border-box; }

body {
  background-color: #ffffff;
  color: #000000;
  padding: 0;
  margin: 0; }

a {
  color: inherit; }

@media only screen and (max-width: 800px) {
  .only-desktop {
    display: none; } }

@media only screen and (min-width: 800px) {
  .only-desktop {
    display: block; } }

@media only screen and (max-width: 800px) {
  .only-mobile {
    display: block; } }

@media only screen and (min-width: 800px) {
  .only-mobile {
    display: none; } }

.invisible {
  visibility: hidden; }

.btn {
  padding: 16px 32px;
  background: #ffffff;
  color: #3F4E00;
  border: 1px solid #ffffff;
  /* Heading 2 */
  font-family: Source Sans Pro;
  font-style: normal;
  font-weight: 900;
  font-size: 20px;
  line-height: 25px;
  text-align: center;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color 0.1s ease-in, background-color 0.1s ease-in; }
  .btn:hover, .btn:active {
    background-color: inherit;
    color: inherit;
    border: 1px solid #ffffff; }
  .btn.btn--reversed {
    color: #ffffff;
    background-color: #3F4E00; }
    .btn.btn--reversed:hover, .btn.btn--reversed:active {
      background-color: #ffffff;
      color: #3F4E00;
      border: 1px solid #3F4E00; }

section.mobile-menu {
  background-color: #000000;
  color: #ffffff;
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 101;
  display: none; }
  section.mobile-menu.mobile-menu--visible {
    display: flex; }
  section.mobile-menu .menu-close {
    position: absolute;
    right: 20px;
    top: 10px;
    color: #ffffff;
    margin-left: auto;
    align-self: start;
    margin-top: 20px;
    font-family: Source Sans Pro;
    font-style: normal;
    font-weight: 900;
    font-size: 16px;
    line-height: 20px;
    text-align: right;
    white-space: pre;
    cursor: pointer; }
    section.mobile-menu .menu-close img {
      margin-right: 10px;
      vertical-align: text-bottom; }
  section.mobile-menu .mobile-menu-container {
    margin: auto; }
    section.mobile-menu .mobile-menu-container .mobile-nav li {
      margin: 16px 0;
      text-align: center; }
      section.mobile-menu .mobile-menu-container .mobile-nav li a {
        text-decoration: none; }
    section.mobile-menu .mobile-menu-container .mobile-social-icons {
      margin-top: calc(76px - 16px);
      /* Auto Layout */
      display: flex;
      flex-direction: row;
      justify-content: flex-end;
      align-items: center;
      padding: 0px;
      margin-bottom: 20px; }
      section.mobile-menu .mobile-menu-container .mobile-social-icons img {
        filter: invert(1); }
      section.mobile-menu .mobile-menu-container .mobile-social-icons li {
        flex: none;
        flex-grow: 0;
        margin: 0px 24px; }
        section.mobile-menu .mobile-menu-container .mobile-social-icons li:last-child {
          margin-right: 0; }
        section.mobile-menu .mobile-menu-container .mobile-social-icons li a {
          text-decoration: none;
          color: #000000;
          transition: 0.1s ease-in color; }
          section.mobile-menu .mobile-menu-container .mobile-social-icons li a:hover, section.mobile-menu .mobile-menu-container .mobile-social-icons li a:active, section.mobile-menu .mobile-menu-container .mobile-social-icons li a.active {
            color: #E5E5E5; }

section.welcome {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 180px;
  padding-bottom: 100px !important; }
  @media only screen and (max-width: 800px) {
    section.welcome {
      margin-top: 50px;
      padding-left: 30px !important;
      padding-right: 30px !important; } }
  @media only screen and (min-width: 800px) {
    section.welcome {
      grid-template-columns: 2fr 5fr 1fr 6fr 2fr; }
      section.welcome .title {
        grid-column: 2 / 5; }
      section.welcome .left {
        grid-column: 2 / 3; }
      section.welcome .right {
        grid-column: 4 / 5; } }

section.video {
  display: grid;
  grid-template-columns: 1fr;
  background-color: #3F4E00; }
  @media only screen and (min-width: 800px) {
    section.video {
      grid-template-columns: 2fr 6fr 6fr 2fr; } }
  section.video .video-player {
    grid-column: 2 / 4;
    position: relative; }
    section.video .video-player .video-embed {
      width: 100%;
      height: auto; }
    section.video .video-player img {
      display: block;
      width: 100%;
      height: auto;
      object-fit: cover; }
    section.video .video-player .play {
      width: 176px;
      height: 176px;
      background-color: #000000;
      color: #ffffff;
      position: absolute;
      left: calc(50% - (176px/2));
      top: calc(284px - (176px/2));
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 176px;
      box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
      cursor: pointer;
      transition: color 0.1s ease-in, background-color 0.1s ease-in; }
      section.video .video-player .play:hover, section.video .video-player .play:active {
        background-color: #E5E5E5;
        color: #ffffff; }

section.three-steps {
  display: grid;
  grid-template-columns: 1fr;
  padding: 100px 0;
  background-color: #3F4E00;
  color: #ffffff;
  text-align: center; }
  @media only screen and (min-width: 800px) {
    section.three-steps {
      grid-template-columns: 3fr 10fr 3fr; } }
  @media only screen and (max-width: 800px) {
    section.three-steps {
      padding-left: 30px !important;
      padding-right: 30px !important; } }
  section.three-steps > div {
    grid-column: 2 / 3; }
  section.three-steps ul.steps {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 40px;
    margin: 60px 0; }
    @media only screen and (min-width: 800px) {
      section.three-steps ul.steps {
        grid-template-columns: 1fr 1fr 1fr; } }
    section.three-steps ul.steps li {
      display: grid;
      grid-template-rows: 1fr 1fr;
      row-gap: 30px; }
      section.three-steps ul.steps li img {
        justify-self: center; }
      section.three-steps ul.steps li p {
        justify-self: center; }
  section.three-steps .cta {
    margin-top: 60px; }

section.who-we-are {
  display: grid;
  grid-template-columns: 1fr;
  padding: 100px 0 180px 0; }
  @media only screen and (max-width: 800px) {
    section.who-we-are {
      padding-left: 30px !important;
      padding-right: 30px !important; } }
  @media only screen and (min-width: 800px) {
    section.who-we-are {
      grid-template-columns: 8fr 1fr 5fr 2fr;
      grid-auto-flow: dense;
      row-gap: 28px; } }
  @media only screen and (min-width: 800px) {
    section.who-we-are .images {
      grid-column: 1 / 2; } }
  section.who-we-are .images figure {
    margin: 0 0 28px 0;
    padding: 0; }
    section.who-we-are .images figure img {
      width: 100%;
      height: auto;
      display: block; }
    section.who-we-are .images figure figcaption {
      font-family: Source Sans Pro;
      font-style: italic;
      font-weight: normal;
      font-size: 16px;
      line-height: 24px;
      color: #ffffff;
      background-color: #000000;
      padding: 12px 40px; }
  @media only screen and (min-width: 800px) {
    section.who-we-are .text {
      grid-column: 3 / 4; } }
  section.who-we-are .text h2 {
    margin-top: 0; }

section.vision {
  display: grid;
  grid-template-columns: 1fr 14fr 1fr; }
  section.vision > * {
    grid-column: 2 / 3;
    justify-self: center; }
  section.vision ul.timeline {
    margin-top: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px; }
    @media only screen and (min-width: 800px) {
      section.vision ul.timeline {
        grid-template-columns: 1fr 1fr 1fr; } }
    @media only screen and (min-width: 900px) {
      section.vision ul.timeline {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr; } }
    section.vision ul.timeline li {
      display: grid;
      grid-template-rows: 1fr 1fr;
      row-gap: 30px; }
      section.vision ul.timeline li p:first-child {
        justify-self: center;
        width: 90px;
        height: 90px;
        border-radius: 90px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #3F4E00;
        color: #ffffff;
        font-family: Source Sans Pro;
        font-style: normal;
        font-weight: 900;
        font-size: 20px;
        line-height: 25px;
        text-align: center;
        letter-spacing: 0.2em; }
        section.vision ul.timeline li p:first-child.size-1 {
          width: 90px;
          height: 90px;
          border-radius: 90px;
          margin-block-start: 35px; }
        section.vision ul.timeline li p:first-child.size-2 {
          width: 100px;
          height: 100px;
          border-radius: 100px;
          margin-block-start: 30px; }
        section.vision ul.timeline li p:first-child.size-3 {
          width: 110px;
          height: 110px;
          border-radius: 110px;
          margin-block-start: 25px; }
        section.vision ul.timeline li p:first-child.size-4 {
          width: 120px;
          height: 120px;
          border-radius: 120px; }
      section.vision ul.timeline li p:last-child {
        justify-self: center;
        text-align: center; }

section.photo img {
  width: 100%;
  height: auto; }

section.sponsors-and-partners {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 40px;
  margin-top: 120px;
  margin-bottom: 160px; }
  @media only screen and (max-width: 800px) {
    section.sponsors-and-partners {
      padding-left: 30px !important;
      padding-right: 30px !important; } }
  @media only screen and (min-width: 800px) {
    section.sponsors-and-partners {
      grid-template-columns: 2fr 1fr 4fr 2fr 4fr 1fr 2fr; } }
  section.sponsors-and-partners > h3, section.sponsors-and-partners > p {
    justify-self: center;
    text-align: center; }
    @media only screen and (min-width: 800px) {
      section.sponsors-and-partners > h3, section.sponsors-and-partners > p {
        grid-column: 3 / 6; } }
  section.sponsors-and-partners h4 {
    margin-bottom: 60px; }
  @media only screen and (min-width: 800px) {
    section.sponsors-and-partners .sponsors {
      grid-column: 2 / 4; } }
  @media only screen and (min-width: 800px) {
    section.sponsors-and-partners .partners {
      grid-column: 5 / 7; } }
  @media only screen and (min-width: 800px) {
    section.sponsors-and-partners .partners.full-width {
      grid-column: 2 / 7; } }
  @media only screen and (min-width: 800px) {
    section.sponsors-and-partners .supporters {
      grid-column: 2 / 4;
      margin-top: -100px; } }
  section.sponsors-and-partners ul {
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap; }
    section.sponsors-and-partners ul li {
      flex-grow: 1;
      text-align: center;
      flex: 1 0 calc(25% - 60px);
      margin-bottom: 40px;
      margin-left: 30px;
      margin-right: 30px;
      align-self: center; }
      section.sponsors-and-partners ul li img {
        width: 120px; }

section.contact {
  display: grid;
  grid-template-columns: 1fr;
  padding-top: 80px;
  padding-bottom: 100px;
  background-color: #3F4E00;
  color: #ffffff; }
  @media only screen and (max-width: 900px) {
    section.contact {
      padding-left: 30px !important;
      padding-right: 30px !important; } }
  @media only screen and (min-width: 900px) {
    section.contact {
      grid-template-columns: 1fr 8fr 2fr 3fr 2fr; } }
  @media only screen and (min-width: 900px) {
    section.contact .title {
      grid-column: 2 / 3; } }
  @media only screen and (min-width: 900px) {
    section.contact .form {
      grid-column: 2 / 3; } }
  section.contact .form form {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 40px;
    row-gap: 60px; }
    @media only screen and (min-width: 800px) {
      section.contact .form form {
        grid-template-columns: 1fr 1fr; } }
    @media only screen and (min-width: 800px) {
      section.contact .form form div:last-child {
        grid-column: 1 / 3; } }
    section.contact .form form label {
      display: block;
      margin-bottom: 5px; }
    section.contact .form form input[type=text], section.contact .form form input[type=email] {
      display: block;
      background-color: inherit;
      border: none;
      border-bottom: 1px solid #ffffff;
      color: #ffffff;
      padding: 6px; }
      section.contact .form form input[type=text]::-webkit-input-placeholder, section.contact .form form input[type=text]::-moz-placeholder, section.contact .form form input[type=email]::-webkit-input-placeholder, section.contact .form form input[type=email]::-moz-placeholder {
        color: rgba(255, 255, 255, 0.2); }
    section.contact .form form select {
      background-color: rgba(255, 255, 255, 0.2);
      border: none;
      border-bottom: 1px solid #ffffff;
      color: #ffffff;
      padding: 6px;
      width: 100%; }
      section.contact .form form select *, section.contact .form form select option {
        color: #3F4E00; }
    section.contact .form form textarea {
      background-color: inherit;
      border: 1px solid #ffffff;
      color: #ffffff;
      padding: 6px;
      width: 100%;
      height: 105px;
      margin-bottom: 20px; }
  @media only screen and (min-width: 900px) {
    section.contact .contact-details {
      grid-column: 4 / 5; } }
  section.contact .contact-details h4 {
    font-family: Source Sans Pro;
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
    line-height: 24px;
    text-transform: none;
    text-align: left;
    margin-block-end: 0; }
  section.contact .contact-details p {
    margin-block-start: 0; }

section.follow {
  background-color: #000000;
  color: #ffffff;
  padding-top: 80px;
  padding-bottom: 100px;
  text-align: center; }
  section.follow ul.social-icons {
    justify-content: center; }
    section.follow ul.social-icons img {
      filter: invert(1); }

footer.footer p {
  margin: 18px 30px; }

#about, #sponsors, #contact {
  scroll-margin-top: 100px; }

@media only screen and (max-width: 800px) {
  form div.last {
    grid-column: 1 / 3; } }

header.header {
  display: grid;
  grid-template-columns: 1fr;
  margin: 10px; }
  @media only screen and (min-width: 800px) {
    header.header {
      grid-template-columns: 5fr 11fr;
      align-items: end;
      margin: 20px 40px 20px 30px; } }
  header.header .logo-title {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center; }
    header.header .logo-title .logo {
      margin-right: 18px; }
      @media only screen and (max-width: 800px) {
        header.header .logo-title .logo {
          margin-right: 10px; } }
      header.header .logo-title .logo a {
        text-decoration: none; }
      @media only screen and (max-width: 800px) {
        header.header .logo-title .logo img {
          width: 55px;
          height: 74px; } }
    header.header .logo-title .title {
      margin-right: 30px; }
      @media only screen and (max-width: 800px) {
        header.header .logo-title .title {
          margin-right: 20px; } }
      header.header .logo-title .title a {
        color: inherit;
        text-decoration: none; }
      header.header .logo-title .title h1 {
        font-family: Hepta Slab;
        font-size: 32px;
        font-style: normal;
        font-weight: 800;
        line-height: 34px;
        letter-spacing: 0em;
        text-align: left;
        text-transform: uppercase;
        max-width: 190px; }
        @media only screen and (max-width: 800px) {
          header.header .logo-title .title h1 {
            font-size: 18px;
            line-height: 19px;
            max-width: 110px; } }
    @media only screen and (max-width: 800px) {
      header.header .logo-title .queens-award img {
        width: 45px;
        height: 53px; } }
    header.header .logo-title .hamburger {
      margin-left: auto;
      align-self: start;
      margin-top: 20px;
      font-family: Source Sans Pro;
      font-style: normal;
      font-weight: 900;
      font-size: 16px;
      line-height: 20px;
      text-align: right;
      white-space: pre;
      cursor: pointer; }
      header.header .logo-title .hamburger img {
        margin-right: 10px;
        vertical-align: text-bottom; }

ul.nav, ul.social-icons {
  /* Auto Layout */
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  padding: 0px;
  margin-bottom: 20px; }
  ul.nav li, ul.social-icons li {
    flex: none;
    flex-grow: 0;
    margin: 0px 16px; }
    ul.nav li:last-child, ul.social-icons li:last-child {
      margin-right: 0; }
    ul.nav li a, ul.social-icons li a {
      text-decoration: none;
      color: #000000;
      transition: 0.1s ease-in color; }
      ul.nav li a:hover, ul.nav li a:active, ul.nav li a.active, ul.social-icons li a:hover, ul.social-icons li a:active, ul.social-icons li a.active {
        color: #E5E5E5; }

ul.social-icons {
  margin-bottom: 10px; }
  ul.social-icons li {
    margin: 0px 12px;
    transition: 0.1s ease-in opacity; }
    ul.social-icons li:hover, ul.social-icons li:active {
      opacity: 0.11; }

section.carousel-section .carousel {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-flow: dense;
  justify-items: stretch;
  align-items: stretch;
  background-color: #000000; }
  @media only screen and (min-width: 800px) {
    section.carousel-section .carousel {
      grid-template-columns: 1fr 1fr; } }
  @media only screen and (min-width: 800px) {
    section.carousel-section .carousel .carousel-image {
      grid-column: 2 / 3; } }
  section.carousel-section .carousel .carousel-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  section.carousel-section .carousel .carousel-text {
    background-color: #000000;
    color: #ffffff; }
    @media only screen and (min-width: 800px) {
      section.carousel-section .carousel .carousel-text {
        grid-column: 1 / 2; } }
    section.carousel-section .carousel .carousel-text p {
      font-family: Hepta Slab;
      font-style: normal;
      font-weight: normal;
      font-size: 34px;
      line-height: 130%;
      /* or 55px */
      margin-left: 40px;
      margin-top: 40px;
      margin-right: 40px; }
      @media only screen and (min-width: 800px) {
        section.carousel-section .carousel .carousel-text p {
          font-size: 42px;
          margin-left: 20%;
          margin-top: 25%;
          margin-right: 30%; } }

section.sticky-nav {
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.5)); }
  section.sticky-nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-items: stretch;
    align-items: stretch;
    background-color: #3F4E00; }
    section.sticky-nav ul li {
      margin: 0;
      padding: 0; }
      section.sticky-nav ul li a {
        text-align: center;
        display: block;
        padding: 20px 0;
        width: 100%;
        color: #ffffff;
        background-color: #3F4E00;
        text-decoration: none;
        transition: color 0.1s ease-in, background-color 0.1s ease-in; }
        section.sticky-nav ul li a:hover, section.sticky-nav ul li a:active {
          background-color: #E5E5E5;
          color: #ffffff; }
      section.sticky-nav ul li:nth-child(2) a {
        color: #3F4E00;
        background-color: #ffffff; }
        section.sticky-nav ul li:nth-child(2) a:hover, section.sticky-nav ul li:nth-child(2) a:active {
          background-color: #E5E5E5;
          color: #ffffff; }
  section.sticky-nav.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100; }
