/*
Theme Name: Tethercells
Author: Glass Mountains Digital
Version: 1.0
*/


* {
vertical-align: baseline;
border: 0 none;
outline: 0;
padding: 0;
margin: 0;
}
body {
font-family: "Source Sans 3", sans-serif;
font-size: 1.1em;
font-weight: normal;
color: #000;
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: relative;
float: left;
width: 100%;
margin: 0 0 0 0;
}
.page-wrap_content {
position: relative;
clear: both;
float: left;
width: 100%;
padding: 0 0 30px 0;
}
.page-wrap_footer {
clear: both;
float: left;
width: 100%;
background: #f8f8f8;
border-top: 1px solid #f2f2f2;
margin: 0 0 0 0;
}
.center {
clear: both;
max-width: 1300px !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%;
}


/* 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 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 {
line-height: 1.6em;
letter-spacing: 0.025em;
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: #b22222;
text-decoration: underline;
transition: all 0.2s;
}
a:hover,
a:focus {
color: #002774;
}
h1 {
font-size: 50px;
font-weight: 700;
line-height: 1.15em;
color: #002774;
margin: 0 0 0.5em 0;
}
h2 {
font-size: 35px;
font-weight: 700;
line-height: 1.33em;
color: #002774;
margin: 0 0 0.65em 0;
}
h3 {
font-size: 25px;
font-weight: 700;
line-height: 1.25em;
color: #002774;
margin: 0 0 0.75em 0;
}
h4 {
font-size: 20px;
font-weight: 700;
line-height: 1.4em;
color: #002774;
margin: 0 0 1em 0;
}
h5 {
font-size: 18px;
font-weight: 700;
line-height: 1.5em;
color: #002774;
margin: 0 0 1.2em 0;
}
h6 {
font-size: 16px;
line-height: 1.5em;
font-weight: 700;
color: #002774;
margin: 0 0 1.2em 0;
}
h3 a,
h4 a {
color: #002774;
display: block;
text-decoration: none;
}
h3 a:hover,
h4 a:hover,
h3 a:focus,
h4 a:focus {
text-decoration: underline;
}
strong {
font-weight: 700;
}
img {
max-width: 100%;
height: auto !important;
}
img,
img a {
border: 0;
text-decoration: none;
}
ol {
margin: 0 0 0.75em 25px;
}
ol li {
margin: auto;
line-height: 1.6em;
letter-spacing: 0.025em;
padding: 0 0 0.75em 5px;
margin-left: 0;
}
ul {
padding: 0;
margin: 0 0 0.75em 10px;
list-style: none;
}
ul li {
position: relative;
margin: auto;
list-style: none;
line-height: 1.6em;
letter-spacing: 0.025em;
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: #000;
}
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: 2px solid #d8eff9
background: transparent;
height: 1px;
margin: 30px 0 30px 0;
}
blockquote {
border: 1px solid #dadada;
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: #7d7d7d;
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;
}
.maxwidth {
max-width: 980px;
margin-left: auto !important;
margin-right: auto !important;
}
.widemaxwidth {
max-width: 1100px;
margin-left: auto !important;
margin-right: auto !important;
}
.nomargin {
margin: 0 !important;
}
@media screen and (max-width: 767px) {
	p,
	.page-wrap_content li {
	font-size: 0.9em;
	}
	.page-wrap_content li p,
	.page-wrap_content li ul li {
	font-size: 1em;
	}
	h1 {
	font-size: 1.75em;
	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;
	}
	h6 {
	font-size: 3em;
	}
	a.cta {
	font-size: 1em;
	}
	hr {
	margin: 10px 0 30px 0;
	}
}


/* 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: #000;
font-size: 0.9em;
font-weight: 600;
padding: 5px 0 10px 0;
}
input,
textarea,
select {
display: block;
color: #000;
width: 100%;
max-width: 800px;
font-size: 1em;
font-weight: normal;
font-family: "Source Sans 3", sans-serif;
background: #f7f7f7;
border: 1px solid #dadada;
padding: 15px 15px;
margin: 0 5px 20px 0;
border-radius: 5px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
input:focus,
textarea:focus {
color: #000;
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: #fff;
background: #b22222;
border: 0;
padding: 15px 25px;
margin: 20px 0 10px 0;
border-radius: 10px;
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 {
text-decoration: underline;
}

.ninja-forms-all-fields-wrap {
border-top: 1px solid #dadada;
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;
}



/* 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 #000;
opacity: 1;
margin: 0 7px !important
}
.swiper-pagination .swiper-pagination-bullet-active {
background: #000;
}


/* Header
....................................................................... */
header {
display: flex;
align-items: center;
padding: 30px 0;
}
body.header_overlap header {
border: 0;
}
#logo {
width: 275px;
margin: 0 20px 0 0;
}
#logo a {
display: block;
width: 100%;
transition: none;
}
#logo a:focus {
box-shadow: inset 0 0 0 1px #002774;
}
#logo img {
display: block;
width: 100%;
height: auto;
/*filter: brightness(150%);*/
}
@media screen and (max-width: 767px) {
	#logo {
	width: 200px;
	}
}


/* Header togglers
....................................................................... */
.toggle {
display: none;
margin: 0 0 0 auto;
}
.toggle a {
display: block;
vertical-align: middle;
text-decoration: none;
color: #002774;
font-size: 0.7em;
font-weight: normal;
text-transform: uppercase;
border-radius: 5px;
}
.toggle a:hover,
.toggle a:focus {
color: #000;
}
.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;
	}
}


/* 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: #002774;
font-size: 0.85em;
font-weight: 600;
text-decoration: none;
text-align: center;
line-height: 1.5em;
padding: 15px 7px;
margin: 0;
}
#navi li:first-child a {
padding-left: 0;
}
#navi li a:hover,
#navi li a:focus {
text-decoration: underline;
}
#navi li.cta > a {
color: #fff;
background: #b22222;
font-size: 0.9em;
font-weight: 600;
border-radius: 9999px;
padding: 15px 15px;
margin: 0 5px;
}
#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;
background: transparent;
font-weight: normal;
font-size: 0.85em;
line-height: 1.3em;
text-transform: none;
border: 0;
border-top: 1px solid #dadada;
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 (min-width: 1300px) {
	#navi .menu-main-menu-container > ul > li > a {
	font-size: 0.95em;
	padding-left: 12px;
	padding-right: 12px;
	}
}
@media screen and (max-width: 1023px) {
	#navi {
	display: none !important;
	}
}


/* Absolute header on homepage with cover as first block
....................................................................... */
body.header_overlap .page-wrap_top {
position: absolute;
top: 0;
left: 0;
margin: 0;
z-index: 10;
}
body.header_overlap #navi li:not(.cta) a:hover,
body.header_overlap #navi li:not(.cta) a:focus {
}
body.header_overlap .toggle a {
}
body.header_overlap .toggle a:hover,
body.header_overlap .toggle a:focus {
}
body.header_overlap .wp-block-cover:first-child {
padding-top: calc(135px + 1em);
}



/* 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: #7d7d7d;
margin: 0 5px 0 0;
}
.meta .cats a,
.meta .tags a {
display: inline-block;
text-decoration: none;
font-weight: 400;
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: #7d7d7d;
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: #7d7d7d !important;
border-color: #dadada !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
....................................................................... */
.posts {
display: flex;
flex-wrap: wrap;
}
.post {
vertical-align: top;
box-sizing: border-box;
padding: 0 1% 0 1%;
margin: 10px 0 30px 0;
}
.span8 .post,
.span9 .post {
flex: 0 0 50%;
}
.span12 .post {
flex: 0 0 33.333%;
}
.span4 .post,
.span3 .post {
flex: 0 0 100%;
}
.span12 .miniposts .post {
flex: 0 0 25%;
}
.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 .text {
}
.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;
font-weight: 700;
padding: 10px 0 0 0;
}
a.postlink:hover,
a.postlink:focus {
}
a.postlink i {
font-size: 0.8em;
}
.post_label {
position: absolute;
left: 0;
bottom: 0;
z-index: 11;
display: inline-block;
background: #fff;
font-size: 0.85em;
font-weight: 700;
padding: 10px;
}
.post_label i {
font-size: 1.25em;
padding: 0 3px 0 0;
}
@media screen and (max-width: 1023px) {
	.span8 .post,
	.span9 .post,
	.span12 .post {
	flex: 0 0 50%;
	}
	.span12 .miniposts .post {
	flex: 0 0 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 {
	flex: 0 0 100%;
	}
	.span12 .miniposts .post {
	flex: 0 0 100%;
	}
}


/* Resource post listing
....................................................................... */
.post.pressrelease .text {
background: #f8f8f8;
border: 1px solid #f2f2f2;
border-bottom: 3px solid #d8eff9;
padding: 25px;
}
.post.pressrelease h3 {
padding-top: 0;
}
.post.pressrelease .postmeta {
display: none;
}


/* Footer
....................................................................... */
footer {
padding: 50px 0 0 0;
}
footer p {
font-size: 1em;
}
footer a {
color: #002774;
text-decoration: none;
}
footer a:hover,
footer a:focus {
color: #002774;
text-decoration: underline;
}
footer ul.menu {
padding: 0;
margin: 0;
}
footer ul.menu li {
font-size: 0.9em;
font-weight: 400;
padding: 5px 0;
margin: 0;
}
footer ul li:before {
display: none;
}
footer ul.menu li a {
color: #000;
}
footer ul.menu li a:hover,
footer ul.menu li a:focus {
color: #002774;
}

footer .footer_cols .last {
text-align: right;
}
footer .footer_cols img {
max-width: 190px;
}

footer .row.copyright {
font-size: 0.8em;
color: #7d7d7d;
border-top: 1px solid #dadada;
padding: 30px 0 30px 0;
margin: 20px 0 0 0;
}
footer .copyright a {
color: #7d7d7d;
text-decoration: underline;
}
footer .copyright a:hover,
footer .copyright a:focus {
color: #000;
}
footer .copyright ul {
display: flex;
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.linky {
margin: 0 0 0 auto;
}
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 .footer_cols ul {
	text-align: center;
	padding: 0;
	margin: 0;
	}
	footer .footer_cols ul li {
	display: inline-block;
	padding: 5px 8px;
	margin: 0;
	}
	footer .footer_cols {
	text-align: center;
	padding: 20px 0 0 0;
	margin: 0;
	}
	footer .footer_cols .last {
	padding: 20px 0 0 0;
	text-align: center;
	}
	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-vdark-color,
.wp-block-button__link.has-vdark-color {
color: #002774;
}
.has-vdark-background-color,
.wp-block-button__link.has-vdark-background-color {
background-color: #002774;
}
.has-accent-color,
.wp-block-button__link.has-accent-color {
color: #b22222;
}
.has-accent-background-color,
.wp-block-button__link.has-accent-background-color {
background-color: #b22222;
}
.has-accent-2-color,
.wp-block-button__link.has-accent-2-color {
color: #d8eff9;
}
.has-accent-2-background-color,
.wp-block-button__link.has-accent-2-background-color {
background-color: #d8eff9;
}
.has-accent-3-color,
.wp-block-button__link.has-accent3-color {
color: #ced6e6;
}
.has-accent-3-background-color,
.wp-block-button__link.has-accent-3-background-color {
background-color: #ced6e6;
}
.has-medium-color,
.wp-block-button__link.has-medium-color {
color: #7d7d7d;
}
.has-medium-background-color,
.wp-block-button__link.has-medium-background-color {
background-color: #7d7d7d;
}
.has-light-color,
.wp-block-button__link.has-light-color {
color: #c0c0c0;
}
.has-light-background-color,
.wp-block-button__link.has-light-background-color {
background-color: #c0c0c0;
}
.has-lightaccent-color,
.wp-block-button__link.has-lightaccent-color {
color: #f8f8f8;
}
.has-lightaccent-background-color,
.wp-block-button__link.has-lightaccent-background-color {
background-color: #f8f8f8;
}
.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;
}
.has-black-color,
.wp-block-button__link.has-black-color {
color: #000;
}
.has-black-background-color,
.wp-block-button__link.has-black-background-color {
background-color: #000;
}


/* 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 #dadada !important;
}
.wp-block-table table tr th,
.wp-block-table table tr td {
line-height: 1.6em;
border: 0;
border-bottom: 1px solid #dadada;
border-right: 1px solid #dadada;
}
.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 #dadada;
}
.wp-block-table figcaption {
padding: 10px 15px;
}
@media screen and (max-width: 768px) {
  .wp-block-table {
  overflow-x: auto;
  }
}


/* Gutenberg Cover
....................................................................... */
.wp-block-cover {
overflow: hidden !important;
padding-bottom: 0 !important; /* For Hapus only - to ensure image meets bottom edge */
}
.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: 1300px !important;
margin-left: auto;
margin-right: auto;
}
.wp-block-cover p:last-child {
margin: 0;
}
.wp-block-cover .wp-block-columns {
margin-bottom: 0;
}


/* Gutenberg Gallery
....................................................................... */
.wp-block-gallery li:before {
display: none;
}
.wp-block-gallery li.blocks-gallery-item {
overflow: hidden;
padding: 0;
}


/* Gutenberg Separator
....................................................................... */
.wp-block-separator {
border-color: #eee !important;
}


/* Gutenberg Buttons
....................................................................... */
.wp-block-buttons {
margin: 0 0 1.25em 0;
}
.wp-block-button a {
font-weight: 600;
border-radius: 10px;
padding: 15px 25px;
}
.wp-block-button a:hover,
.wp-block-button a:focus {
text-decoration: underline;
}


/* Gutenberg default block with bespoke styles - homepage hero
....................................................................... */
@media screen and (max-width: 1024px) {
	.wp-block-cover.pagehero .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
	flex-basis: 100% !important;
	}
	/* Hide empty second col */
	.wp-block-cover.pagehero .wp-block-column:nth-child(2):empty {
	display: none;
	}
}


/* Gutenberg default block with bespoke styles - homepage 'Our founders'
....................................................................... */
.home-team .wp-block-column .wp-block-group {
padding: 10px 25px;
}
.home-team .wp-block-column .wp-block-image img {
width: 100%;
display: block; 
}
.home-team .wp-block-column {
border: 1px solid #f2f2f2;
}
@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 'Our partners'
....................................................................... */
.wp-block-cover.partners {
border-radius: 10px;
border: 3px solid #d8eff9;
}


/* Gutenberg default block with bespoke styles - cover (auto inserted as a styled page heading)
....................................................................... */
.wp-block-cover.pageheading h1 {
margin: 0;
}
.wp-block-cover.pageheading h1 + p,
.wp-block-cover.pageheading h1 + h2,
.wp-block-cover.pageheading h1 + h3,
.wp-block-cover.pageheading h1 + h4,
.wp-block-cover.pageheading h1 + h5 {
margin-top: 15px;
}
.wp-block-cover.pageheading .wp-block-cover__background {
opacity: 0;
}
@media screen and (max-width: 767px) {
	/* Hide empty second col */
	.wp-block-cover.pageheading .wp-block-column:nth-child(2):empty {
	display: none;
	}
}


/* Gutenberg default block with bespoke styles - contact page right column
....................................................................... */
.contact_details a {
color: #002774;
}
@media screen and (max-width: 767px) {
	.contact_details {
	text-align: center;
	}
	.contact_details .has-text-align-right {
	text-align: center;
	}
	.contact_details .wp-block-image {
	display: inline-block;
	vertical-align: middle;
	}
	.contact_details .wp-block-image .alignright {
	float: none;
	margin: 0.5em;
	}
}