/*
Theme Name: GLITTER
Author: Glass Mountains Digital
Version: 1.0
*/


* {
vertical-align: baseline;
border: 0 none;
outline: 0;
padding: 0;
margin: 0;
}
body {
font-family: "PT Sans", sans-serif;
font-size: 1.1em;
font-weight: normal;
color: #111;
background: #fff;
-webkit-text-size-adjust: none;
-ms-text-size-adjust: none;
}
body.noscroll {
overflow-y: hidden;
}


/* 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 50px 0;
}
.page-wrap_content {
position: relative;
clear: both;
float: left;
width: 100%;
}
.page-wrap_footer {
clear: both;
float: left;
width: 100%;
background: #f2f2f2;
margin: 30px 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.75em 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: #2f5597;
text-decoration: underline;
text-decoration-thickness: 1px;
transition: all 0.2s;
}
a:hover,
a:focus {
color: #111;
text-decoration-thickness: 2px;
}
a i.new-win {
display: inline-block;
vertical-align: middle;
width: 13px;
height: 13px;
background: url(img/icon-new-win.svg) 50% 50% no-repeat;
background-size: contain;
text-indent: -9999px;
margin: -1px 0 0 6px;
}
h1 {
font-size: 50px;
font-weight: 700;
line-height: 1.25em;
margin: 0 0 0.75em 0;
}
h2 {
font-size: 33px;
font-weight: 700;
line-height: 1.33em;
margin: 0 0 0.75em 0;
}
h3 {
font-size: 25px;
font-weight: 700;
line-height: 1.25em;
margin: 0 0 0.9em 0;
}
h4 {
font-size: 20px;
font-weight: 700;
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;
}
h3 a,
h4 a {
color: #111;
display: block;
text-decoration: none;
}
h3 a:hover,
h4 a:hover,
h3 a:focus,
h4 a:focus {
color: #2f5597;
text-decoration: underline;
}
strong {
font-weight: 600;
}
img {
max-width: 100%;
height: auto !important;
}
img,
img a {
border: 0;
text-decoration: none;
}
p.label {
display: inline-block;
font-size: 0.8em;
text-transform: uppercase;
background: #f2f2f2;
border-radius: 3px;
padding: 3px 10px;
}
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 rgba(94,38,100,0.33);
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: #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;
}
.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;
}
.viewall_link {
display: flex;
align-items: center;
padding: 20px 0 0 0;
margin: 0 0 20px 0;
}
.viewall_link h1,
.viewall_link h2,
.viewall_link h3,
.viewall_link h4 {
padding: 0 15px 0 0;
margin: 0;
}
.viewall_link p {
position: relative;
flex: 1 0 100px;
text-align: right;
margin: 0;
}
.viewall_link p:before {
position: absolute;
top: 50%;
left: 0;
content: '';
display: inline-block;
width: calc(100% - 110px);
height: 2px;
background: #dadada;
z-index: -1;
}
.viewall_link p:empty:before {
width: 100%;
}
a.cta {
display: inline-block;
text-decoration: none;
font-size: 0.9em;
font-weight: 600;
line-height: 1.25em;
color: #fff;
background: #2f5597;
border-radius: 30px;
padding: 10px 18px;
transition: all 0.2s;
}
a.cta:hover,
a.cta:focus {
text-decoration: underline;
}
@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.25em;
	}
	h4 {
	font-size: 1.1em;
	}
	h5 {
	font-size: 1em;
	}
	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: #072c28;
font-size: 0.9em;
font-weight: 600;
padding: 5px 0 10px 0;
}
input,
textarea,
select {
display: block;
color: #072c28;
width: 100%;
max-width: 800px;
font-size: 1em;
font-weight: normal;
font-family: "PT Sans", 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,
select:focus {
color: #072c28;
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: #2f5597;
border: 0;
padding: 15px 25px;
margin: 20px 0 10px 0;
border-radius: 9999px;
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;
}


/* Header
....................................................................... */
header {
display: flex;
align-items: center;
border-bottom: 2px solid #dadada;
padding: 20px 0;
}
body.header_overlap header {
border: 0;
}
#logo {
width: 120px;
margin: 0 30px 0 0;
}
#logo a {
display: block;
width: 100%;
transition: none;
}
#logo a:focus {
box-shadow: inset 0 0 0 1px #2f5597;
}
#logo img {
display: block;
width: 100%;
height: auto;
}
@media screen and (max-width: 1023px) {
	#logo {
	width: 90px;
	}
}


/* Header togglers
....................................................................... */
.toggle {
display: none;
margin: 0 0 0 auto;
}
.toggle a {
display: block;
vertical-align: middle;
text-decoration: none;
color: #072C28;
font-size: 0.7em;
font-weight: normal;
text-transform: uppercase;
border-radius: 5px;
border: 1px solid transparent;
padding: 5px;
}
.toggle a:hover,
.toggle a:focus {
color: #2f5597;
border: 1px solid #2f5597;
}
.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;
}
.toggle_search,
.toggle_navi {
display: inline-block;
vertical-align: middle;
margin: 0 0 0 10px;
}
.toggle .toggle_search a:after {
content: "\f002";
}
.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: #072C28;
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 {
color: #2f5597;
text-decoration: underline;
}
#navi li.menu_search {
margin-left: auto;
}
#navi li.menu_search a {
border: 1px solid transparent;
border-radius: 3px;
padding: 5px 7px !important;
}
#navi li.menu_search a em {
position: absolute;
top: -9999px;
left: -9999px;
font-style: normal;
}
#navi li.menu_search a:hover,
#navi li.menu_search a:focus {
border: 1px solid #2f5597;
}
#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: 1200px) {
	#navi > ul > li > a {
	font-size: 1em;
	padding-left: 15px;
	padding-right: 15px;
	}
}
@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 > ul > li > a {
color: #fff;
}
body.header_overlap #navi > ul > li > a:hover,
body.header_overlap #navi > ul > li > a:focus {
color: #dadada;
}
body.header_overlap .toggle a {
color: #fff;
}
body.header_overlap .toggle a:hover,
body.header_overlap .toggle a:focus {
color: #dadada;
border-color: #dadada;
}
body.header_overlap .wp-block-cover:first-child {
padding-top: 162px;
}
body.header_overlap #logo a:focus {
box-shadow: inset 0 0 0 1px #dadada;
}


/* 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,
#site-right .tel a:focus,
#site-right .email a:focus {
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;
}
nav#sidenavi[aria-hidden=true] a[href],
nav#sidenavi[aria-hidden=true] area[href], 
nav#sidenavi[aria-hidden=true] input:not([disabled]), 
nav#sidenavi[aria-hidden=true] select:not([disabled]), 
nav#sidenavi[aria-hidden=true] textarea:not([disabled]), 
nav#sidenavi[aria-hidden=true] button:not([disabled]), 
nav#sidenavi[aria-hidden=true] [tabindex]:not([disabled]), 
nav#sidenavi[aria-hidden=true] [contenteditable=true]:not([disabled]){
visibility: hidden;
}


/* Page section navigation
....................................................................... */
ul.section_nav {
padding: 0;
margin: 0;
}
ul.section_nav + ul.section_nav {
padding-top: 20px;
}
.section_nav li {
display: inline-block;
padding: 0 3px;
margin: 0;
}
.section_nav li:before {
display: none;
}
.section_nav li:not(:first-child):not(:last-child):after {
content: " |";
margin-left: 3px;
}
.section_nav li a {
font-weight: 700;
}


/* Accordion
....................................................................... */
.accordion {
margin: 0 0 20px 0;
}
.accordion_section {
background: #f2f2f2;
padding: 20px;
margin: 10px 0;
}
h3.accordion_head {
display: flex;
align-items: center;
position: relative;
cursor: pointer;
transition: all 0.2s;
margin: 0;
}
h3.accordion_head:hover span,
h3.accordion_head:focus span {
color: #2f5597;
text-decoration: underline;
}
h3.accordion_head:after {
content: '\f078';
display: inline-block;
color: #07292b;
font-family: "Font Awesome 5 Free";
font-weight: 600;
font-size: 20px;
padding: 0 0 0 15px;
margin: 0 0 0 auto;
}
.accordion_section.on h3.accordion_head:after {
content: '\f077';
}
.accordion_body {
padding: 30px 0 0 0;
}
@media screen and (max-width: 767px) {
	h3.accordion_head {
	padding-right: 0;
	}
}


/* Search form modal
....................................................................... */
.searchmodal {
background: rgba(0, 0, 0, 0.9);
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
z-index: 9999999999;
display: flex;
justify-content: center;
align-items: center;
display: none;
}
.searchmodal_content {
position: relative;
width: 90%;
max-width: 550px;
box-sizing: border-box;
padding: 20px;
margin: 0 auto;
z-index: 99999999999;
}
.searchmodal_content p {
font-size: 0.9em;
color: #fff;
}
.searchmodal_content p strong {
font-weight: 700;
font-size: 34px;
line-height: 1.15em;
margin: 0 0 0.6em 0;
}
.searchmodal_close {
position: absolute;
top: 30px;
right: 20px;
width: 30px;
height: 30px;
line-height: 30px;
text-align: center;
color: #fff;
font-size: 1.5em;
border: 1px solid transparent;
border-radius: 3px;
cursor: pointer;
z-index: 999999999999;
}
.searchmodal_close:hover,
.searchmodal_close:focus {
color: #fff;
border-color: #fff;
}
.searchmodal_close .text {
display: none;
}
@media screen and (max-width: 767px) {
	.searchmodal_close {
	top: 20px;
	font-size: 1.25em;
	}
}

.searchmodal form {
position: relative;
max-width: 600px;
margin: 0 auto 20px auto;
}
.searchmodal label {
color: #fff;
font-size: 2em;
font-weight: 700;
margin: 0 0 10px 0;
}
.searchmodal input {
width: 100%;
min-height: 58px;
font-size: 1.1em;
border-radius: 5px;
padding: 15px 50px 15px 15px;
margin: 0;
}
.searchmodal #searchsubmit {
position: absolute;
bottom: 0;
right: 0;
width: 58px;
height: 58px;
border: 0;
font-size: 1.5em;
line-height: 1px;
background: #2f5597;
padding: 0 !important;
margin: 0;
border-radius: 0 4px 4px 0;
cursor: pointer;
}
.searchmodal #searchsubmit:hover,
.searchmodal #searchsubmit:focus {
background-color: #111;
}
.searchmodal #searchsubmit span {
display: none;
}


/* Post Meta
....................................................................... */
.postmeta {
font-size: 0.85em;
line-height: 1.75em;
font-weight: normal;
margin: 30px 0 20px 0;
}
.postmeta p {
margin: 0 0 10px 0;
}
.postmeta p:lastchild {
margin: 0;
}
.postmeta a i.new-win {
width: 11px;
height: 11px;
margin: -2px 2px 0 5px;
}


/* 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: #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
....................................................................... */
.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 a.thumbnail {
display: block;
margin: 0 0 10px 0;
}
.post a.thumbnail:hover,
.post a.thumbnail:focus {
box-shadow: 0 0 10px rgba(0,0,0,0.33);
}
.post .pic,
.post figure.pic {
width: 100%;
aspect-ratio: 8 / 5;
overflow: hidden;
position: relative;
transition: all .2s;
margin: 0;
}
.post .pic img {
display: block;
width: 100%;
height: 100% !important;
object-fit: cover;
object-position: 50% 50%;
transition: all 0.2s ease-in-out;
}
.post a:hover .pic img,
.post a:focus .pic img {
transform: scale(1.05);
}
.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 15px 0;
}
a.postlink {
display: inline-block;
font-weight: 700;
}
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 {
	display: inline-block;
	width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.span8 .post,
	.span9 .post,
	.span10 .post,
	.span11 .post,
	.span12 .post {
	display: block;
	width: 100%;
	}
}


/* Post filter
....................................................................... */
.post_filter {
display: flex;
align-items: flex-start;
margin: 0 0 30px 0;
}
.post_filter .left {
flex: 0 0 66.666%;
padding-right: 30px;
}
.post_filter .right {
padding: 15px 0 0 0;
margin-left: auto;
}
.post_filter .left > :last-child {
margin: 0 !important;
}
.post_filter form,
.post_filter select {
margin: 0;
}
.post_filter label {
position: absolute;
left: -9999px;
top: -9999px;
}
.post_filter select {
font-size: 0.85em;
padding: 10px;
}
@media screen and (max-width: 767px) {
	.post_filter {
	display: block;
	}
	.post_filter .left {
	padding-right: 0;
	padding-bottom: 20px;
	}
}


/* Resource listings
....................................................................... */
.resources {
display: flex;
flex-wrap: wrap;
gap: 30px;
}
.resource {
flex: 0 0 calc(50% - 15px);
display: flex;
box-sizing: border-box;
padding: 0 0.75% 0 0.75%;
margin: 10px -4px 10px 0;
}
.resource p:last-child {
margin: 0;
}
.resource figure {
flex: 0 0 33.33%;
margin: 5px 20px 0 0;
}
@media screen and (max-width: 1023px) {
	.resources {
	gap: 0;
	}
	.resource {
	flex: 0 0 100%;
	padding: 0;
	}
}
@media screen and (max-width: 767px) {
	.resource {
	flex-wrap: wrap;
	}
	.resource figure {
	flex: 0 0 100%;
	margin: 5px 0 15px 0;
	}
}


/* Partner listings
....................................................................... */
.partner {
vertical-align: top;
box-sizing: border-box;
padding: 0 0.75% 0 0.75%;
margin: 10px -4px 30px 0;
}
.span8 .partner,
.span9 .partner {
display: inline-block;
width: 50%;
}
.span12 .partner {
display: inline-block;
width: 33.333%;
}
.span4 .partner,
.span3 .partner {
display: block;
width: 100%;
}
.partner a.pic_link {
display: block;
border: 1px solid #dadada;
margin: 0 0 10px 0;
}
.partner figure.pic {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
aspect-ratio: 2 / 1;
transition: all .2s;
position: relative;
margin: 0;
}
.partner a:hover figure.pic,
.partner a:focus figure.pic {
box-shadow: 0 0 10px rgba(0,0,0,0.33);
}
.partner figure.pic .pic_inner {
display: flex;
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
box-sizing: border-box;
padding: 15px;
overflow: hidden;
}
.partner figure.pic img {
display: block;
max-width: 100%;
max-height: 100%;
object-fit: contain;
transition: all 0.2s;
}
.partner a.pic_link:hover figure.pic img,
.partner a.pic_link:focus figure.pic img {
transform: scale(1.05);
}
.partner .text h3 {
margin: 0 0 10px 0;
}
@media screen and (max-width: 1023px) {
	.span8 .partner,
	.span9 .partner,
	.span12 .partner {
	display: inline-block;
	width: 50%;
	}
}
@media screen and (max-width: 479px) {
	.span8 .partner,
	.span9 .partner,
	.span10 .partner,
	.span11 .partner,
	.span12 .partner {
	display: block;
	width: 100%;
	}
}


/* Doctoral candidate listings
....................................................................... */
.dc_list {
display: flex;
flex-wrap: wrap;
}
.dc {
vertical-align: top;
box-sizing: border-box;
background: #fff;
border: 1px solid #dadada;
padding: 20px 20px;
margin: 10px 0.75% 10px 0.75%;
}
.span8 .dc,
.span9 .dc {
flex: 0 0 calc(33.33% - 1.5%);
}
.span12 .dc {
flex: 0 0 calc(25% - 1.5%);
}
.span4 .dc,
.span3 .dc {
flex: 0 0 100%;
}
.dc figure.pic {
width: 120px;
height: 120px;
margin: 0 auto 15px auto;
}
.dc figure.pic img {
display: block;
width: 100%;
height: 100%;
border-radius: 50%;
transition: all 0.2s;
border: 1px solid #dadada;
}
.dc a.pic_link:hover figure.pic img,
.dc a.pic_link:focus figure.pic img {
transform: scale(1.05);
box-shadow: 0 0 10px rgba(0,0,0,0.33);
}
.dc .text h3,
.dc .text p {
margin: 0 0 10px 0;
}
@media screen and (max-width: 1023px) {
	.span8 .dc,
	.span9 .dc,
	.span12 .dc {
	flex: 0 0 calc(33.33% - 1.5%);
	}
}
@media screen and (max-width: 767px) {
	.span8 .dc,
	.span9 .dc,
	.span12 .dc {
	flex: 0 0 calc(50% - 1.5%);
	}
}
@media screen and (max-width: 479px) {
	.span8 .dc,
	.span9 .dc,
	.span12 .dc {
	flex: 0 0 100%;
	margin-left: 0;
	margin-right: 0;
	}
	.dc figure.pic {
	width: 80px;
	height: 80px;
	}
}


/* Doctoral candidate detail page
....................................................................... */
.dc_detail {
display: flex;
margin: 0 0 30px 0;
}
.dc_detail figure {
flex: 0 0 150px;
margin: 10px 40px 0 0;
}
.dc_detail figure img {
display: block;
width: 100%;
height: 100%;
border-radius: 50%;
}
@media screen and (max-width: 1023px) {
	.dc_detail figure {
	flex: 0 0 100px;
	margin-right: 30px;
	}
}
@media screen and (max-width: 767px) {
	.dc_detail {
	flex-wrap: wrap;
	}
	.dc_detail figure {
	flex: 0 0 100%;
	margin: 0 0 20px 0;
	}
	.dc_detail figure img {
	max-width: 100px;
	}
}


/* Simple full width listings (Open positions + search results)
....................................................................... */
.simple_listing {
border-top: 1px solid #dadada;
padding: 25px 0 10px 0;
}
.simple_listing .text {
width: 66.66%;
}
.simple_listing p.label {
font-size: 0.75em;
margin: 0 0 10px 0;
}
.simple_listing h3 {
margin: 0 0 10px 0;
}
.simple_listing .postmeta {
margin: 10px 0 5px 0;
}
.simple_listing p {
margin: 0 0 10px 0;
}
.simple_listing p a {
margin: 0 0 0 0;
}


/* Research block - TWP custom listings
....................................................................... */
ul.twp_list {
display: flex;
flex-wrap: wrap;
padding: 0;
margin: 0 0 30px 0;
}
.twp_list li {
display: flex;
align-items: stretch;
flex: 0 0 33.33%;
box-sizing: border-box;
padding: 0 0.75%;
margin: 10px 0;
}
.twp_list li:before {
display: none;
}
.twp_list li a {
display: flex;
align-items: center;
flex: 1;
background: #efefef;
padding: 20px 5%;
}
.twp_list li figure {
flex: 0 0 100px;
margin: 0 10px 0 0;
}
.twp_list li figure img {
display: block;
width: 100px;
height: 100px;
}
.twp_list li h4 {
margin: 0;
}
@media screen and (max-width: 1023px) {
	.twp_list li {
	flex: 0 0 50%;
	}
}
@media screen and (max-width: 767px) {
	.twp_list li {
	flex: 0 0 100%;
	}
	.twp_list li a {
	padding-top: 10px;
	padding-bottom: 10px;
	}
}


/* Research block - Research Areas custom listings
....................................................................... */
ul.research_area_list {
padding: 0;
margin: 0 0 30px 0;
}
.research_area_list li {
display: inline-block;
vertical-align: top;
box-sizing: border-box;
padding: 0 38px 0 38px;
margin: 10px -4px 10px 0;
}
.research_area_list li:before {
content: '';
width: 30px;
height: 30px;
background: #efefef;
border-radius: 50%;
font-family: "Font Awesome 5 Free";
content: '\f061';
font-weight: 900;
font-size: 16px;
color: #000;
text-align: center;
line-height: 30px;
margin: -5px 0 0 0;
}
.span8 .research_area_list li,
.span9 .research_area_list li {
display: inline-block;
width: 50%;
}
.span12 .research_area_list li {
display: inline-block;
width: 33.333%;
}
.span4 .research_area_list li,
.span3 .research_area_list li {
display: block;
width: 100%;
}
@media screen and (max-width: 1023px) {
	.span8 .research_area_list li,
	.span9 .research_area_list li,
	.span12 .research_area_list li {
	display: inline-block;
	width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.span8 .research_area_list li,
	.span9 .research_area_list li,
	.span10 .research_area_list li,
	.span11 .research_area_list li,
	.span12 .research_area_list li {
	display: block;
	width: 100%;
	margin: 15px 0;
	}
}


/* Footer
....................................................................... */
footer {
padding: 50px 0 0 0;
}
footer p {
font-size: 0.9em;
}

footer .footer_menu ul {
padding: 0;
margin: 0;
}
footer .footer_menu ul li {
font-weight: 500;
padding: 5px 0;
margin: 0;
}
footer ul li:before {
display: none;
}

footer .footer_cols .last {
text-align: right;
}
footer .footer_cols img {
max-width: 190px;
}
footer .footer_cols a {
color: #072C28;
text-decoration: none;
}
footer .footer_cols a:hover,
footer .footer_cols a:focus {
color: #2f5597;
text-decoration: underline;
}

footer .row.copyright {
font-size: 0.8em;
color: #5c5c5c;
border-top: 1px solid #dadada;
padding: 30px 0 30px 0;
margin: 20px 0 0 0;
}
footer .copyright a {
color: #5c5c5c;
}
footer .copyright a:hover,
footer .copyright a:focus {
color: #072C28;
}
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-accent-color,
.wp-block-button__link.has-accent-color {
color: #2f5597;
}
.has-accent-background-color,
.wp-block-button__link.has-accent-background-color {
background-color: #2f5597;
}
.has-dark-color,
.wp-block-button__link.has-dark-color {
color: #111111;
}
.has-dark-background-color,
.wp-block-button__link.has-dark-background-color {
background-color: #111111;
}
.has-medium-color,
.wp-block-button__link.has-medium-color {
color: #7f7f7f;
}
.has-medium-background-color,
.wp-block-button__link.has-medium-background-color {
background-color: #7f7f7f;
}
.has-light-color,
.wp-block-button__link.has-light-color {
color: #efefef;
}
.has-light-background-color,
.wp-block-button__link.has-light-background-color {
background-color: #efefef;
}
.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 #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;
padding: 15px 25px;
}
.wp-block-button a:hover,
.wp-block-button a:focus {
text-decoration: underline;
}
