.wf {
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal;
}
.wf-m {
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-style: normal;
}
.wf-b {
  font-family: futura-pt-bold, sans-serif;
  font-weight: 700;
  font-style: normal;
}
.wf-alt-m {
  font-family: museo, serif;
  font-weight: 300;
  font-style: normal;
}
.wf-alt-eb,
.hero .content-wrap .content h2 {
  font-family: museo, serif;
  font-weight: 900;
  font-style: normal;
}
.wrap,
.hero .content-wrap {
  margin: auto;
  max-width: 1140px;
  padding: 0 20px;
}
@media only screen and (min-width: 980px) {
  .wrap,
  .hero .content-wrap {
    padding: 0 15px;
  }
}
@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 900;
  font-display: auto;
  src: url('/wp-content/themes/gcc/fonts/fa-solid-900.eot');
  src: url('/wp-content/themes/gcc/fonts/fa-solid-900.eot?#iefix') format('embedded-opentype'), url('/wp-content/themes/gcc/fonts/fa-solid-900.woff2') format('woff2'), url('/wp-content/themes/gcc/fonts/fa-solid-900.woff') format('woff'), url('/wp-content/themes/gcc/fonts/fa-solid-900.ttf') format('truetype'), url('/wp-content/themes/gcc/fonts/fa-solid-900.svg#fontawesome') format('svg');
}
@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: normal;
  font-display: auto;
  src: url('/wp-content/themes/gcc/fonts/fa-brands-400.eot');
  src: url('/wp-content/themes/gcc/fonts/fa-brands-400.eot?#iefix') format('embedded-opentype'), url('/wp-content/themes/gcc/fonts/fa-brands-400.woff2') format('woff2'), url('/wp-content/themes/gcc/fonts/fa-brands-400.woff') format('woff'), url('/wp-content/themes/gcc/fonts/fa-brands-400.ttf') format('truetype'), url('/wp-content/themes/gcc/fonts/fa-brands-400.svg#fontawesome') format('svg');
}
@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url('/wp-content/themes/gcc/fonts/fa-regular-400.eot');
  src: url('/wp-content/themes/gcc/fonts/fa-regular-400.eot?#iefix') format('embedded-opentype'), url('/wp-content/themes/gcc/fonts/fa-regular-400.woff2') format('woff2'), url('/wp-content/themes/gcc/fonts/fa-regular-400.woff') format('woff'), url('/wp-content/themes/gcc/fonts/fa-regular-400.ttf') format('truetype'), url('/wp-content/themes/gcc/fonts/fa-regular-400.svg#fontawesome') format('svg');
}
@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 300;
  font-display: auto;
  src: url('/wp-content/themes/gcc/fonts/fa-light-300.eot');
  src: url('/wp-content/themes/gcc/fonts/fa-light-300.eot?#iefix') format('embedded-opentype'), url('/wp-content/themes/gcc/fonts/fa-light-300.woff2') format('woff2'), url('/wp-content/themes/gcc/fonts/fa-light-300.woff') format('woff'), url('/wp-content/themes/gcc/fonts/fa-light-300.ttf') format('truetype'), url('/wp-content/themes/gcc/fonts/fa-light-300.svg#fontawesome') format('svg');
}
.fa,
.fas {
  font-family: 'Font Awesome 5 Pro';
  font-weight: 900;
}
.fab {
  font-family: 'Font Awesome 5 Brands';
}
.far {
  font-family: 'Font Awesome 5 Pro';
  font-weight: 400;
}
.fal {
  font-family: 'Font Awesome 5 Pro';
  font-weight: 300;
}
.hero {
  padding-top: 5em;
  padding-bottom: 6em;
  position: relative;
  margin-bottom: 1.5em;
}
@media only screen and (min-width: 768px) {
  .hero {
    padding-bottom: 0;
    padding-top: 60%;
    margin-bottom: 3em;
  }
}
@media only screen and (min-width: 980px) {
  .hero {
    padding-top: 50%;
  }
}
@media only screen and (min-width: 1600px) {
  .hero {
    padding-top: 48%;
  }
}
@media only screen and (min-width: 768px) {
  .hero:before {
    content: '';
    display: block;
    width: 100%;
  }
}
.hero .media-wrap {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.hero .media-wrap:before {
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0.9;
  position: absolute;
  right: 0;
  top: 0;
  background: #05233d;
  /* Old browsers */
  background: -moz-linear-gradient(left, #05233d 25%, transparent 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #05233d 25%, transparent 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #05233d 25%, transparent 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
@media only screen and (min-width: 1600px) {
  .hero .media-wrap:before {
    background: #05233d;
    /* Old browsers */
    background: -moz-linear-gradient(left, #05233d 35%, transparent 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #05233d 35%, transparent 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #05233d 35%, transparent 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  }
}
.hero .media-wrap:after {
  background: url(../../img/hero-swoosh.svg);
  bottom: 0;
  content: '';
  display: block;
  width: calc(100% + 1px);
  height: 110px;
  background-repeat: no-repeat;
  margin: 0 auto;
  background-size: cover;
  position: absolute;
  right: -1px;
  background-position: right 0;
}
@media only screen and (min-width: 768px) {
  .hero .media-wrap:after {
    height: 125px;
  }
}
@media only screen and (min-width: 980px) {
  .hero .media-wrap:after {
    height: 150px;
  }
}
@media only screen and (min-width: 1140px) {
  .hero .media-wrap:after {
    height: 184px;
  }
}
@media only screen and (min-width: 1800px) {
  .hero .media-wrap:after {
    height: 210px;
  }
}
@supports (object-fit: cover) {
  .hero .media-wrap img,
  .hero .media-wrap video {
    display: block;
    height: 100% !important;
    object-fit: cover;
    width: 100% !important;
  }
}
.hero .video-play-pause-button {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  bottom: 15px;
  right: 15px;
  border: none;
  cursor: pointer;
  padding: 0px;
  position: absolute;
  z-index: 5;
}
.hero .video-play-pause-button.playing .icon.play {
  display: none;
}
.hero .video-play-pause-button.playing .icon.pause {
  display: flex;
}
.hero .content-wrap {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .hero .content-wrap {
    bottom: -1.25em;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .hero .content-wrap .content {
    width: 70%;
  }
}
@media only screen and (min-width: 980px) {
  .hero .content-wrap .content {
    width: 60%;
  }
}
@media only screen and (min-width: 1140px) {
  .hero .content-wrap .content {
    width: 50%;
  }
}
.hero .content-wrap .content h2 {
  color: #fff;
  font-size: 3em;
  line-height: 1.1em;
  margin-bottom: 0.5em;
  margin-left: 35px;
  position: relative;
  z-index: 3;
}
@media only screen and (min-width: 768px) {
  .hero .content-wrap .content h2 {
    margin-bottom: 0.25em;
    font-size: 3.5em;
  }
}
@media only screen and (min-width: 980px) {
  .hero .content-wrap .content h2 {
    font-size: 3.75em;
  }
}
@media only screen and (min-width: 1140px) {
  .hero .content-wrap .content h2 {
    font-size: 4em;
    margin-left: 0;
  }
}
@media only screen and (min-width: 1600px) {
  .hero .content-wrap .content h2 {
    font-size: 4.5em;
  }
}
.hero .content-wrap .content h2 .shape {
  border-radius: 15px 0 0 0;
  height: 120px;
  position: absolute;
  width: 120px;
  z-index: -1;
}
@media only screen and (min-width: 1140px) {
  .hero .content-wrap .content h2 .shape {
    height: 175px;
    width: 175px;
  }
}
@media only screen and (min-width: 1600px) {
  .hero .content-wrap .content h2 .shape {
    height: 200px;
    width: 200px;
  }
}
.hero .content-wrap .content h2 .shape.shape1 {
  background: #ffcd00;
  opacity: 0.5;
  left: -0.2em;
  top: 0;
}
.hero .content-wrap .content h2 .shape.shape2 {
  background: #0072ce;
  left: -0.5em;
  top: -0.3em;
}
.hero .content-wrap .content p {
  color: #fff;
  font-size: 1.6em;
  line-height: 1.2em;
  margin: 0;
}
.hero .content-wrap .content .link-wrap {
  margin-top: 2em;
}
@media only screen and (min-width: 1140px) {
  .hero .content-wrap .content .btn {
    font-size: 20px;
  }
}
.hero .content-wrap .content .btn:before {
  background-color: #0072ce;
}
@media only screen and (max-width: 767px) {
  .home .hero:first-child {
    padding-top: 6.5em;
  }
}
