/* ------------------- */
/* STYLESHEET SECTIONS */
/* ------------------- */
/*  1__CSS Resets
    2__Layout helpers
    3__Header
    4__Main content
    5__Footer
    6__Typo3 overrides
   7__Bootstrap overrides
    8__Media queries
*/
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700');

/* ------------------------ */
/* 1__CSS Resets            */
/* ------------------------ */
/* Limited CSS reset */
/* See normalize-4.1.1.css */

html, body, button, input, select, textarea {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  color: #1C3564;
}

html {
  height: 100%;
  font-size: 16px;
}

body {
  font-size: 1.12rem;
  min-height: 100%;
  margin: 0;
  padding: 0;
  color: #1C3564;
}

/* ------------------ */
/* 2__Layout helpers  */
/* ------------------ */
.clear {
  clear: both;
}

.clearfix {
  zoom: 1;
}

.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

.halign-l {
  text-align: left;
}

.halign-r {
  text-align: right;
}

.halign-c {
  text-align: center;
}

.valign-t {
  vertical-align: top;
}

.valign-m {
  vertical-align: middle;
}

.valign-b {
  vertical-align: bottom;
}

.valign-helper {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.valigned-content {
  display: inline-block;
  vertical-align: middle;
  text-transform: uppercase;
}

.u-case {
  text-transform: uppercase;
}

.css-table {
  display: table;
  width: 100%;
  table-layout: fixed;
}

/* Use this over .css-table in cases where you want the table to take up 100% of the parent's height. An example use
case would be where you want to vertically center overlaid text on a background image. The background image would be part
of the parent, the text component would be a child inside of a block with a "display: table-cell" CSS property.
 */
.wrapper-table {
  display: table;
  width: 100%;
  height: 100%;
  table-layout: fixed;
}

.css-table-row {
  display: table-row;
}

.css-table-cell {
  display: table-cell;
}

.flex-center {
  justify-content: center;
  align-items: center;
}

.full-width-img {
  width: 100%;
  height: auto;
  display: block;
}

.img-width-auto {
  max-width: 100%;
  width: auto;
  height: auto;
}

.constrain {
  width: 1000px;
  margin: 0 auto;
}

.constrain-1000w {
  position: relative;
  max-width: 1030px;
  margin: 0 auto;
}

.constrain-1240w {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
}

.constrain-1600w {
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
}

.constrain-1920w {
  width: 1920px;
  margin: 0 auto;
}

.inner_cbQuickGoogleMap {
  max-width: 100% !important;
  width: 100% !important;
}

/* ----------------------------- */
/* Bootstrap full height columns */
/* ----------------------------- */
/* Full height Bootstrap row */
/* Requires the following HTML structure
            <div class="row">
               <div class="bs-row-full-height">
                <div class="col-xs-6 bs-col-full-height">
                  <div class="bs-col-inside">
                    Your content in here
                  </div>
                </div>
              </div>
            </div>
*/
.bs-row-full-height {
  display: table;
  width: 100%;
  height: 100%;
  table-layout: fixed;
}

/* Full height Bootstrap column */
.bs-col-full-height {
  display: table-cell;
  float: none;
  height: 100%;
}

/* Column internal container for full height Bootstrap column */
.bs-col-inside {
  margin-top: 1px;
  margin-bottom: 1px;
}

/* Responsive container for 16:9 video clips (eg Youtube). The video iframe should be a child of a div with a class of
  "video-container-16-9". If creating such a container is not possible because you don't have access to the HTML eg in
  a CMS content element, you can call the ICIT responsifyYoutubeClips() JavaScript function to do it programmatically.
*/
.video-container-16-9 {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.video-container-16-9 iframe,
.video-container-16-9 object,
.video-container-16-9 embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.polybox-bottom-0-0-100-0-100-100-0-7vw {
  /*-webkit-clip-path: polygon(0 0, 100% 0, 100% 96%, 0 83%);*/
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 7vw));
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 7vw));
}

.polybox-top-0-0-100-7vw-100-100-0-0 {
  /*-webkit-clip-path: polygon(0 0, 100% 7vw, 100% 96%, 0 83%);*/
  -webkit-clip-path: polygon(0 0, 100% 7vw, 100% 110%, 0 110%);
  clip-path: polygon(0 0, 100% 7vw, 100% 110%, 0 110%);
}

.polybox-top-bottom-0-0-100-7vw-100-100-0-7vw {
  /*-webkit-clip-path: polygon(0 0, 100% 7vw, 100% 96%, 0 83%);*/
  -webkit-clip-path: polygon(0 0, 100% 7vw, 100% 100%, 0 calc(100% - 7vw));
  clip-path: polygon(0 0, 100% 7vw, 100% 100%, 0 calc(100% - 7vw));
}

/* Responsive container for embedded Google Maps. The Youtube iframe should be a child of a div with a class of
  "gmap-container". If creating such a container is not possible because you don't have access to the HTML eg in
  a CMS content element, you can call the ICIT responsifyGoogleMaps() JavaScript function to do it programmatically.
  NOTE: The aspect ratio doesn't have to be 16:9. You could make it 4:3 by setting padding-bottom: 75.6%
*/
.gmap-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.gmap-container iframe, .gmap-container object, .gmap-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mobile {
  display: none;
}

.module-button {
  display: inline-block;
  margin-top: 10px;
  padding: 0.4rem 1.1rem;
  height: auto;
  width: auto;
  background-color: #FBB039;
  color: #fff !important;
  font-weight: bold;
  white-space: nowrap;
  transition: background-color 0.2s;
  text-align: center;
  text-decoration: none;
  border-radius: 50px;
}

.module-button:hover {
  background-color: #e9a335;
  text-decoration: none;
  color: #fff;
}

#top-header .module-button {
  font-size: 1.2em;
}

.mobile-only-block,
.mobile-only-inline {
  display: none;
}

.desktop-only-inline {
  display: inline-block;
}

.desktop-only-block {
  display: block;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

/* ------------------------ */
/* 3__Header styles         */
/* ------------------------ */
#top-header {
  position: relative;
  width: 100%;
  z-index: 100;

  background: #005cab; /* Old browsers */
  background: -moz-linear-gradient(top, #005cab 0%, #1c3564 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #005cab 0%, #1c3564 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #005cab 0%, #1c3564 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#005cab', endColorstr='#1c3564', GradientType=0); /* IE6-9 */
}

#top-header .header-logo {
  max-width: 240px;
  height: auto;
}

#header-row-1 {
  position: relative;
  padding-top: 22px;
}

#header-row-1 .header-row-1__inner {
  padding-bottom: 12px;
  background-image: linear-gradient(to right, #4f75a8 40%, rgba(255, 255, 255, 0) 20%);
  background-position: bottom;
  background-size: 6px 2px;
  background-repeat: repeat-x;
}

#header-row-2 {
  padding-bottom: 20px;
}

#header-row-1 .column-1 {
  width: 240px;
}

#header-row-1 .column-2 {
  text-align: right;
}

#top-header .header-tagline {
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
}

#top-header #menu {
  text-align: center;
}

#top-header .social-links {
  margin-top: 10px;
  color: #fff;
}

#top-header .social-links {
  /*display: flex;*/
  float: right;
  width: auto;
}

#top-header .social-links .in-desktop-header {
  /*flex: 1 1 auto;*/
  /*border-right: 2px solid white;*/
  /*padding-right: 15px;*/
  font-weight: bold;
}

#top-header .social-links .social-media-icons {
  /*flex: 1 1 auto;*/
  /*padding-left: 8px;*/
  line-height: 1;
}

#top-header .social-links .social-media-icons img {
  width: 24px;
  height: auto;
}


/* ------------------------ */
/* 4__Main Content          */
/* ------------------------ */
#top-hero-wrap {
  margin: 0 auto 40px;
  position: relative;
  z-index: 0;
}

#top-hero-wrap[class^="polybox"] {
  margin-bottom: 5px;
}

#top-hero-wrap .cover {
  width: 100%;
  padding: 250px 0 calc(250px + 3.5vw);
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
}

#top-hero-wrap .cover > img,
#top-hero-wrap .cover .ce-image img {
  display: none;
}

/* START object-fit:cover Fix for IE & IE Edge */
/* Note, requires JS to write the "compat-object-fit class to appropriate container element */
.cover.compat-object-fit {
  background-size: cover;
  background-position: center center;
}

.cover.compat-object-fit-x-left {
  background-size: cover;
  background-position-x: left;
}

.cover.compat-object-fit-x-center {
  background-size: cover;
  background-position-x: center;
}

.cover.compat-object-fit-x-right {
  background-size: cover;
  background-position-x: right;
}

.cover.compat-object-fit-y-top {
  background-size: cover;
  background-position-y: top;
}

.cover.compat-object-fit-y-center {
  background-size: cover;
  background-position-y: center;
}

.cover.compat-object-fit-y-bottom {
  background-size: cover;
  background-position-y: bottom;
}

/* Hide the image if object fit is not supported in IE/Edge - opacity to 0 for the link area */
.cover.compat-object-fit img {
  opacity: 0;
}

/* END object-fit:cover Fix for IE & IE Edge */

#top-hero-wrap .hero-text {
  padding-left: 5px;
}

#top-hero-wrap .hero-text-large {
  margin-bottom: 10px;
  color: #fff;
  font-size: 3.7em;
  font-weight: 300;
  line-height: 1;
}

#top-hero-wrap .hero-text-small {
  color: #fff;
  font-size: 2.1em;
  font-weight: 300;
  line-height: 1.25;
}

#top-hero-wrap .hero-text .btn {
  margin-top: 22px;
  font-size: 1.1em;
}

#top-hero-wrap .hero-img-scroll-down-btn {
  position: absolute;
  bottom: 5.5vw;
  left: 50%;
  transform: translateX(-50%);
}

img {
  max-width: 100%;
  height: auto;
}

hr {
  border-top: 1px solid #eee;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  color: #1C3564;
}

h1 {
  font-size: 1.9em;
}

h2 {
  font-size: 1.9em;
}

.section-style-2 h2 {
  color: #f05a28;
}

h3 {
  font-size: 1.55em;
}

.section-style-2 h3 {
  color: #f05a28;
}

a,
a:visited,
a:hover,
a:active,
a:focus {
  color: #FBB039;
  text-decoration: underline;
  transition: all 0.2s;
}

a:hover,
a:active,
a:focus {
  text-decoration: none;
}

a.btn {
  text-decoration: none;
  transition: background-color 1.2s;
}

.grey-bg {
  background-color: #eee;
}

.blue-gradient-bg {
  background: #005cab; /* Old browsers */
  background: -moz-linear-gradient(top, #005cab 0%, #1c3564 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #005cab 0%, #1c3564 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #005cab 0%, #1c3564 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#005cab', endColorstr='#1c3564', GradientType=0); /* IE6-9 */
}

.blue-gradient-bg h1,
.blue-gradient-bg h2,
.blue-gradient-bg h3,
.blue-gradient-bg h4,
.blue-gradient-bg h5,
.blue-gradient-bg h6,
.blue-gradient-bg p,
.blue-gradient-bg li {
  color: #fff;
}

.cols ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.cols:not(.blog-layout) ul:not(.f3-widget-paginator) > li {
  background: url('../images/bullet-tickmark.png') no-repeat left 4px / 20px 20px;
  padding-left: 30px;
  padding-top: 0;
  display: block;
  margin-bottom: 8px;
}

.pagination > .page-item.active .page-link {
  background-color: #20376d;
  border-color: #20376d;
}

.pagination > li > a {
  color: #20376d;
  background-color: #fff;
  border: 1px solid #ddd;
  text-decoration: none;
}

.pagination > .page-item.active.disabled .page-link {
  color: #fff;
}

div[class*="polybox-top"] {
  position: relative;
  padding-top: 170px;
  padding-bottom: 40px;
  margin-top: 38px;
  z-index: 2;
}

.cols-100,
.cols-50-50,
.cols-66-33,
.cols-33-66 {
  margin-bottom: 20px;
}

.cols-50-50 img,
.cols-66-33 img,
.cols-33-66 img {
  width: 100%;
}

.cols-50-50 .column-1,
.cols-50-50 .column-2,
.cols-66-33 .column-1,
.cols-66-33 .column-2,
.cols-33-66 .column-1,
.cols-33-66 .column-2 {
  margin-bottom: 20px;
}

.cols h1:first-child,
.cols h2:first-child,
.cols h3:first-child,
.cols h4:first-child,
.cols p:first-child {
  margin-top: 0;
}

.cols.cols-66-33 {
  height: auto;
  overflow: hidden;
}

.page-section-link-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

blockquote {
  margin-left: 32px;
  padding-top: 30px;
  background: url('../images/quote_mark.png') top left / 32px 24px;
  background-repeat: no-repeat;
  min-height: 30px;
  font-size: 1.3em;
  font-weight: 300;
}

.special-header-button-wrap.center {
  text-align: center;
}

/* START: Wide image container block */
.wide-img-container {
  position: relative;
  background-color: #f1f2f2;
  z-index: 1;
}

.wide-img-container .ce-image {
  overflow: visible;
}

.wide-img-container.no-content-force {
  height: 553px;
}

.wide-img-container > div {
  position: relative;
}

.wide-img-container .cover {
  width: 100%;
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  display: table !important;
}

.wide-img-container.content-force .cover {
  padding-top: 200px;
}

.wide-img-container.no-content-force .cover {
  position: absolute;
}

.wide-img-container.content-force .cover img {
  display: none;
}

.wide-img-container.no-content-force .cover img {
  width: 100%;
  height: 553px;
  background-color: #444;
  object-fit: cover
}

/* START object-fit:cover Fix for IE & IE Edge */
/* Note, requires JS to write the "compat-object-fit class to appropriate container element */
.wide-img-container .compat-object-fit-top {
  background-size: cover;
  background-position: center top;
}

.wide-img-container .compat-object-fit-center {
  background-size: cover;
  background-position: center center;
}

.wide-img-container .compat-object-fit-bottom {
  background-size: cover;
  background-position: center bottom;
}

/* Hide the image if object fit is not supported in IE/Edge - opacity to 0 for the link area */
.wide-img-container .compat-object-fit-top img,
.wide-img-container .compat-object-fit-center img,
.wide-img-container .compat-object-fit-bottom img {
  opacity: 0;
}

.wide-img-container .img-overlay-wrapper {
  padding-left: 15px;
  padding-right: 15px;
}

.wide-img-container .img-overlay-content {
  padding: 40px;
  bottom: -65px;
  margin-bottom: -60px;
  background: #fff;
  width: 565px;
}

.wide-img-container blockquote {
  margin-left: 0;
}

/* END: Wide image container block */

#page-scroll-to-section-1,
#page-scroll-to-section-2 {
  padding-top: 120px;
  padding-bottom: 140px;
}

.blue-content-block *,
.blue-curved-content-block * {
  color: #fff;
}

.blue-content-block,
.blue-curved-content-block {
  position: relative;
  z-index: 0;
  padding-top: 55px;
  padding-bottom: 25px;
  margin-bottom: 30px;

  background: #005cab; /* Old browsers */
  background: -moz-linear-gradient(top, #005cab 0%, #1c3564 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #005cab 0%, #1c3564 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #005cab 0%, #1c3564 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#005cab', endColorstr='#1c3564', GradientType=0); /* IE6-9 */
}

.blue-content-block {
  padding-top: 30px;
  margin-bottom: 0;
}

/*
body[data-page-id="7"] .blue-content-block {
  display: none;
}
*/

.blue-content-block .user-content-wrap,
.blue-curved-content-block .user-content-wrap {
  z-index: 1;
}

.blue-curved-content-block h2 {
  margin-bottom: .5em;
  background: url(../images/arrow-right.png) no-repeat 0 6px / 29px 29px;
  padding-left: 45px;
  font-weight: 700;
}

.blue-curved-content-block .bottom-swish {
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  bottom: -1px;
  background: url(../images/bottom_swish.png) no-repeat 0 100% / 100% auto;
}

.light-grey-content-block {
  /*margin-top: -30px;*/ /* REINSTATE THIS WHEN TURN BACK ON THE BLUE CONTENT BLOCK FOR FILE DOWNLOADS */
  padding-top: 40px;
  padding-bottom: 30px;
  background: #ececec;
}

.light-grey-content-block.extra-pad-top {
  padding-top: 105px;
}

.light-grey-content-block.extra-pad-top .cols-50-50,
.light-grey-content-block.extra-pad-top .cols-50-50 .column-2 {
  margin-bottom: 0;
}

.nav-tabs.tabbed-content-buttons {
  border: none;
  justify-content: space-between;
}

.nav-tabs.tabbed-content-buttons li {
  position: relative;
  width: 19%;
  margin-bottom: 15px;
}

.nav-tabs.tabbed-content-buttons.four-buttons li {
  width: 24%;
}

.nav-tabs.tabbed-content-buttons li.active:after {
  content: url(../images/arrow_down_white.png);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.tabbed-content-buttons a.btn,
.tabbed-content-buttons a.btn:not(:disabled):not(.disabled).active,
.tabbed-content-buttons a.btn:not(:disabled):not(.disabled):active {
  color: #fff;
  border: 1px solid #cde0ff;
  background: #8EA4CE;
  transition: background-color 0s;
  width: 100%;
}

.tabbed-content-buttons a.btn.focus,
.tabbed-content-buttons a.btn:focus {
  box-shadow: none;
}

.tabbed-content-buttons li a.active.btn,
.tabbed-content-buttons li a.active.btn:not(:disabled):not(.disabled).active,
.tabbed-content-buttons li a.active.btn:not(:disabled):not(.disabled):active {
  background: #fb9453; /* Old browsers */
  background: -moz-linear-gradient(top, #fb9453 0%, #f25d2b 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #fb9453 0%, #f25d2b 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #fb9453 0%, #f25d2b 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fb9453', endColorstr='#f25d2b', GradientType=0); /* IE6-9 */
  border: 1px solid #fbdfc6;
}

.tabbed-content-buttons li a.btn:hover {
  background: #fb9453; /* Old browsers */
  background: -moz-linear-gradient(top, #fb9453 0%, #f25d2b 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #fb9453 0%, #f25d2b 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #fb9453 0%, #f25d2b 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fb9453', endColorstr='#f25d2b', GradientType=0); /* IE6-9 */
  border: 1px solid #fbdfc6;
}

.downloadable-guides {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-column-gap: 35px;
  grid-row-gap: 45px;
}

.downloadable-guides .item img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

.downloadable-guides .item p.label {
  margin-top: 8px;
  margin-bottom: 0;
}

.wide-img-container .ce-image .ce-outer {
  float: none;
  right: inherit;
}

.wide-img-container .ce-image .ce-inner {
  float: none;
  right: inherit;
}

/***
=====================================================================
  Gallery Cards
=====================================================================
***/

.gallery-cards {
  margin-top: 30px;
}

.gallery-cards .flex-row .thumbnail {
  padding: 10px;
  text-align: center;
  border-radius: 0;
  position: relative;
}

.gallery-cards .flex-row .thumbnail,
.gallery-cards .flex-row .caption {
  flex: 1 0 auto;
  flex-direction: column;
  padding-bottom: 5px;
}

.gallery-cards .row > .col-sm-2 {
  display: none;
}

.gallery-cards .flex-row .thumbnail.has-link,
.gallery-cards .flex-row .thumbnail.has-link .caption {
  padding-bottom: 40px;
}

.gallery-cards .caption .position-1,
.gallery-cards .caption .position-2 {
  margin-bottom: 0;
  font-weight: 700;
}

.gallery-cards .thumbnail .card-header {
  margin: 0;
  padding: 3px 15px 3px;
  z-index: 1;
  font-size: 1.33em;
  font-weight: 300;
  position: relative;
  background: none;
  border-bottom: none;
}

.gallery-cards .thumbnail .content-box .text {
  font-size: .9em;
}

.gallery-cards .thumbnail .content-box a.btn {
  bottom: 15px;
  position: absolute;
  margin: 0 auto;
  left: 50%;
  transform: translateX(-50%);
}

.gallery-cards .module-button {
  margin-top: 15px;
  margin-bottom: 10px;
  color: #fff;
}

.gallery-cards .thumbnail .image-box img {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 200px;
  height: auto;
  border-radius: 100px;
}

.gallery-cards .thumbnail .image-box {
  position: relative;
  overflow: hidden;
}

.gallery-cards .thumbnail:hover .image-box:before {
  left: 0;
  top: 0;
}

.gallery-cards .thumbnail:hover .image-box:after {
  right: 0;
  bottom: 0;
}

/* ----------------------------- */
/* START: Mailchimp form styling */
#mc_embed_signup {
  background: none;
}
#mc_embed_signup label {
  font-size: 0.85em;
  font-weight: bold;
  color: #fff;
}

#mc_embed_signup .mc-field-group input {
  padding: 6px 0;
}
#mc_embed_signup input {
  border: none;
  border-radius: .4rem;
}
#mc_embed_signup input[type="email"],
#mc_embed_signup input[type="text"] {
  /*border: 1px solid #ced4da;*/
  border-radius: .25rem;
}

#mc-embedded-subscribe {
  margin: 1em 0 .5em;
  padding: 9px 15px;
  border-radius: .4rem;
  border: none;
}

#mc_embed_signup .asterisk {
  color: #fff;
}
/* END: Mailchimp form styling */
/* --------------------------- */


/* ------------------------ */
/* 5__Footer Content        */
/* ------------------------ */
footer {
  padding: 25px 0;
  color: #fff;
  background: #005cab; /* Old browsers */
  background: -moz-linear-gradient(top, #005cab 0%, #1c3564 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #005cab 0%, #1c3564 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #005cab 0%, #1c3564 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#005cab', endColorstr='#1c3564', GradientType=0); /* IE6-9 */
}

footer * {
  line-height: 1.5;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6 {
  color: #fff;
}

footer .contact-details {
  font-weight: 700;
}

footer .contact-details a {
  color: #fff !important;
  text-decoration: none;
}

footer .contact-details a:hover,
footer .contact-details a:focus,
footer .contact-details a:active {
  text-decoration: underline;
}

.footer-grid {
  display: flex;
  flex-direction: row;
}

.footer-grid .grid-cell {
  flex: 1 0 auto;
}

.footer-grid .cell-1 {
  text-align: left;
  flex: 0 0 220px;
  align-self: center;
}

.footer-grid .cell-2 {
  text-align: center;
  flex: 1 1 auto;
  align-self: center;
}

.footer-grid .cell-3 {
  text-align: right;
  flex: 0 0 220px;
  align-self: center;
  padding-left: 15px;
}

.footer-grid .footer-logo {
  width: 100%;
  max-width: 175px;
  height: auto;
}

.footer-tagline {
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
}

.social-media-icons a {
  text-decoration: none !important;
}

.social-media-icons .facebook {
  margin-right: 5px;
}

.social-media-icons .instagram {
  margin-left: 5px;
}

footer .social-media-icons img {
  width: 24px;
  height: auto;
}

/* ------------------------ */
/* 6__Typo3 Overrides       */
/* ------------------------ */
.ce-gallery figure {
  display: block;
}

.ce-gallery figcaption {
  display: block;
}

/* This fixes issues caused by Typo3 fluid layouts for our top hero image */
#top-hero-wrap .ce-gallery .ce-outer,
#top-hero-wrap .ce-gallery .ce-inner {
  width: 100%;
}

/* Typo3 overrides - fixes for IE 11 */
.ce-gallery,
.ce-column {
  max-width: 100%;
  width: 100% /* this is optional, but will allow the column to go full width in mobile view */
}

.ce-gallery img {
  max-width: 100%;
  height: auto;
}

.sponsor-logos-wrap .ce-gallery img {
  margin-bottom: 20px;
}

#top-hero-wrap .ce-intext.ce-right .ce-gallery,
#top-hero-wrap .ce-intext.ce-left .ce-gallery,
#top-hero-wrap .ce-above .ce-gallery {
  margin-bottom: 0;
}

/* Typo3 overrides for correct image height in #top-hero-wrap once inside of a flexslider */
#top-hero-wrap .flexslider {
  margin-bottom: 0;
  border: none;
}

#top-hero-wrap > div {
  height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider {
  height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider {
  height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides {
  height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides > li {
  height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides > li > div {
  height: 100%;
}

#top-hero-wrap > div .flexslider .slides img {
  width: inherit;
}

/* ------------------------ */
/* 7__Bootstrap Overrides   */
/* ------------------------ */
.btn {
  white-space: inherit;
  font-weight: 300;
  padding: 9px 15px;
  border-radius: .4rem;
}

.btn-primary {
  color: #fff;
  background: #fb9453; /* Old browsers */
  background: -moz-linear-gradient(top, #fb9453 0%, #f25d2b 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #fb9453 0%, #f25d2b 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #fb9453 0%, #f25d2b 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fb9453', endColorstr='#f25d2b', GradientType=0); /* IE6-9 */
  border: none;
}

.btn-primary:hover {
  color: #fff;
  background: #f25d2b; /* Old browsers */
  background: -moz-linear-gradient(top, #f25d2b 0%, #fb9453 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #f25d2b 0%, #fb9453 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #f25d2b 0%, #fb9453 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f25d2b', endColorstr='#fb9453', GradientType=0); /* IE6-9 */
  border: none;
}

.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background: #f25d2b; /* Old browsers */
  background: -moz-linear-gradient(top, #f25d2b 0%, #fb9453 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #f25d2b 0%, #fb9453 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #f25d2b 0%, #fb9453 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  outline: none;
  box-shadow: none;
}

.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background: #f25d2b; /* Old browsers */
  background: -moz-linear-gradient(top, #f25d2b 0%, #fb9453 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #f25d2b 0%, #fb9453 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #f25d2b 0%, #fb9453 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  box-shadow: none;
}

.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background: #f25d2b; /* Old browsers */
  background: -moz-linear-gradient(top, #f25d2b 0%, #fb9453 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #f25d2b 0%, #fb9453 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #f25d2b 0%, #fb9453 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  outline: none;
}

.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.show > .btn-primary.dropdown-toggle:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus,
.btn-secondary:not(:disabled):not(.disabled):active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: none;
}

a.btn-primary,
a.btn-secondary {
  color: #fff;
}

.btn-secondary {
  color: #fff;
  background: #025ba8; /* Old browsers */
  background: -moz-linear-gradient(top, #025ba8 0%, #1c3666 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #025ba8 0%, #1c3666 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #025ba8 0%, #1c3666 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#025ba8', endColorstr='#1c3666', GradientType=0); /* IE6-9 */
  border: none;
}

.btn-secondary:hover {
  color: #fff;
  background: #1c3666; /* Old browsers */
  background: -moz-linear-gradient(top, #1c3666 0%, #025ba8 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #1c3666 0%, #025ba8 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #1c3666 0%, #025ba8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1c3666', endColorstr='#025ba8', GradientType=0); /* IE6-9 */
  border: none;
}

.btn-secondary:focus,
.btn-secondary.focus {
  color: #fff;
  background: #1c3666; /* Old browsers */
  background: -moz-linear-gradient(top, #1c3666 0%, #025ba8 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #1c3666 0%, #025ba8 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #1c3666 0%, #025ba8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  outline: none;
  box-shadow: none;
}

.btn-secondary:active,
.btn-secondary.active,
.open > .dropdown-toggle.btn-secondary {
  color: #fff;
  background: #1c3666; /* Old browsers */
  background: -moz-linear-gradient(top, #1c3666 0%, #025ba8 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #1c3666 0%, #025ba8 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #1c3666 0%, #025ba8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  box-shadow: none;
}

.btn-secondary:active:hover,
.btn-secondary.active:hover,
.open > .dropdown-toggle.btn-secondary:hover,
.btn-secondary:active:focus,
.btn-secondary.active:focus,
.open > .dropdown-toggle.btn-secondary:focus,
.btn-secondary:active.focus,
.btn-secondary.active.focus,
.open > .dropdown-toggle.btn-secondary.focus,
.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active,
.show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background: #1c3666; /* Old browsers */
  background: -moz-linear-gradient(top, #1c3666 0%, #025ba8 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #1c3666 0%, #025ba8 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #1c3666 0%, #025ba8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  outline: none;
}

/* ------------------------ */
/* 8__Media Queries         */
/* ------------------------ */

@media only screen and (max-width: 2000px) {
  div[class*="polybox-top"] {
    padding-top: 130px;
    padding-bottom: 40px;
    margin-top: 38px;
  }
}

/* Large Devices, Wide Screens (Bootstrap col-lg-*) */
@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1050px) {
  #top-hero-wrap .cover {
    padding: 150px 0 calc(150px + 3.5vw);
  }

  #top-hero-wrap .hero-text-large {
    font-size: 2.775em;
  }

  #top-hero-wrap .hero-text-small {
    font-size: 1.575em;
  }
}

/* Medium Devices, Desktops (Bootstrap col-md-*) */
@media only screen and (max-width: 992px) {
}

@media only screen and (max-width: 979px) {
  #top-header #header-row-1 .column-2 {
    display: table-cell;
  }

  .downloadable-guides {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media only screen and (max-width: 950px) {
  #page-scroll-to-section-1, #page-scroll-to-section-2 {
    padding-top: 80px;
    padding-bottom: 0;
  }

  .wide-img-container .cover,
  .wide-img-container.content-force .cover {
    background: none !important;
    padding-top: 0;
  }

  .wide-img-container .cover img,
  .wide-img-container.content-force .cover img {
    display: block;
  }

  .wide-img-container .img-overlay-wrapper {
    padding-left: 0;
    padding-right: 0;
  }

  .wide-img-container .img-overlay-content {
    margin-left: 0;
    width: 100%;
    bottom: 0;
    margin-bottom: 0;
  }

  .light-grey-content-block.extra-pad-top {
    padding-top: 40px;
  }

  .blue-curved-content-block .bottom-swish {
    display: none;
  }

  .blue-content-block {
    padding-top: 35px;
  }

  .blue-curved-content-block {
    padding-top: 35px;
    padding-bottom: 0;
  }

  ul.nav-tabs.tabbed-content-buttons {
    margin-left: -15px;
    margin-right: -15px;
    display: block;
  }

  .nav-tabs.tabbed-content-buttons li,
  .nav-tabs.tabbed-content-buttons.four-buttons li {
    width: 100%;
    margin-bottom: 0;
  }

  .nav-tabs.tabbed-content-buttons li a.btn {
    border: none !important;
  }

  .tabbed-content-buttons li a.active.btn,
  .tabbed-content-buttons li a.active.btn:not(:disabled):not(.disabled).active,
  .tabbed-content-buttons li a.active.btn:not(:disabled):not(.disabled):active,
  .tabbed-content-buttons a.btn {
    border-radius: 0;
  }

  .tabbed-content-buttons a.btn,
  .tabbed-content-buttons a.btn:not(:disabled):not(.disabled).active,
  .tabbed-content-buttons a.btn:not(:disabled):not(.disabled):active {
    background: none;
  }

  .tabbed-content-buttons li a.btn {
    border-radius: 0 !important;
  }

  .tabbed-content-buttons li {
    border-top: 1px solid #fff;
  }

  .nav-tabs.tabbed-content-buttons li.active:after {
    display: none;
  }

  .tabbed-content-buttons li:last-child {
    border-bottom: 1px solid #fff;
  }
}

@media only screen and (max-width: 900px) {
  h1 {
    font-size: 1.615em;
  }

  h2 {
    font-size: 1.615em;
  }

  h3 {
    font-size: 1.4875em;
  }

  .blue-content-block h2,
  .blue-curved-content-block h2 {
    margin-bottom: .5em;
    background: url(../images/arrow-right.png) no-repeat 0 5px / 25px 25px;
    padding-left: 35px;
    font-weight: 700;
  }
}

@media only screen and (max-width: 800px) {
  #header-row-1 {
    padding-top: 10px;
  }

  #header-row-1 .header-row-1__inner {
    background: none;
    padding-bottom: 12px;
  }

  #top-header .header-tagline,
  #top-header .social-links {
    display: none;
  }

  #top-header .social-links .in-desktop-header {
    display: none;
  }

  #top-header .social-links .social-media-icons img {
    width: 30px;
    height: auto;
  }

  #top-header #header-row-1 .column-2 {
    vertical-align: bottom;
  }

  #header-row-2 {
    padding-bottom: 0;
  }

  div[class*="polybox-top"] {
    padding-top: 100px;
    margin-top: 38px;
  }

  .footer-grid {
    flex-direction: column;
  }

  .footer-grid .cell-1,
  .footer-grid .cell-2,
  .footer-grid .cell-3 {
    flex: 1 1 auto;
    text-align: center;
  }

  .footer-grid .grid-cell.cell-1 {
    padding-bottom: 20px;
  }

  .footer-grid .grid-cell.cell-2 {
    padding-bottom: 20px;
  }

  .footer-grid .contact-details .email {
    padding-bottom: 20px;
  }
}

/* Small Devices, Tablets (Bootstrap col-sm-*) */
@media only screen and (max-width: 767px) {
  #top-hero-wrap .hero-img-scroll-down-btn {
    position: absolute;
    bottom: 6.5vw;
  }
}

@media only screen and (max-width: 660px) {
  #site-body > .cols {
    margin-top: 20px;
  }

  #top-hero-wrap .hero-text-large {
    font-size: 2.08125em;
    line-height: 1.1;
  }

  #top-hero-wrap .hero-text-small {
    font-size: 1.18125em;
  }


  .downloadable-guides {
    grid-template-columns: 1fr 1fr;
  }
}

@media only screen and (max-width: 590px) {
  #header-row-1 > div {
    vertical-align: middle;
  }

  #top-hero-wrap .cover {
    padding: 90px 0 calc(90px + 3.5vw);
  }

  #top-hero-wrap .hero-img-scroll-down-btn {
    position: absolute;
    bottom: 8vw;
  }

  #top-hero-wrap .hero-img-scroll-down-btn img {
    width: 29px;
    height: auto;
  }

  div[class*="polybox-top"] {
    padding-top: 80px;
  }

  .wide-img-container .img-overlay-content {
    padding: 20px;
  }
}

/* Extra Small Devices, Phones (Bootstrap col-*) */
@media only screen and (max-width: 575px) {
  .gallery-cards .column:not(:last-child) {
    margin-bottom: 30px;
  }
}

@media only screen and (min-width: 481px) {
  .flex-row.row {
    display: flex;
    flex-wrap: wrap;
  }

  .flex-row.row > [class*='col-'] {
    display: flex;
    flex-direction: column;
  }

  .flex-row.row:after,
  .flex-row.row:before {
    display: flex;
  }
}

@media only screen and (max-width: 480px) {
  body {
    font-size: 1rem;
  }

  #header-row-1 .column-1 {
    width: 160px;
  }

  #top-header .header-logo {
    max-width: 100%;
  }

  .desktop-only-block,
  .desktop-only-inline {
    display: none;
  }

  .mobile-only-inline {
    display: inline-block;
  }

  .mobile-only-block {
    display: block;
  }
}

/* Custom, iPhone Retina */
@media only screen and (max-width: 320px) {

}