/*
Theme Name: CGK
Author: Glass Mountains Digital
Version: 1.0
*/


@font-face {
    font-family: "Gotham";
    src: url("webfonts/Gotham-Book.eot");
    src: local("Gotham-Book"),
        url("webfonts/Gotham-Book.eot?#iefix") format("embedded-opentype"),
        url("webfonts/Gotham-Book.woff2") format("woff2"),
        url("webfonts/Gotham-Book.woff") format("woff"),
        url("webfonts/Gotham-Book.ttf") format("truetype"),
        url("webfonts/Gotham-Book.svg#Gotham-Book") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: "Gotham";
    src: url("webfonts/Gotham-Medium.eot");
    src: local("Gotham-Medium"),
        url("webfonts/Gotham-Medium.eot?#iefix") format("embedded-opentype"),
        url("webfonts/Gotham-Medium.woff2") format("woff2"),
        url("webfonts/Gotham-Medium.woff") format("woff"),
        url("webfonts/Gotham-Medium.ttf") format("truetype"),
        url("webfonts/Gotham-Medium.svg#Gotham-Medium") format("svg");
    font-weight: 500;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: "Gotham";
    src: url("webfonts/Gotham-Bold.eot");
    src: local("Gotham-Bold"),
        url("webfonts/Gotham-Bold.eot?#iefix") format("embedded-opentype"),
        url("webfonts/Gotham-Bold.woff2") format("woff2"),
        url("webfonts/Gotham-Bold.woff") format("woff"),
        url("webfonts/Gotham-Bold.ttf") format("truetype"),
        url("webfonts/Gotham-Bold.svg#Gotham-Bold") format("svg");
    font-weight: 700;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'Gotham';
    src: url('webfonts/gothambold-webfont.woff2') format('woff2'),
         url('webfonts/gothambold-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "Gotham";
    src: url("webfonts/Gotham-Black.eot");
    src: local("Gotham-Black"),
        url("webfonts/Gotham-Black.eot?#iefix") format("embedded-opentype"),
        url("webfonts/Gotham-Black.woff2") format("woff2"),
        url("webfonts/Gotham-Black.woff") format("woff"),
        url("webfonts/Gotham-Black.ttf") format("truetype"),
        url("webfonts/Gotham-Black.svg#Gotham-Black") format("svg");
    font-weight: 900;
    font-style: normal;
    font-display: block;
}


* {
vertical-align: baseline;
border: 0 none;
outline: 0;
padding: 0;
margin: 0;
}
body {
font-family: "Gotham", "Poppins", Arial, Helvetica, sans-serif;
font-size: 18px;
font-weight: 400;
color: #001F59;
background: #fff;
-webkit-text-size-adjust: none;
-ms-text-size-adjust: none;
}


/* Canvas Layout
....................................................................... */
#site-wrapper {
position: relative;
overflow: hidden;
width: 100%;
}
#site-canvas {
float: left;
width: 100%;
height: 100%;
position: relative;
-webkit-transform: none;
transform: none;
-o-transform: none;
-ms-transform: none;
-webkit-transition: 0.2s ease all;
-o-transition: 0.2s ease all;
transition: 0.2s ease all;
-ms-transition: 0.2s ease all;
}
#site-left {
float: left;
width: 250px;
height: 100%;
position: absolute;
top: 0;
left: -251px;
border-right: 1px solid #000;
background: #000;
overflow: hidden;
}
#site-right {
float: left;
width: 250px;
height: 100%;
position: absolute;
top: 0;
right: -251px;
border-left: 1px solid #000;
background: #222;
overflow: hidden;
z-index: 999;
}
#site-wrapper.show-left #site-canvas {
-webkit-transform: translateX(250px);
transform: translateX(250px);
-o-transform: translateX(250px);
-ms-transform: translateX(-250px);
}
#site-wrapper.show-right #site-canvas {
-webkit-transform: translateX(-250px);
transform: translateX(-250px);
-o-transform: translateX(-250px);
-ms-transform: translateX(-250px);
}
@media screen and (min-width: 1024px) {
	#site-wrapper #site-canvas,
	#site-wrapper.show-left #site-canvas,
	#site-wrapper.show-right #site-canvas {
	-webkit-transform: none !important;
	-ms-transform: none !important;
	transform: none !important;
	}
}



/* Page Layout
....................................................................... */
.page-wrap_top {
position: fixed;
float: left;
width: 100%;
background: #001F59;
z-index: 99;
}
.page-wrap_content {
position: relative;
clear: both;
float: left;
width: 100%;
padding: 130px 0 0 0;
}
.page-wrap_footer {
clear: both;
float: left;
width: 100%;
background: #2B4CA0;
}
.center {
clear: both;
text-align: left;
max-width: 1200px !important;
width: 94%;
margin: 0 auto;
}
.row:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.row {
display: inline-block;
}
html[xmlns] .row {
display: block;
}
* html .row {
height: 1%;
}
@media screen and (max-width: 767px) {
	.page-wrap_content {
	padding: 140px 0 0 0;
	}
}


/* Grid
....................................................................... */
.span1 {
float: left;
width: 5.125%;
margin: 0 3.5% 0.75em 0;
}
.span2 {
float: left;
width: 13.75%;
margin: 0 3.5% 0.75em 0;
}
.span3 {
float: left;
width: 22.375%;
margin: 0 3.5% 0.75em 0;
}
.span4 {
float: left;
width: 31%;
margin: 0 3.5% 0.75em 0;
}
.span5 {
float: left;
width: 39.625%;
margin: 0 3.5% 0.75em 0;
}
.span6 {
float: left;
width: 48.25%;
margin: 0 3.5% 0.75em 0;
}
.span7 {
float: left;
width: 56.875%;
margin: 0 3.5% 0.75em 0;
}
.span8 {
float: left;
width: 65.5%;
margin: 0 3.5% 0.75em 0;
}
.span9 {
float: left;
width: 74.125%;
margin: 0 3.5% 0.75em 0;
}
.span10 {
float: left;
width: 82.75%;
margin: 0 3.5% 0.75em 0;
}
.span11 {
float: left;
width: 91.375%;
margin: 0 3.5% 0.75em 0;
}
.span12 {
float: left;
width: 100%;
margin: 0 0 0.75em 0;
}
.page-wrap_content > .center > .row > .span12:last-child {
margin: 0;
}
.span1.last,
.span2.last,
.span3.last,
.span4.last,
.span5.last,
.span6.last,
.span7.last,
.span8.last,
.span9.last,
.span10.last,
.span11.last {
margin: 0;
}
@media screen and (max-width: 1023px) {
	.span1,
	.span2,
	.span3,
	.span4,
	.span5,
	.span6,
	.span7,
	.span8,
	.span9,
	.span10,
	.span11,
	.span12 {
	float: none;
	clear: both;
	width: 100%;
	margin-right: 0;
	}
}


/* Globals
....................................................................... */
p {
font-size: 1.075em;
line-height: 1.6em;
margin: 0 0 1.25em 0;
word-wrap: break-word;
}
pre {
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
line-height: 1.5em;
padding: 0.5em 0 0 0;
margin: 0 0 1.5em 0;
overflow-x: auto;
}
a {
color: #2b4ca0;
text-decoration: underline;
transition: all 0.2s;
}
a:hover,
a:focus {
color: #001f59;
}
h1 {
font-size: 60px;
font-weight: 900;
line-height: 1.2em;
margin: 0 0 0.75em 0;
}
h2 {
font-size: 50px;
font-weight: 900;
line-height: 1.25em;
margin: 0 0 0.75em 0;
}
h3 {
font-size: 33px;
font-weight: 700;
line-height: 1.25em;
margin: 0 0 0.9em 0;
}
h4 {
font-size: 25px;
font-weight: 600;
line-height: 1.4em;
margin: 0 0 1.1em 0;
}
h5 {
font-size: 18px;
font-weight: 700;
line-height: 1.5em;
margin: 0 0 1.2em 0;
}
strong {
font-weight: 700;
}
img {
max-width: 100%;
height: auto !important;
}
img,
img a {
border: 0;
text-decoration: none;
}
ol {
font-size: 1.075em;
margin: 0 0 0.75em 25px;
}
ol li {
margin: auto;
line-height: 1.6em;
padding: 0 0 0.75em 5px;
margin-left: 0;
}
ul {
font-size: 1.075em;
padding: 0;
margin: 0 0 0.75em 0;
list-style: none;
}
ul li {
position: relative;
margin: auto;
list-style: none;
line-height: 1.6em;
padding: 0 0 0.5em 15px;
margin: 0 0 0 0;
}
ul li:before {
position: absolute;
top: 0.25em;
left: 0;
font-family: "Font Awesome 5 Free";
content: '\f111';
font-weight: 900;
font-size: 6px;
color: #001f59;
}
li ul {
margin: 0.5em 0 0 0;
}
li ul li:last-child {
padding-bottom: 0.25em;	
}
.textcenter ul {
margin-left: 0;
}
.textcenter ul li:before {
position: relative;
top: -5px;
left: -10px;
display: inline-block;
width: 10px;
height: 5px;
}
hr {
clear: both;
border: 0;
border-bottom: 1px solid #ccc;
background: transparent;
height: 1px;
margin: 30px 0 30px 0;
}
hr.wp-block-separator {
border: 0;
border-bottom: 1px solid #ccc !important;
}
blockquote {
border: 1px solid #ccc;
padding: 40px 5%;
margin: 0 0 25px 0;
}
blockquote p:last-of-type {
margin: 0;
}
blockquote cite {
display: inline-block;
text-transform: uppercase;
font-style: normal;
font-size: 0.75em;
padding-top: 20px;
}
figcaption {
font-size: 0.8em;
color: #5c5c5c;
padding: 0 0 10px 0;
}
.hidden {
position: absolute;
top: -9999px;
left: -9999px;
}
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.clearfix {
display: inline-block;
}
html[xmlns] .clearfix {
display: block;
}
* html .clearfix {
height: 1%;
}
.clear {
clear: both;
}
.floatleft {
float: left;
}
.floatright {
float: right;
}
.alignleft {
float: left;
margin: 0 15px 5px 0;
}
.alignright {
float: right;
margin: 0 0 5px 15px;
}
.textcenter,
.aligncenter {
text-align: center;
}
img.aligncenter {
display: block;
margin: 0 auto 15px auto;
}
.nomargin {
margin: 0 !important;
}
.nopadding {
padding: 0 !important;
}
a.cta {
display: flex;
align-items: center;
text-decoration: none;
text-align: center;
color: #001f59;
background: #f7993a;
border: 2px solid #f7993a;
padding: 10px 16px;
margin: 0;
border-radius: 2px;
}
a.cta:has(em) {
padding: 6px 16px;
}
a.cta:hover {
background: #fff;
}
a.cta .cta_text {
flex: 1 0 calc(100% - 30px);
padding: 0 20px 0 15px;
box-sizing: border-box;
}
a.cta strong {
display: block;
font-size: 1em;
}
a.cta em {
font-size: 0.7em;
font-style: normal;
}
a.cta i {
font-size: 1.65em;
}
h1 span.tm {
font-size: 0.5em;
display: inline-block;
vertical-align: top;
margin: -0.35em 0 0 -1px;
}
@media (max-width: 1023px) {
	.hidemobile {
	display: none;
	}
}
@media screen and (max-width: 767px) {
	p,
	ul,
	ol {
	font-size: 0.95em;
	}
	h1 {
	font-size: 2em;
	letter-spacing: -0.01em;
	}
	h2 {
	font-size: 1.5em;
	letter-spacing: -0.01em;
	}
	h3 {
	font-size: 1.35em;
	}
	h4 {
	font-size: 1.2em;
	}
	h5 {
	font-size: 1em;
	}
	hr {
	margin: 10px 0 30px 0;
	}
	h2 img {
	/* FAQ heading icon */
	width: 21px !important;
	}
	a.cta strong {
	font-size: 0.9em;
	}
}
@media screen and (max-width: 479px) {
	h1 {
	font-size: 1.65em;
	}
}


/* Forms
....................................................................... */
form {
margin: 0 0 20px 0;
padding: 0;
}
fieldset {
border: 0;
padding: 0;
margin: 0;
}
legend {
color: #000;
font-size: 1.3em;
font-weight: normal;
padding: 0;
margin: 0 0 15px 0;
}
label {
display: block;
color: #001f59;
font-size: 0.9em;
font-weight: 600;
padding: 5px 0 10px 0;
}
input,
textarea,
select {
display: block;
color: #001f59;
width: 100%;
max-width: 800px;
font-size: 1em;
font-weight: normal;
font-family: "Montserrat", sans-serif;
background: #f7f7f7;
border: 1px solid #ccc;
padding: 15px 15px;
margin: 0 5px 20px 0;
border-radius: 3px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
input:focus,
textarea:focus {
color: #001f59;
border: 1px solid #888;
-webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
}
::-webkit-input-placeholder {
color: #888;
opacity: 1;
}
:-moz-placeholder {
/* Firefox 18- */
color: #888;
opacity: 1;
}
::-moz-placeholder {
/* Firefox 19+ */
color: #888;
opacity: 1;
}
:-ms-input-placeholder {
color: #888;
opacity: 1;
}
select {
line-height: 2.25em;
}
select option {
padding: 0 15px;
}
textarea {
overflow: auto;
overflow-x: hidden;
resize: none;
}
.radio,
.checkbox {
display: inline-block;
padding: 5px 15px 10px 0;
}
input[type="radio"],
input[type="checkbox"] {
display: inline-block;
width: auto !important;
padding: 0;
border: 0;
}
button,
input.submit,
input[type="submit"],
input[type="button"] {
width: auto;
font-size: 1em;
font-weight: 600;
line-height: 1.25em;
color: #001f59;
background: #f7993a;
border: 2px solid #f7993a;
padding: 15px 25px;
margin: 20px 0 10px 0;
border-radius: 2px;
transition: all 0.2s;
-webkit-appearance: none;
cursor: pointer;
}
button:hover,
input.submit:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
button:focus,
input.submit:focus,
input[type="submit"]:focus,
input[type="button"]:focus {
background: #fff;
}

.ninja-forms-all-fields-wrap {
border-top: 1px solid #ccc;
padding-top: 20px;
}
.nf-form-fields-required {
display: none;
}
.nf-field-label label {
font-weight: 600 !important;
}
.nf-form-content .grecaptcha-badge {
z-index: 10;
}
.nf-field-element textarea {
height: 120px !important;
}

.mb10 {
	margin-bottom: 0.5em;
}



/* Social Links
....................................................................... */
.socnet a {
display: inline-block;
vertical-align: top;
width: 40px;
height: 40px;
text-align: center;
color: #000;
background: #fff;
border-radius: 50%;
margin: 0 2px;
transition: all 0.2s;
}
.socnet a i {
position: relative;
font-size: 1.4em;
line-height: 40px;
z-index: 10;
}
.socnet a.tw i {
display: inline-block;
width: 20px;
height: 20px;
-webkit-mask: url(img/x-logo.svg) 50% 50% no-repeat;
mask: url(img/x-logo.svg) 50% 50% no-repeat;
-webkit-mask-size: 20px;
mask-size: 20px;
background: #000;
margin: 10px auto 0 auto;
}
.socnet a .text {
position: absolute;
left: -9999px;
top: -9999px;
}
.socnet a.tw:hover,
.socnet a.tw:focus {
color: #fff;
background: #000 !important;
}
.socnet a.tw:hover i,
.socnet a.tw:focus i {
background: #fff !important;
}
.socnet a.fb:hover,
.socnet a.fb:focus {
color: #fff;
background: #084b8f !important;
}
.socnet a.li:hover,
.socnet a.li:focus {
color: #fff;
background: #127db5 !important;
}
.socnet a.yt:hover,
.socnet a.yt:focus {
color: #fff;
background: #ff0000 !important;
}
.socnet a.pn:hover,
.socnet a.pn:focus {
color: #fff;
background: #e60023 !important;
}
.socnet a.ig {
position: relative;
}
.socnet a.ig:hover,
.socnet a.ig:focus {
color: #fff;
}
.socnet a.ig:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 40px;
border-radius: 50%;
background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%) !important;
z-index: 9;
opacity: 0;
transition: opacity 0.2s;
}
.socnet a.ig:hover:before,
.socnet a.ig:focus:before {
opacity: 1;
}


/* Swiper controls
....................................................................... */
.swiper-pagination {
display: none;
position: relative;
top: auto;
bottom: auto;
left: auto;
margin: 0 0 40px 0;
}
.swiper-pagination .swiper-pagination-bullet {
width: 12px;
height: 12px;
background: transparent;
border: 2px solid #001f59;
opacity: 1;
margin: 0 7px !important
}
.swiper-pagination .swiper-pagination-bullet-active {
background: #001f59;
}


/* Header
....................................................................... */
header {
display: flex;
position: relative;
height: 100px;
align-items: center;
box-sizing: border-box;
padding: 20px 0;
z-index: 10;
}
#logo {
width: 250px;
margin: 0 40px 0 0;
}
#logo a {
display: block;
transition: none;
}
#logo a:focus {
box-shadow: inset 0 0 0 1px #00ace8;
}
#logo img {
display: block;
width: 100%;
height: auto;
}
.header_cta {
margin: 0 0 0 20px;
}
@media screen and (max-width: 1023px) {
	.header_cta {
	margin: 0 0 0 auto;
	}
}
@media screen and (max-width: 767px) {
	header {
	height: 65px;
	padding: 15px 0;
	}
	#logo {
	width: 100%;
   margin: 0;
	}
	#logo a {
	width: 150px;
	margin: 0 auto;
	}
	.header_cta {
	position: absolute;
	top: 65px;
	left: 0;
	width: 100%;
	margin: 0;
	}
	.header_cta:before {
	content: '';
	width: 100vw;
	height: 50%;
	background: #001f59;
	display: block;
	position: absolute;
	z-index: -1;
	margin-left: calc(50% - 50vw) !important;
	}
	.header_cta em {
	display: none;
	}
}



/* Header togglers
....................................................................... */
.toggle {
display: none;
margin: 0 0 0 auto;
}
.header_cta + .toggle {
margin-left: 0;
}
.toggle a {
display: block;
vertical-align: middle;
text-decoration: none;
color: #fff;
font-size: 0.7em;
font-weight: normal;
text-transform: uppercase;
border-radius: 5px;
}
.toggle a:hover,
.toggle a:focus {
color: #fff;
}
.toggle a em {
position: absolute;
left: -9999px;
top: -9999px;
font-style: normal;
}
.toggle a:after {
display: inline-block;
vertical-align: middle;
font-family: "Font Awesome 5 Free";
font-weight: 600;
line-height: 1;
font-size: 2em;
padding: 0 0 0 5px;
}
.toggle_navi {
display: inline-block;
vertical-align: middle;
margin: 0 0 0 10px;
}
.toggle .toggle_navi a:after {
content: "\f0c9";
}
.toggle .toggle_navi a.opened:after {
content: "\f00d";
}
@media screen and (min-width: 1024px) {
	.toggle {
	display: none;
	}
}
@media screen and (max-width: 1023px) {
	.toggle {
	display: inline-block;
	}
}
@media screen and (max-width: 767px) {
	.toggle {
	position: absolute;
	top: 20px;
	right: 0;
	}
}


/* Top Navigation
....................................................................... */
#navi {
margin: 0 0 0 auto;
}
#navi ul {
text-align: right;
margin: 0;
padding: 0;
}
#stickynavi ul {
margin: 0;
padding: 5px 0;
}
#navi li {
position: relative;
display: inline-block;
vertical-align: middle;
list-style: none;
background-image: none;
padding: 0;
margin: 0 -3px 0 0;
}
#navi li:before {
display: none;
}
#navi li a {
display: block;
min-height: 22px;
color: #fff;
font-size: 0.9em;
font-weight: 700;
text-decoration: none;
text-align: center;
line-height: 1.5em;
padding: 15px 10px;
margin: 0;
}
#navi li:first-child a {
padding-left: 0;
}
#navi li a:hover,
#navi li a:focus {
text-decoration: underline;
}
#navi li ul {
opacity: 0;
position: absolute;
left: -9999px;
top: 51px;
width: 210px;
background: #fff;
box-shadow: 0 5px 10px rgba(0,0,0,0.2);
border-radius: 3px;
padding: 5px 0 5px 0;
margin: 0 0 0 0;
z-index: 99;
-webkit-transition: opacity 0.2s;
-o-transition: opacity 0.2s;
transition: opacity 0.2s;
}
#navi li ul li,
#navi li.current-menu-item ul li {
clear: both;
background-image: none;
padding: 0;
margin: 0;
}
#navi li ul li a,
#navi li.current-menu-item ul li a {
float: none;
display: block;
width: 190px;
color: #001f59;
background: transparent;
font-weight: normal;
font-size: 0.85em;
line-height: 1.3em;
text-transform: none;
border: 0;
border-top: 1px solid #ccc;
text-align: left;
background-image: none;
padding: 8px 0 8px 0;
margin: 0 10px 0 10px;
border-radius: 0;
}
#navi li ul li:first-child > a,
#navi li.current-menu-item ul li:first-child > a {
border-top: 0;
}
#navi li ul li:last-child a,
#navi li.current-menu-item ul li:last-child a {
border-bottom: 0;
}
#navi li ul li a span,
#navi li.current-menu-item ul li a span,
#navi li ul li.current-menu-item a span {
border: 0;
padding: 0;
}
#navi ul li:hover > ul,
#navi ul li:focus-within > ul {
opacity: 1;
left: 0;
}
#navi li ul li ul {
display: none;
}
@media screen and (max-width: 1023px) {
	#navi {
	display: none !important;
	}
}


/* Side Navigation
....................................................................... */
#sidenavi ul {
display: flex;
flex-direction: column;
text-align: left;
border-top: 1px solid #333;
padding: 0;
margin: 0 0 10px 0;
}
#sidenavi li {
list-style: none;
background-image: none;
border-bottom: 1px solid #333;
padding: 0;
margin: 0;
}
#sidenavi li:before {
display: none;
}
#sidenavi li a {
position: relative;
display: block;
font-size: 0.8em;
font-weight: normal;
color: #fff;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.33);
text-decoration: none;
-webkit-transition: all 0.2s;
-o-transition: all 0.2s;
transition: all 0.2s;
padding: 10px 15px 10px 15px;
margin: 0;
opacity: 0.75;
}
#sidenavi > ul > li > a {
font-weight: 600;
font-size: 0.9em;
opacity: 1;
}
#sidenavi li.current-menu-item a {
}
#sidenavi li a:hover,
#sidenavi li a:focus {
background: #333;
text-decoration: underline;
}
#sidenavi li ul {
border: 0;
margin: 0;
}
#sidenavi li ul li,
#sidenavi li.current-menu-item ul li {
clear: both;
float: none;
width: auto;
display: block;
border-bottom: 0;
border-top: 1px solid #333;
}
#sidenavi li ul li a,
#sidenavi li.current-menu-item ul li a {
position: relative;
width: auto;
text-align: left;
font-weight: normal;
font-size: 0.85em;
color: #fff;
border: 0;
padding: 8px 3% 8px calc(3% + 15px);
margin: 0;
}
#sidenavi li ul li.current-menu-item a {
}
#sidenavi li ul li a:before,
#sidenavi li.current-menu-item ul li a:before {
position: absolute;
left: 0;
content: "-";
display: inline-block;
padding: 0 5px 0 10px;
}
#site-right .contact {
color: #fff;
padding: 15px;
}
#site-right .tel,
#site-right .email {
display: block;
font-size: 0.9em;
line-height: 1.5em;
margin: 0 0 20px 0;
}
#site-right .tel a,
#site-right .email a {
text-decoration: none;
}
#site-right .tel a:hover,
#site-right .email a:hover {
text-decoration: underline;
}
#site-right .socnet {
display: block;
margin: 0 0 20px 0;
}
#site-right .socnet a {
color: #fff;
background: transparent;
}
#site-right .contact p strong,
#site-right .contact p a {
color: #fff;
}
#site-right .socnet a.tw i {
background: #fff;
}


/* Post Meta
....................................................................... */
.meta {
font-size: 1em;
font-weight: normal;
color: #888;
padding: 0 0 10px 0;
}
.meta .cats,
.meta .tags {
display: block;
font-size: 0.85em;
line-height: 1.5em;
padding: 10px 0;
}
.meta .cats strong,
.meta .tags strong {
font-weight: 400;
color: #5c5c5c;
margin: 0 5px 0 0;
}
.meta .cats a,
.meta .tags a {
display: inline-block;
text-decoration: none;
font-weight: 500;
padding: 0 2px;
margin: 0;
}
.meta .cats a:hover,
.meta .tags a:hover,
.meta .cats a:focus,
.meta .tags a:focus {
text-decoration: underline;
}
.postmeta {
font-size: 0.85em;
line-height: 1.5em;
font-weight: normal;
color: #5c5c5c;
margin: 30px 0 20px 0;
}


/* Post navigation
....................................................................... */
.navigation {
clear: both;
margin: 20px 0 30px 0;
}
.prev-posts,
.next-posts {
display: inline-block;
width: 50%;
margin: 0 -4px 0 0;
}
.prev-posts {
text-align: right;
}
.prev-posts a,
.next-posts a {
font-weight: normal;
text-decoration: none;
}
.wp-pagenavi-container {
clear: both;
padding: 20px 0 20px 0;
}
.wp-pagenavi {
padding: 20px 0 0 0;
}
.wp-pagenavi a,
.wp-pagenavi span {
color: #5c5c5c !important;
border-color: #ccc !important;
border-radius: 3px;
}
.wp-pagenavi a:hover,
.wp-pagenavi a:focus,
.wp-pagenavi span.current {
color: #333 !important;
background-color: #eee !important;
}


/* Post listings
....................................................................... */
.post {
vertical-align: top;
box-sizing: border-box;
padding: 0 0.75% 0 0.75%;
margin: 10px -4px 30px 0;
}
.span8 .post,
.span9 .post {
display: inline-block;
width: 50%;
}
.span12 .post {
display: inline-block;
width: 33.333%;
}
.span4 .post,
.span3 .post {
display: block;
width: 100%;
}
.post .pic,
.post figure.pic {
width: 100%;
aspect-ratio: 8 / 5;
overflow: hidden;
position: relative;
margin: 0 0 10px 0;
}
.post .pic a,
.post figure.pic a {
display: block;
height: 100%;
}
.post .pic a img {
display: block;
width: 100%;
height: 100% !important;
object-fit: cover;
object-position: 50% 50%;
transition: all 0.2s ease-in-out;
}
.post .pic a:hover img,
.post .pic a:focus img {
transform: scale(1.025);
}
.post h3,
.post h4 {
padding: 10px 0;
margin: 0 0 5px 0;
}
.post h3 i,
.post h4 i {
font-size: 0.7em;
}
.post p {
margin: 0 0 10px 0;
}
.post .postmeta {
margin: 0 0 10px 0;
}
a.postlink {
display: inline-block;
color: #2b4ca0;
font-weight: 700;
text-decoration: none;
padding: 10px 0 0 0;
}
a.postlink:hover,
a.postlink:focus {
text-decoration: underline;
}
a.postlink i {
font-size: 0.8em;
}
@media screen and (max-width: 1023px) {
	.span8 .post,
	.span9 .post,
	.span12 .post {
	display: inline-block;
	width: 50%;
	}
  .post h4 {
   font-size: 1.1em;
  }
  .post p {
   font-size: 0.9em;
  }
}
@media screen and (max-width: 767px) {
	.span8 .post,
	.span9 .post,
	.span10 .post,
	.span11 .post,
	.span12 .post {
	display: block;
	width: 100%;
	}
}


/* Footer
....................................................................... */
footer {
}
footer p {
color: #fff;
font-size: 0.9em;
}
footer a {
color: #fff;
text-decoration: none;
}
footer a:hover,
footer a:focus {
color: #fff;
text-decoration: underline;
}
footer .row.copyright {
font-size: 0.8em;
color: #fff;
padding: 30px 0;
}
footer .copyright a {
color: #fff;
}
footer .copyright a:hover,
footer .copyright a:focus {
color: #fff;
text-decoration: underline;
}
footer .copyright ul {
text-align: center;
padding: 0;
margin: 0;
}
footer .copyright ul li {
display: inline-block;
vertical-align: top;
font-size: 0.9em;
padding: 0;
margin: 0 5px;
}
footer .copyright ul li:before {
display: none;
}
footer .copyright ul li:first-of-type {
margin-left: 0;
}
footer .copyright p {
max-width: 760px;
}
@media screen and (max-width: 1023px) {
	footer .copyright ul,
	footer .copyright p {
	display: block;
	width: 100%;
	max-width: none;
	text-align: center;
	margin: 10px 0;
	}
}


/* Gutenberg wide layout
....................................................................... */
.alignfull {
margin-left: calc(50% - 50vw) !important;
margin-right: calc(50% - 50vw) !important;
width: 100vw !important;
max-width: 100vw !important;
}
.alignwide {
margin-left: calc(50% - 47.5vw) !important;
margin-right: calc(50% - 47.5vw) !important;
width: 95vw !important;
max-width: 95vw !important;
}
@media screen and (min-width: 1500px) {
	.alignwide {
	margin-left: calc(50% - 45vw) !important;
	margin-right: calc(50% - 45vw) !important;
	width: 90vw !important;
	max-width: 90vw !important;
	}
}


/* Gutenberg color theme 
....................................................................... */
.has-cgkblue-color,
.wp-block-button__link.has-cgkblue-color {
color: #2B4CA0;
}
.has-cgkblue-background-color,
.wp-block-button__link.has-cgkblue-background-color {
background-color: #2B4CA0;
}
.has-cgkbrightblue-color,
.wp-block-button__link.has-cgkbrightblue-color {
color: #00ACE8;
}
.has-cgkbrightblue-background-color,
.wp-block-button__link.has-cgkbrightblue-background-color {
background-color: #00ACE8;
}
.has-cgkorange-color,
.wp-block-button__link.has-cgkorange-color {
color: #F7993A;
}
.has-cgkorange-background-color,
.wp-block-button__link.has-cgkorange-background-color {
background-color: #F7993A;
}
.has-cgkmediumgrey-color,
.wp-block-button__link.has-cgkmediumgrey-color {
color: #999;
}
.has-cgkmediumgrey-background-color,
.wp-block-button__link.has-cgkmediumgrey-background-color {
background-color: #999;
}
.has-cgkdarkblue-color,
.wp-block-button__link.has-cgkdarkblue-color {
color: #001F59;
}
.has-cgkdarkblue-background-color,
.wp-block-button__link.has-cgkdarkblue-background-color {
background-color: #001F59;
}
.has-cgklightblue-color,
.wp-block-button__link.has-cgklightblue-color {
color: #66CBFF;
}
.has-cgklightblue-background-color,
.wp-block-button__link.has-cgklightblue-background-color {
background-color: #66CBFF;
}
.has-cgkdarkorange-color,
.wp-block-button__link.has-cgkdarkorange-color {
color: #E16B28;
}
.has-cgkdarkorange-background-color,
.wp-block-button__link.has-cgkdarkorange-background-color {
background-color: #E16B28;
}
.has-cgklightgrey-color,
.wp-block-button__link.has-cgklightgrey-color {
color: #ccc;
}
.has-cgklightgrey-background-color,
.wp-block-button__link.has-cgklightgrey-background-color {
background-color: #ccc;
}
.has-cgkdarkgrey-color,
.wp-block-button__link.has-cgkdarkgrey-color {
color: #737474;
}
.has-cgkdarkgrey-background-color,
.wp-block-button__link.has-cgkdarkgrey-background-color {
background-color: #737474;
}
.has-white-color,
.wp-block-button__link.has-white-color {
color: #fff;
}
.has-white-background-color,
.wp-block-button__link.has-white-background-color {
background-color: #fff;
}


/* Gutenberg Pullquote
....................................................................... */
.wp-block-pullquote {
padding: 1em 0 !important;
}


/* Gutenberg Table
....................................................................... */
.wp-block-table {
width: 100%;
margin: 0 0 1.5em 0;
}
.wp-block-table table {
min-width: 920px;
}
.wp-block-table table th {
text-align: left;
font-weight: 600;
padding: 15px;
}
.wp-block-table table td {
padding: 15px;
}
.wp-block-table table {
border-collapse: collapse;
}
.wp-block-table thead {
border-bottom: 1px solid #ccc !important;
}
.wp-block-table table tr th,
.wp-block-table table tr td {
line-height: 1.6em;
border: 0;
border-bottom: 1px solid #ccc;
border-right: 1px solid #ccc;
}
.wp-block-table table tr th:last-of-type,
.wp-block-table table tr td:last-of-type {
border-right: 0;
}
.wp-block-table table tbody tr:last-of-type td {
border-bottom: 0;
}
.wp-block-table table tfoot tr td {
border-top: 1px solid #ccc;
}
.wp-block-table figcaption {
padding: 10px 15px;
}
@media screen and (max-width: 768px) {
  .wp-block-table {
  overflow-x: auto;
  }
}


/* Gutenberg Gallery
....................................................................... */
.wp-block-gallery li:before {
display: none;
}
.wp-block-gallery li.blocks-gallery-item {
overflow: hidden;
padding: 0;
}


/* Gutenberg Buttons
....................................................................... */
.wp-block-buttons {
margin: 0 0 1.25em 0;
}
.wp-block-button a {
font-weight: 600;
padding: 15px 25px;
}
.wp-block-button a:hover,
.wp-block-button a:focus {
text-decoration: underline;
}



/* Gutenberg - change default column breakpoint
....................................................................... */
@media (max-width: 1023px) {
	.wp-block-columns.is-layout-flex {
	align-items: normal !important;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap !important;
	}
  .wp-block-columns.is-layout-flex:not(.is-not-stacked-on-mobile) > .wp-block-column {
   flex-basis: 100% !important;
  }
}


/* Gutenberg Cover
....................................................................... */
.page-wrap_content .center .row .span12 > .wp-block-cover:first-child {
margin-top: -35px; /* No spacing between top cover + header */
}
.wp-block-cover img.wp-block-cover__image-background,
.wp-block-cover video.wp-block-cover__video-background,
.wp-block-cover-image img.wp-block-cover__image-background,
.wp-block-cover-image video.wp-block-cover__video-background {
height: 100% !important;
}
.wp-block-cover .wp-block-columns {
width: 94%;
max-width: 1200px !important;
margin-left: auto;
margin-right: auto;
display: flex;
}
.wp-block-cover p:last-child {
margin: 0;
}
.wp-block-cover .wp-block-columns {
margin-bottom: 0;
}
@media (max-width: 767px) {
	.page-wrap_content .center .row .span12 > .wp-block-cover:first-child {
	margin-top: -52px; /* No spacing between top cover + header */
	}
}


/* Gutenberg default block with bespoke styles - homepage hero cover
....................................................................... */
.wp-block-cover.homehero .wp-block-columns {
padding: 40px 0;
}
.wp-block-columns.hero-headline-columns h1:last-child {
margin: 0;
}
.wp-block-columns.hero-boxes-columns {
padding: 80px 0 0 0;
}
.hero-boxes-columns .wp-block-column {
display: flex;
}
.hero-boxes-columns .wp-block-cover {
overflow: visible;
width: 100%;
padding: 1em 1.5em;
display: flex;
align-items: flex-start;
}
.hero-boxes-columns .wp-block-cover__inner-container > figure:first-child {
margin-top: -70px;
margin-bottom: 15px;
}
@media (max-width: 1023px) {
	.hero-headline-columns {
	flex-direction: column-reverse;
	text-align: center;
	}
	.hero-headline-columns .wp-block-image .alignright {
	float: none;
	margin: 0 auto -20px auto;
	}
	.wp-block-columns.hero-boxes-columns {
	padding: 40px 0 0 0;
	}
	.hero-boxes-columns .wp-block-column {
	margin-top: 40px;
	}
}


/* Gutenberg default block with bespoke styles - contact form hero cover
....................................................................... */
.wp-block-cover.contacthero .wp-block-columns {
padding: 40px 0;
}
@media screen and (max-width: 1023px) {
	.wp-block-cover.contacthero .wp-block-cover__background {
	background: transparent !important;
	}
	.wp-block-cover.contacthero .wp-block-spacer:first-child {
	display: none;
	}
}

/* Gutenberg default block with bespoke styles - homepage 'Our team'
....................................................................... */
.home-team .wp-block-column .wp-block-group {
padding: 10px 25px;
}
.home-team .wp-block-column .wp-block-image img {
width: 100%;
display: block; 
}
@media screen and (min-width: 1024px) {
	.home-team .wp-block-column {
	display: flex;
	padding: 0;
	}
	.home-team .wp-block-column .wp-block-image {
	flex: 0 0 50%;
	margin: 0;
	}
	.home-team .wp-block-column .wp-block-image img {
	height: 100% !important;
	object-fit: cover;
	}
	.home-team .wp-block-column .wp-block-group {
	padding-top: 25px;
	}
}


/* Gutenberg default block with bespoke styles - homepage custom lists
....................................................................... */
ul.custom-list {
margin-left: 0;
}
ul.custom-list > li {
border-bottom: 1px solid #ccc;
padding: 12px 0 12px 30px;
}
ul.custom-list > li:last-child {
border: 0;
}
ul.custom-list > li:before {
top: 16px;
content: '';
width: 20px;
height: 20px;
background: url(img/icon-tick-list.svg) 0 0 no-repeat;
background-size: 20px auto;
}
ol.custom-list {
list-style: none;
margin: 0 0 30px 0;
}
ol.custom-list > li {
position: relative;
counter-increment: item;
line-height: 1.6em;
padding: 10px 0 10px 40px;
margin: 0;
}
ol.custom-list > li:before {
position: absolute;
left: 0;
top: 13px;
display: inline-block;
vertical-align: top;
content: counter(item);
color: #001f59;
background: #fff;
box-shadow: 2px 2px 3px rgba(0,0,0,0.15);
width: 26px;
height: 26px;
line-height: 26px;
border-radius: 0;
border: 0;
font-size: 16px;
font-weight: 700;
text-align: center;
margin: 0;
}
ol.custom-list > li:after {
content: '';
position: absolute;
left: 40px;
top: 100%;
transform: translateY(-50%);
width: calc(100% - 40px);
border-bottom: 1px solid #ccc;
box-sizing: border-box;
}
ol.custom-list > li:last-child:after {
display: none;
}


/* Gutenberg default block with bespoke styles - homepage custom lists (FAQ specific)
....................................................................... */
.wp-block-columns.faq strong {
/* Prevent wierd font rendering */
font-size: 18px;
}
@media screen and (max-width: 1023px) {
	/* Remove gap between the 2 columns on mobile */
	.wp-block-columns.faq {
	gap: 0;
	margin-bottom: 10px;
	}
	.wp-block-columns.faq .wp-block-column:first-child p {
	margin: 0 0 5px 0;
	}
}


/* Gutenberg default block with bespoke styles - homepage 'what you get' area
....................................................................... */
@media screen and (max-width: 1023px) {
	.wp-block-cover.whatyouget .wp-block-cover__background {
	background: transparent !important;
	}
	.wp-block-cover.whatyouget .wp-block-spacer:first-child {
	display: none;
	}
	.wp-block-cover.whatyouget .wp-block-columns .wp-block-column.has-cgkblue-background-color {
	padding: 50px 6%;
	margin-left: -6%;
	margin-right: -6%;
	}
}


/* Gutenberg default block with bespoke styles - homepage 'faq' area
....................................................................... */
.wp-block-columns.faq-heading h2 {
margin: 0;
}
@media (max-width: 1023px) {
	.wp-block-columns.faq-heading {
	flex-direction: column-reverse;
	}
	.wp-block-columns.faq-heading figure.alignright {
	float: none !important;
	margin: 0 0 -15px 0 !important;
	}
}


/* Gutenberg default block with bespoke styles - homepage 'featured on' area
....................................................................... */
.wp-block-columns.featured-on .wp-block-cover__inner-container h1,
.wp-block-columns.featured-on .wp-block-cover__inner-container h2,
.wp-block-columns.featured-on .wp-block-cover__inner-container h3,
.wp-block-columns.featured-on .wp-block-cover__inner-container h4,
.wp-block-columns.featured-on .wp-block-cover__inner-container p {
margin-left: 3%;
margin-right: 3%;
}


/* Gutenberg default block with bespoke styles - homepage studies list area
....................................................................... */
.wp-block-columns.studies-lists h3 {
margin: 0;
}
.wp-block-columns.studies-lists .wp-block-columns {
margin: 0;
}
@media (max-width: 1023px) {
	.wp-block-columns.studies-lists .wp-block-columns {
	flex-direction: column-reverse;
	}
	.wp-block-columns.studies-lists .wp-block-columns figure.alignright {
	float: none !important;
	margin: 0 0 -15px 0 !important;
	}
}


/* Gutenberg default block with bespoke styles - homepage 'contact us' areas x 2
....................................................................... */
.wp-block-columns.contact-our-team {
margin-bottom: 1.5em;
}
.wp-block-columns.contact-our-team h4 {
margin: 0;
}
.wp-block-columns.contact-our-team h4 img {
vertical-align: middle;
}
.wp-block-columns.contact-our-team h4 a {
font-weight: 500;
text-decoration: none;
}
.wp-block-columns.contact-our-team h4 a:hover,
.wp-block-columns.contact-our-team h4 a:focus {
text-decoration: underline;
}
@media (max-width: 1023px) {
	.wp-block-columns.contact-our-team {
	gap: 1em;
	}
	.wp-block-columns.contact-our-team h4.has-text-align-right {
	text-align: left;
	}
}


/* Gutenberg default block with bespoke styles - contact page link box
....................................................................... */
.wp-block-cover .wp-block-columns.contact-details {
gap: 0;
width: 100%;
border: 1px solid #ddd;
border-radius: 3px;
padding: 0;
margin: 35px 0 0 0;
}
.contact-details figure {
margin: 0;
}
.contact-details p {
margin-bottom: 0.5em;
}
@media screen and (max-width: 479px) {	
	.wp-block-cover .wp-block-columns.contact-details {
	flex-wrap: wrap !important;
	padding: 20px;
	}
	.wp-block-cover .wp-block-columns.contact-details .wp-block-column {
	flex-basis: 100% !important;
	}
	.contact-details figure {
	margin: 0 0 15px 0;
	}
}


/* Gutenberg custom block
....................................................................... */
.block_cta {
margin: 5px 0;
}


/* Static admin bar */
#wpadminbar {
position: fixed !important;
}


/* ---------------------------- code for cookies ---------------------------- */
#cookie-notice {
background-color: rgba(0, 37, 104, 0.85) !important;
position: fixed;
z-index: 11111;
font-family: "Gotham", "Poppins", Arial, Helvetica, sans-serif !important;
}
#cookie-notice #cn-notice-text {
display: flex;
justify-content: center;
align-items: center;
}
#cookie-notice #cn-notice-text + #cn-accept-cookie,
#cn-notice-buttons {
display: none !important;
}
#cookie-notice .cookie-notice-container {
padding: 25px 50px;
margin-left: auto;
margin-right: auto;
}
#cookie-notice .cookies-message {
text-align: left;
display: block;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 100%;
max-width: 60%;
margin: 0 1em 0 auto;
font-size: 13px;
}
#cookie-notice .cookies-message a {
color: #fff;
text-decoration: underline;
}
#cookie-notice .cookies-message a:hover {
text-decoration: none;
}
#cookie-notice .cookies-button-container {
max-width: 40%;
text-align: center;
display: flex;
align-content: space-between;
margin: 0 auto;
font-weight: bold;
}
#cookie-notice .cookies-button-container .cookies-button {
border: 0;
display: inline-block;
color: #fff;
margin: 0 4px;
padding: 5px 10px;
min-width: 110px;
font-weight: 500;
border-radius: 3px;
text-align: center;
background-color: #fff;
font-family: "Gotham", "Poppins", Arial, Helvetica, sans-serif !important;
text-decoration: none;
line-height: 30px;
color: #344a83;
}
#cookie-notice .cn-button:not(.cn-button-custom) {
color: #344a83 !important;
font-weight: 500 !important;
padding: 5px 10px !important;
line-height: 30px !important;
}
#cookie-notice .cookies-button-container .cookies-button:hover {
background-color: #fff;
color: #344a83;
opacity: 0.8;
}
.cn-close-icon:before,
.cn-close-icon:after {
background-color: #fff;
}
.cookie-notice-container .cn-text-container {
margin: 0;
}
.cn-close-icon {
opacity: 1 !important;
}
@media screen and (max-width: 767px) {
	#cookie-notice .cookie-notice-container {
	padding: 25px 40px;
	}

	#cookie-notice .cookies-message {
	width: 100%;
	max-width: 100%;
	display: block;
	padding-bottom: 25px;
	margin: 0 auto;
	}

	#cookie-notice .cookies-button-container {
	display: block;
	width: 100%;
	max-width: 100%;
	text-align: center;
	}

	#cookie-notice #cn-notice-text {
	display: block;
	}
}
/* -------------------------- end code for cookies -------------------------- */
