/*
Theme Name: need4speed
Theme URI: https://ita.com.au
Author: primary create.
Author URI: 
Version: 1.1
Requires at least: 5.0
Tested up to: 5.7
Requires PHP: 8.n
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: ita

need4speed WordPress Theme © 2015-2023 ITA
need4speed is distributed under the terms of the GNU GPL
*/

/* --------------------------------------- reset --------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:
}

/* --------------------------------------- structure --------------------------------------- */


/* -------------------------------------- fonts --------------------------------------- */

@font-face {
	font-family: 'gotham-book';
	src: url('./css/fonts/Gotham-Book.woff2') format('woff2'),
		url('./css/fonts/Gotham-Book.woff') format('woff'),
		url('./css/fonts/Gotham-Book.ttf') format('truetype');
}

@font-face {
	font-family: 'gotham-bold';
	src: url('./css/fonts/Gotham-Bold.woff2') format('woff2'),
		url('./css/fonts/Gotham-Bold.woff') format('woff'),
		url('./css/fonts/Gotham-Bold.ttf') format('truetype');
}

html {
	font-family:"gotham-book", sans-serif;
	/* font-size: calc(14px + 0.390625vw); */
	font-size: calc(12px + 0.390625vw);
}
	
body {
	background:#dcdcdc;
	color: #1c325b;
	font-weight: 300;
	line-height:normal;
	text-rendering: optimizeLegibility;
	word-wrap:break-word;
}

#wrapper {
	border: 1px solid #ababab;
	min-height:98vh;
	margin:0 auto;
	position: relative;
}

#header_bar {
	background:transparent;
	display: block;
	line-height: 25px;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 11;
}

#header_desktop {
	background: url(./images/header-background.png) no-repeat transparent;
	background-position: bottom left;
	background-size: cover;
	min-height: 10vw;
	margin: 0 auto;
	max-width: 100%;
	padding: 32px 25px;
	vertical-align:middle;
	width:100%;
	z-index:9;
}

#header_desktop.about-us {
	min-height: 380px;
}
#header_desktop.sustainability {
	min-height: 220px;
}
#header_desktop.education {
	min-height: 250px;
}
#header_desktop.news-media {
	min-height: 180px;
}
#header_desktop.regulation {
	min-height: 350px;
}

#header_desktop #logo img, footer #logo img {
	width:356px;
}

#header_mobile {
	background: #e9f6fc;
	border-bottom:1px solid #999;
	position:sticky;
	top:0;
	padding: 26px 16px;
	z-index:21;
}

.home #header_mobile { 
	padding: 20px 16px 8px;
}

#header_mobile #nav_button img {
	filter: invert(0.75);
}

#header_mobile #nav_button img:hover, #header_mobile #nav_button img:active {
	filter: invert(1);
}

#page_banner, #page_banner_mobile {
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	font-weight: lighter;
	height: calc(100vw * 0.3512);
	position: relative;
	width: 100%;
	z-index: 2;
}

#page_banner.menu-active2 {
	margin-top: calc(100vw * 0.39125 * -0.35);
}

.home #page_banner {
	height: calc(100vw * 0.5624);
	margin-top: -50px;
}

#page_banner video {
	position: absolute;
}

#page_banner #dashboard {
	position: absolute;
	top: calc(100vw * 0.3);
	text-align: center;
	z-index:2;
}

#page_banner #dashboard div.grid-25, #page_banner #dashboard div.tablet-grid-25, #dashboard_mobile div.mobile-grid-50 {
	border-right: 1px solid rgba(255,255,255,0.5);
	min-height:195px;
	text-align: center;
} 

#page_banner #dashboard div.grid-25:nth-child(5), #page_banner #dashboard div.tablet-grid-25:nth-child(5) {
	border-right: none;
}

#page_banner #dashboard .grid-25.no-border, #page_banner #dashboard div.tablet-grid-25:last-of-type, #dashboard_mobile div.mobile-grid-50 {
	border-right: 0px solid #fff;
}

#page_banner #dashboard img {
	position: relative;
}

#page_banner #dashboard .end-quantity, #dashboard_mobile .end-quantity {
	display: none;
}

#page_banner #dashboard h2 {
	margin-bottom: 0;
}

#page_banner #dashboard p.smaller, #dashboard_mobile p.smaller  {
	margin-bottom: 0;
}

#page_banner_mobile {
	font-weight: normal;
	height: calc(100vw * 0.75);
	position:relative;
	top:20px;
}

.home #page_banner_mobile {
	height: calc(100vw * 0.56);
}

.banner-heading {
	margin: 0 auto;
	position: absolute;
	top: calc(100vw * 0.18);
	text-align: center;
	width: 100%;
	z-index: 11;
}

body.home .banner-heading {
	top: calc(100vw * 0.18);
}

#page_banner_mobile .banner-heading {
	top: calc(100vw * 0.45);
}

body.home #page_banner_mobile .banner-heading {
	top: calc(100vw * 0.3);
}

#page_banner_mobile .banner-heading h1 {
	font-size: 1.5rem;
	margin: 0 auto 0;
	width: 86%;
}

.home page_banner_mobile .banner-heading {
	margin: calc(100vw * -0.35) auto 0;
}

#page_banner img, #page_banner_mobile img {
	/* height: calc(100vw * 0.351); */
	position: absolute;
}

main.single-post #page_banner img {
	height: calc(100vw * 0.351);
	object-fit: cover;
}

main.single-post {
	margin-top: 110px;
}


main.single-post.blog {
	margin-top: 150px;
}

#dashboard_mobile {
	margin: 32px 0;
}

.banner-heading h1 {
	font-size:56px;
	font-size: 2.8rem;
	font-weight: 300;
	line-height: 1.2;
}

#content {
	background: #fff;
	min-height: 98vh;
	padding:0;
}

footer {
	background: #fffffe;
	border-top: 0px solid #61abec;
	color:#1c325b;
	font-size: 0.85em;
	font-size: 0.85rem;
	min-height: 150px;
	padding: 36px 24px 36px;
	vertical-align:middle;
	width:100%;
}

#footer_copyright {
	margin:24px 0;
}

/* -------------------------------- rows and structure --------------------------------*/

.row {
	background: #fff;
	display: block;
	padding: 120px 0 110px; 
	z-index: 1;
}

#faqs_holder.row, .row.small-padding {
	padding: 70px 0 50px;
}

.row.no-divider-above {
	padding-top: 60px;
}

.row.top-row {
	margin-top:-202px;
	min-height:502px;
}

.row-divider {
	background: transparent;
	display: block;
	margin-top:-4.115vw;
	/* min-height:158px; */
	position: absolute;
	width:100%;
	z-index: 2;
}

.row-divider img {
	height:100%;
	min-height: 8.229vw;
	position: absolute;
	width:100%;
	z-index: 3;
}

.row.dark-blue {
	background: #032f5a;
}

.row.mid-blue {
	background: #3277ba;
}

.row.light-blue {
	background: #1dafed;
}

.row.quite-light-blue {
	background: #1dafed;
}

.row.very-light-blue {
	background: #e6f7fd;
}

.row.white {
	background: #fff;
}

.row.white.no-banner, .row.very-light-blue.no-banner, .row.light-blue.no-banner {
	margin-top: 80px;
}

.row.very-light-blue.blog-single-post {
	margin-top: 0;
	padding: 0 0 110px;
}

.blog-single-content {
	margin-top: -30px;
}

.row.pink {
	background: #fc28fc;
}

.row.orange {
	background: #eb733f;
	color: #fff;
	padding: 40px 0 20px;
	text-align: center;
}

/* ---------------------- section entry tiles ------------------- */

.section-entry-tile {
	background-repeat: no-repeat;
	background-size: 100%;
	float: left;
	margin-right:2%;
	min-height: 700px;
	position: relative; 
	width:48%;
}

.section-entry-tile.other-resources {
	background-size: cover;
	height: 40vw;
	width: 31.33%;
}

section-entry-tile.other-resources:last-child {
	margin-right: 0;
}

.row .section-entry-tile .content-container {
	position:absolute;
	bottom: 48px;
	left: 0;
	right: 0;
}

.row .section-entry-tile.other-resources .content-container { 
	bottom:78px;
}

.row .section-entry-tile h2 {
	color:#fff;
	font-family: "gotham-bold", sans-serif;
	font-weight: 400;
	margin-bottom: 0;
	padding: 16px 0 0 32px;
	position:relative;
	top: 0;
	left: 0;
	width:96%;
}

.row .section-entry-tile.other-resources h2 {
	font-size: 1.35rem;
	top: 64%;
	width: 96%;
}

.row .section-entry-tile p {
	color:#fff;
	margin: 0;
	padding: 18px 0 12px 32px;
	position:relative;
	top: 0;
	left: 0;
	width: 96%;
}

.section-entry-tile .button {
	background: #faa142;
	border: 1px solid #faa142;
	border-radius: 4px;
	color: #fff;
	font-family: "gotham-bold", sans-serif;
	font-weight: 400;
	letter-spacing: 0.03em;
	padding: 8px 24px;
	position: absolute;
	bottom: 32px;
	left: 32px ;
	text-align:center;
	text-decoration:none;
	min-width:40%; 
}

.section-entry-tile.other-resources .button {
	bottom: unset;
	top:unset;
	margin-top: 12px;
}

.section-entry-tile.environment .button, .section-entry-tile.education .button {
	min-height: 0;
	position: relative;
	top: 12px;
	width: 40%;
}


/* --------------------------- icon tiles ----------------------- */

.icon-tiles {
	color:#002e5c;
	margin-top:36px;
	text-align: center;
}

.icon-tiles h2.heading {
	color:#002e5c;
	margin: 24px 0;
}

.icon-tiles p {
	font-size: 18px;
	font-size: 0.9rem;
}

.icon-tiles img {
	width:300px;
}

/* --------------------------- staff tiles ----------------------- */

.row .staff-tiles {
	cursor: zoom-in;
	text-align:left;
}

.row .staff-tiles:hover > img {
	filter: grayscale(100%);
	transform: scale(1);
}

.row .staff-tiles h2.heading {
	margin-bottom:4px;
}

.row .staff-tiles:hover > h2.heading, .row .staff-tiles:hover h4.sub-heading {
	/* color: #000; */
}

.row .staff-tiles h4.sub-heading {
	margin: 2px 0 0;
}

#news_holder .call-to-action-block.staff-tiles.active .heading {
	display:inline-block;
	min-height: 0;
	top: 0;
}

/* --------------------------- blue tiles ----------------------- */

.blue-tiles {
	background: #CDEFFC;
	float: left;
	margin-right: 2%;
	min-height: 475px;
	padding: 24px 2%;
	position: relative;
	text-align: center;
	width: 31%;
}

#areas_we_serve_two .blue-tiles {
	min-height: 510px;
	padding: 24px 0 0;
	width: 48%;
}

.blue-tiles:last-child {
	margin-right: 0;
}

.blue-tiles h3, .blue-tiles h3 {
	margin-bottom:10px;
}

.blue-tiles p {
	font-size: 0.85em;
	font-size: 0.85rem;
	margin:12px auto;
	width:80%;
}

/* ------------------ key step tiles (education) ----------------- */

.key-step-tile {
	background: #b4e7f9;
	color: #032f5a;
	display:inline-block;
	height:auto;
	margin-right: 1.5%;
	min-height: 30px;
}

.key-step-tile.grid-15, .key-step-tile.tablet-grid-15 {
	padding: 0;
}

.key-step-tile.grid-15:nth-child(1), .key-step-tile.tablet-grid-15:nth-child(1) {
	margin-left: 10px;
}

.key-step-tile .title {
	background: #032f5a;
	color: #fffffe;
	padding: 14px;
	text-align: center;
}

.key-step-tile div.text {
	display:block;
}

.key-step-tile div.text p {
	color: #032f5a;
	display: block;
	font-size: 0.95em;
	padding: 14px 12px 0;
}

/* --------------------------- call to action blocks and tiles ----------------------- */

/* -------- GENERIC CTA STYLES ---------- */

#front_page_content_video img {
	display: block;
}

.call-to-action-block {
	background: #e6f7fd;
	color:#002e5c;
	cursor:pointer;
	margin-right: 2%;
	min-height: 450px;
	padding-top: 30px;
	position: relative;
	text-align:center;
	width: 32% !important;
	z-index: 1;
}

.call-to-action-block:last-child {
	margin-right: 0;
}

.call-to-action-icon {
	height:100px;
	margin:0;
	width: auto;
}

.row .call-to-action-block .heading h2 {
	color:#fff;
	font-family: "gotham-bold", sans-serif;
	font-weight: 400;
	margin: 0;
	padding: 0;
	width: 96%;
}

.row .call-to-action-block h2.heading {
	color:#002e5c;
	font-family: "gotham-bold", sans-serif;
	font-weight: 400;
	margin-bottom: 0;
	min-height: 95px;
	padding: 24px 12px 0;
	width:100%;
}

.call-to-action-block p.intro {
	position: relative;
	top: 8px;
	width:98%;
}

.call-to-action-block .button, .blue-tiles .button {
	background: #faa142;
	border: 1px solid #faa142;
	border-radius: 4px;
	color: #fff;
	display:inline-block;
	font-family: "gotham-bold", sans-serif;
	font-weight: 400;
	letter-spacing: 0.03em;
	min-width:50%;
	padding: 8px 24px;
	text-align:center;
	text-decoration:none;
}

.call-to-action-block .button {
	position: absolute;
	bottom: 5%;
	left: 13%;
	right: 13%;
	width: 74%;
}

.blue-tiles .button {
	position:absolute;
	left: 10%;
	right: 10%;
	bottom: 32px;
}

.call-to-action-block .button:hover, .section-entry-tile .button:hover, .blue-tiles .button:hover, a.button:hover {
	background: #fff;
	border: 1px solid #faa142;
	color: #faa142;;
}

/* --------- HOME PAGE CTAs ------------- */

body.home .call-to-action-block, #news_holder .call-to-action-block, #jobs_holder .call-to-action-block, #resources_holder .call-to-action-block {
	background-size: cover;
	color:#002e5c;
	cursor:pointer;
	float: left;
	height: 367px;
	margin:0 2% 30px;
	min-height: 308px;
	padding:0;
	position: relative;
	text-align: left;
	width:46% !important;
}

body.home .call-to-action-block.active .content-container, #news_holder .call-to-action-block .content-container, #jobs_holder .call-to-action-block .content-container, #resources_holder .call-to-action-block .content-container {
	position:absolute;
	bottom: 36px;
	left: 0;
	padding-bottom: 18px;
}

body.home .call-to-action-block-overlay, #news_holder .call-to-action-block-overlay, #jobs_holder .call-to-action-block-overlay, #resources_holder .call-to-action-block-overlay {
	background:transparent;
	height:100%;
	position: absolute;
	width:100%;
	z-index: 2;
}

body.home .call-to-action-block.active .call-to-action-block-overlay, #news_holder .call-to-action-block.active .call-to-action-block-overlay, #jobs_holder .call-to-action-block.active .call-to-action-block-overlay, #resources_holder .call-to-action-block.active .call-to-action-block-overlay {
	background:url('./images/call-to-action-block-overlay.png') no-repeat;
	background-size: cover;
	opacity: 0.8;
} 

#jobs_holder .call-to-action-block.resource-tiles.active .call-to-action-block-overlay {
	opacity: 0.6;
}

body.home .call-to-action-block .heading, #news_holder .call-to-action-block .heading, #jobs_holder .call-to-action-block .heading, #resources_holder .call-to-action-block .heading {
	font-family: "gotham-bold", sans-serif;
	font-weight: 400;
	min-height:46px;
	padding: 0 12px 0 34px;
	position: absolute;
	bottom: 0;
	width:100%;
	z-index: 3;
}

body.home .call-to-action-block .intro, #news_holder .call-to-action-block .intro, #jobs_holder .call-to-action-block .intro, #resources_holder .call-to-action-block .intro  {
	color:#fff;
	display:none;
	margin-bottom: 12px;
	padding: 12px 34px 0; 
	z-index: 3;
}

body.home .call-to-action-block.active .heading, #news_holder .call-to-action-block.active .heading, #jobs_holder .call-to-action-block.active .heading,  #resources_holder .call-to-action-block.active .heading {
	background: none;
	min-height:0;
	position:relative;
	bottom: revert;
}

body.home .call-to-action-block.active .intro, #news_holder .call-to-action-block.active .intro, #jobs_holder .call-to-action-block.active .intro  {
	display:inline-block;
	padding: 12px 34px 0;
	position: relative;
}

#news_holder .call-to-action-block.active .heading, #jobs_holder .call-to-action-block.active .heading, #resources_holder .call-to-action-block.active .heading { 
	top: 30%;
}
#news_holder .call-to-action-block.active .intro, #jobs_holder .call-to-action-block.active .intro,  #resources_holder .call-to-action-block.active .intro {
	top: 24%;
}

body.home .call-to-action-block.active .button, #news_holder .call-to-action-block.active .button, #jobs_holder.call-to-action-block.active .button, #resources_holder.call-to-action-block.active .button {
	display: inline-block;
}

body.home .call-to-action-block .button, #news_holder .call-to-action-block .button, #jobs_holder .call-to-action-block .button, #resources_holder .call-to-action-block .button {
	display:none;
	max-width: 50%;
	position: relative;
	top: 24px;
	left: 36px;
	z-index: 3;
}

#jobs_holder .call-to-action-block .button, #resources_holder .call-to-action-block .button {
	display: inline-block;
}

/* ------------------ animations ------------------------ */

.animation h2, .animation h3, .animation h4 {
	line-height: 1.2;
	margin: 0 auto;
	width: 90%;
}

.animation #animation_maximum {
	font-size: 5rem;
	line-height: 1;
}

.animation h3.headline {
	font-size:30px;
	font-size: 1.5rem;
}

.animation h4.sub-headline {
	font-size:20px;
	font-size: 1rem;
}

.counter {
	display: inline;
	min-width: 0;
}



/* ------------------- BLOG ----------------------- */

div.blog-entry-content p {
	margin-bottom: 8px;
}

p.blog-read-more a {
	color: #002e5c;
	font-family: 'gotham-bold', 'gotham-book', 'sans-serif';
	font-size: 0.75em;
	font-weight: 800;
	text-transform: uppercase;
}

p.blog-date {
	color: #99aec1;
	font-size: 0.9em;
}

a.blog-cta-link {
	background-color: #faa142;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-family: 'gotham-bold', 'sans-serif';
	padding: 6px 0;
	text-align: center;
	width: 100%;
}

.blog-more-posts-holder {
  display: flex; /* Make the container element behave like a table */
  width: 100%; /* Set full-width to expand the whole page */
}

.blog-more-posts-tile {
	/*display: table-cell; */
	 /* Make elements inside the container behave like table cells */
	flex: 1;
	background: #fff;
	color: #002e5c;
	margin-right: 3%;
	width:30%;
}

.blog-more-posts-tile:first-child {
	margin-left: 1%;
}

.blog-more-posts-tile:last-child {
	margin-right: 0;
}

.blog-more-posts-tile .image-holder img {
	display: block;
	object-fit: fill;
	max-height: 220px;
}

.blog-more-posts-tile .content {
	padding: 20px;
}

.row.mid-blue .blog-more-posts-tile .content h2 {
	color: #002e5c;
}

.blog-more-posts-tile .content p {
	color: #002e5c;
	margin-bottom: 12px;
}

.blog-additional-images-tile {
	height: 320px;
	margin-bottom: 12px;
}

.blog-additional-images-tile img {
	height: 320px;
	object-fit: cover;
}

.image-mosaic {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-auto-rows: 240px;
  max-width: 96%;
  margin: 0 auto;
}

.card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #353535;
  font-size: 3rem;
  color: #fff;
  box-shadow: rgba(3, 8, 20, 0.1) 0px 0.15rem 0.5rem, rgba(2, 8, 20, 0.1) 0px 0.075rem 0.175rem;
  height: 100%;
  width: 100%;
  border-radius: 4px;
  transition: all 500ms;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 0;
  margin: 0;
}

@media screen and (min-width: 600px) {
  .card-tall {
    grid-row: span 2 / auto;
  }

  .card-wide {
    grid-column: span 2 / auto;
  }
}

/* ------------------- random items ----------------------- */

#history_infographic {
	width: 90%;
}

.read-more-content {
	display: none;
}

.read-more-button {
	cursor: pointer;
}

/* --------------------------------------- text --------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	color: #fff;
	font-family:"gotham-bold", sans-serif;
	font-weight:400;
	letter-spacing: 0.02em;
	margin-bottom:16px;
	text-rendering: optimizeLegibility;
}

h1 {
	font-size: 1.6rem;
	padding-bottom: 4px;
	width: 100%;
}

.banner-heading h1 {
	font-family:"gotham-book", sans-serif;
	text-shadow: 1px 1px rgba(0,0,0,0.35);
}

h2 {
	font-size: 1.4rem;
}

h2.larger {
	font-size: 1.5rem;
}

.row.dark-blue h2, .row.mid-blue h2, .row.light-blue h2 {
	color:#fff;
}

.row.white h2, .row.white h3, .row.white h4, .quite-light-blue h2, .quite-light-blue h3, .very-light-blue h2, .very-light-blue h3  {
	color:#032F5A;
}

h3 {
	font-size: 1.1rem;
}

h3.larger {
	font-size: 1.2rem;
}

h1.book, h3.book {
	font-family:"gotham-book", sans-serif;
}

h4 {
	font-size: 1rem;
}

h4.book {
	font-family:"gotham-book", sans-serif;
}

h5 {
	font-size: 0.9rem;
}
h6 { 
	font-size: 0.8rem;
}

p, li, .gform_confirmation_message {
	line-height: 1.4;
	margin:0 0 24px;
}

p.smaller {
	font-size: 0.85rem;
}

p.larger, li.larger {
	font-size: 1.15rem;
}

p.line-height-tight {
	line-height: 1.2;
}

strong {
	font-family: 'gotham-bold', sans-serif;
	font-weight: 600;
}

div.has-list ul li {
	list-style: disc;
	margin-left: 12px;
	padding-left: 12px;
}

.row.dark-blue p, .row.dark-blue li {
	color:#fff;
}

#owners_content p {
	font-size: 0.9rem;
}

a { 
	color: #007bb9;
	font-weight: 400;
	text-decoration: none;
}
a:hover, a:focus, a:active {
	color: #032F5A;
	text-decoration:none;
}

.dark-blue a {
	border-bottom: 1px solid #ccc;
	color:#fff;
}

a.button {
	background: #faa142;
	border: 1px solid #faa142;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-family: "gotham-bold", sans-serif;
	font-weight: 400;
	letter-spacing: 0.03em;
	padding: 4px 24px;
	text-align:center;
	text-decoration:none;
}

a.button.find-out-more {
	min-width: 97%;
}

em {
	font-style:italic;
}

small {
	font-size: 0.8rem;
}

sub,
sup {
	font-size: 0.75rem;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

hr {
	
	background: #494c50;
	border:0;
	color: #494c50;
	height:1px;
	margin:16px 0;
}

.display-inline {
	display: inline;
}

/* --------------------------------------- lists --------------------------------------- */
ul,
ol {
	margin: 0 0 1.5em;
	padding: 0;
}

ul {
	list-style: none;
}

ul.content-list li {
	list-style:disc;
	margin: 0 0 10px 20px;
}

ul.plain-old-list {
	margin-bottom: 0;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

ul.faqs {
	margin-bottom: 0;
}

li.faq {
	background:#fff;
	margin-bottom: 12px;
	padding: 9px;
}

.faq-question {
	cursor:pointer;
	font-size: 1rem;
	padding-right: 20px;
	position:relative;
}

.faq-question:after {
  content:"";
  border-color:#61abec transparent transparent transparent;
  border-style:solid;
  border-width:10px;
  font-size: 1rem;
  height:0;
  position:absolute;
  bottom: 25%;
  top:25%;
  right:10px;
  width:0;
}

.faq-question:hover, .faq-question.active {
	/* background: rgba(0,255,0,0.1) */
}

.faq-question.active:after {
  border-color:transparent transparent #61abec transparent;
  top: -10%;
}

.faq-answer {
	display:none;
	font-size: 1em;
	font-size: 1rem;
	padding: 16px 0 8px;
}

ul.about-us-menu {
	margin-bottom: 0;
	width:100%;
}

ul.about-us-menu:last-of-type {
	margin-bottom: 0;
}

ul.about-us-menu li {
	background: #2e75bd;
	cursor: pointer;
	color:#fff;
	display:inline-block;
	font-size: 1.1rem;
	font-weight: 600;
	margin: 0 0.75% 20px;
	max-width: 23.5%;
	min-width:23.5%;
	padding: 9px 12px;
	text-align: center;
}

ul.about-us-menu.regulation-menu li {
	min-height: 1rem;
	/*min-width: 16.66%; */
	min-width: 31.8%;
	vertical-align: middle;
}

ul.about-us-menu.regulation-menu a:first-child li {
	min-width: 98.3%;
}

#how_to_page ul.about-us-menu.how-to-menu li {
	min-width: 15%;
	min-height: 81px;
	vertical-align: middle;
}

#how_to_page ul.about-us-menu.how-to-menu a:nth-child(4) > li {
	line-height: 63px;
}

ul.about-us-menu a:first-child li {
	/* margin-left: 0; */
}

ul.about-us-menu a:last-child li {
	margin-right: 0;
}

ul.about-us-menu li:hover, ul.about-us-menu li:active, ul.about-us-menu li.current {
	background: #002e5c;
	font-family: "gotham-bold", sans-serif;
}

/* --------------------------------------- alignment & spacing --------------------------------------- */
.alignleft {
	margin:0 30px 30px 0; 
	float:left;
}
.alignright {
	margin:0 0 30px 30px; 
	float:right;
}
.aligncenter {
	display:block;
	margin:30px auto; 
	clear:both;
}
.left {
	text-align:left;
}
.center {
	text-align:center;
}
.right, .right p {
	text-align:right;
}
.float-left { 
	float:left;
}
.float-right {
	float:right;
}
.clear {
	clear:both;
}
.clear-left {
	clear:left;
}
.clear-right {
	clear:right;
}
.clear-float:after, header:after, #container:after, .boxes:after {
	display:table;
	content:'';
	clear:both;
}
.offset {
	padding-top:100px;margin-top:-100px;
}

.ag-vertical-spacer-12 {
	display: block;
	min-height: 12px;
	width:100%;
}

.ag-vertical-spacer-24 {
	display: block;
	min-height: 24px;
	width:100%;
}

.ag-vertical-spacer-36 {
	display: block;
	min-height: 36px;
	width:100%;
}

.ag-vertical-spacer-48 {
	display: block;
	min-height: 48px;
	width:100%;
}

.ag-vertical-spacer-72 {
	display: block;
	min-height: 72px;
	width:100%;
}

.ag-vertical-spacer-96 {
	display: block;
	min-height: 96px;
	width:100%;
}

/* --------------------------------------- menu --------------------------------------- */

#menu-main-menu {
	display:block;
	margin: 20px;
	position:relative;
	width:100%;
}

#menu-main-menu li {
	display:inline-block;
	height: 45px;
	padding: 0 2px;
	position: relative;
	text-align: left;
}

#menu-main-menu > li:nth-child(1) {
	
}

#menu-main-menu li:last-child {
	
}

#menu-main-menu li a {
	color:#1c325b;
	display:inline-block;
	letter-spacing: 0.01em;
	font-size: 1rem;
	font-weight:400;
	min-width: 140px;
	padding:4px 20px;
	text-decoration: none;
}

#menu-main-menu li.menu-item-has-children > a:after  {
  content:"";
  border-color:#1c325b transparent transparent transparent;
  border-style:solid;
  border-width:4px;
  width:0;
  height:0;
  position: absolute;
  top: 32%;
  margin-left: 6%;
}

#menu-main-menu li > ul {
	background: transparent;
	display: none;
	position: absolute;
	left: 4px;
	top: 30px;
	margin-left: 0;
	min-width: 480px;
	text-align: left;
}


#menu-main-menu li:nth-child(1) > ul {

}

#menu-main-menu li:nth-child(2) > ul {
	
}


#menu-main-menu li:hover > ul {
	display: block;
}

#menu-main-menu li a:hover, #menu-main-menu li.current-menu-item > a, #menu-main-menu li.current-page-ancestor > a, #menu-mobile-menu li.current-menu-item > a, #menu-mobile-menu li.current-page-ancestor > a, #menu-main-menu li.current_page_parent > a {
	font-family: 'gotham-bold', sans-serif;
	font-weight: 400;
}

#menu-main-menu li ul li {
	display:block;
	height: 28px;
	margin-bottom: 0;
	text-align: left;
}

#menu-main-menu li ul li a, #header_desktop #menu-main-menu li.current-menu-item ul li a {
	background: transparent;
	cursor: pointer;
	display: block;
	font-size: 0.9rem;
	height: 36px;
	line-height: 36px;
	padding:0 16px;
}

#menu-main-menu li ul li:last-child a {
	margin-bottom: 8px;
}

#nav_button img {
	cursor:pointer;
	margin-top: 15px;
	padding:0;
	width:40px;
	z-index:23;
}

#mobile_navigation {
	color:#1a1a1a;
	display:none;
	padding:0;
	position:absolute;
	top: 114px;
	right:0;
	width:100%;
	z-index:23;	
}

.home #mobile_navigation {
	top: 90px;
}

#menu-mobile-menu {
	background: #e9f6fc;
	border-bottom:2px solid #1a1a1a;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	margin-left: 0;
	width: 100%;
}

#menu-mobile-menu li { 
	cursor:pointer;
	border-bottom:1px solid #1a1a1a;
	line-height:1.6;
	margin:0;
	padding:12px 0;
	width:100%;
}

#menu-mobile-menu li:last-child {
	border-bottom:none;
}

#menu-mobile-menu li a {
	color: #1a1a1a;
	cursor: pointer;
	display: block;
	font-family: 'gotham-bold', sans-serif;
	font-size: 1.2rem;
	font-weight: 400;
	height: 36px;
	letter-spacing: 0.1em;
	line-height: 36px;
	padding:0 36px;
	text-decoration: none;
	text-transform: none;
	width:100%;
}

#menu-mobile-menu li a:hover {
	color: #343434;
}

#menu-mobile-menu li ul li {
	border-bottom:none;
	padding: 8px 0;
}

#menu-mobile-menu li ul li a {
	font-size: 1em;
	font-size: 1rem;
}

.menu-footer-menu-container {
	text-align: right;
}

#menu-footer-menu {
	display:block;
	margin: 0 0 9px;
}

#menu-footer-menu li {
	display:inline-block;
	margin-bottom: 12px;
	position: relative;
}

#menu-footer-menu li a {
	color:#1c325b;
	font-size: 1em;
	font-size: 0.8rem;
	font-weight:300;
	letter-spacing: 0.03em;
	padding:0 10px;
	text-decoration: none;
	width:100%;
}

#menu-footer-menu li:last-child a {
	padding-right: 0;
}

#menu-footer-menu li a:hover {
	color: #3DBCF2;
	text-decoration: none;
}

#modal_overlay {
	background:rgba(0,46,92,0.95);
	display:none;
	height:100%;
	position:fixed;
	top: 0;
	left: 0;
	width:100%;
	z-index:19;
}

.staff-modal {
	color: #fff;
	display: none;
	float:left;
	min-height: 300px;
	overflow-y: auto;
	position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
	z-index:20;
}

.staff-modal h2 {
	margin-bottom: 12px;
}

.staff-modal .staff-modal-close {
	background: url('images/staff-modal-close.png') no-repeat;
	cursor: pointer;
	position: absolute;
	left: 90%;
	top: 0%;
	height: 65px;
	width: 65px;
	z-index: 21;
}

.staff-modal.news-modal {
	height: 70%;
	top: 50%;
}

.staff-modal.news-modal p {
	padding-top: 30px;
}
.staff-modal.news-modal h2 {
	margin-bottom: 0;
	max-width: 90%;
}
.staff-modal.news-modal.job-modal p {
	padding-top: 0;
}

.staff-modal  img.wrapped {
	float: left;
	margin: 4px 24px 12px 0;
}

.staff-modal-read-more {
	border-top: 1px solid #fff;
	height: 12px;
	padding: 12px 0 0;
	position: fixed;
	bottom: 24px;
}

.row.white .staff-modal h2, .row.white .staff-modal h3, .row.white .staff-modal h4, .row.white .staff-modal p {
	color: #fff;
}

.row.white .staff-modal p img {
	padding-top: 36px;
}

/* ------------------------------------ how to videos -----------------------------------*/


.video-navigation {
	background: #fff;
	border: 2px solid #007BB9;
	border-radius: 4px;
	color: #007BB9 ;
	cursor: pointer;
	font-size: 1.4em;
	font-size: 1.4rem;
	font-weight: 400;
	height: 55px;
	letter-spacing: 0.01em;
	line-height: 55px;
	text-align: center;
}

.video-navigation.active, .video-navigation:hover, .video-navigation:active {
	background: #007BB9;
	color: #fff;
}

/* --------------------------------------- forms --------------------------------------- */

input[type="text"], input[type="email"], input[type="tel"], input[type="date"], textarea, select, 
.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
	background:#f6f6f6;
	background: #fff;
	border: 1px solid #ccc;
	cursor: pointer;
	font-size: 1em !important;
	font-size: 1rem !important;
	margin-top:10px;
	outline:0;
	padding: 12px 15px !important;
}

.gform_wrapper.gravity-theme .gfield_label {
	font-size: 1em !important;
	font-size: 1rem !important;
}

.gform_wrapper.gravity-theme .gfield_header_item, .gform_wrapper.gravity-theme .gform_fileupload_rules, .gform_wrapper.gravity-theme .ginput_complex label {
	font-size: 0.9em !important;
	font-size: 0.9rem !important;
}

.gform_wrapper.gravity-theme .gsection {
	border-bottom: none !important;
}

input[type="text"].small {
	width: 20%;
}

input[type="text"].medium {
	width: 40%;
}

input[type="text"]:focus, textarea:focus {
	border-bottom:1px solid #007acc
}

input[type="submit"], input[type="button"], .gform-button { 
	background: #faa142;
	border: 1px solid #faa142;
	border-radius: 4px;
	color: #fff;
	cursor: pointer;
	display:inline-block;
	font-family: "gotham-bold", sans-serif;
	font-size: 16px;
	font-size: 0.8rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	margin-top: 16px;
	padding: 10px 32px;
	text-align:center;
	text-decoration:none;
}

input[type="submit"]:hover, input[type="submit"]:focus, button:hover, button:focus, .button:hover, .button:focus {
	/* color:#002E5C; */
}

.ag-gform-h3, h3.gsection_title {
	margin: 24px 0 6px;
}

.gform_wrapper.gravity-theme .field_sublabel_above .gsection_description {
	margin-top: 0 !important;
}

.ag-medium-to-large input, .gform_wrapper.gravity-theme .ginput_container_date input {
	width: 100% !important;
}


/* --------------------------------------- search & 404 --------------------------------------- */

#search #search_icon {
	cursor: zoom-in;
	margin-top: 23px;
	z-index: 4;
}

#search_input_holder {
	display: none;
	margin-top: 6px;
	min-width: 390px;
	position:relative;
	top: -44px; 
	right: 405px;
	z-index: 3;
}

#search .search-field {
	background-color: transparent;
	border: 1px solid #4a4a4a;
	border-radius: 24px;
	color: #4a4a4a;
	height: 36px;
	padding: 10px;
	position: relative;
	right: 0%;
	top: 0;
	margin-top:0;
	width: 100%;
}

#search .search-field:focus {
	color: #4a4a4a;
	cursor:text;
	font-family:"gotham-book", sans-serif;
	width:100%;
}

#search_input::placeholder {
	font-family:"gotham-book", sans-serif;
	font-size: 0.8rem;
}

.widget-container .search-field {
	width:100%;
}
.error404 .entry-content .search-field, .search .entry-content .search-field {
	width:200px;margin-top:30px;
}
.error404 .entry-content .search-field, .search .entry-content .search-field, .widget-container .search-field {
	background-color:#f6f6f6;
}
.search-field {
	background:url(images/find.png) no-repeat 98% center / 24px auto
}

/* --------------------------------------- miscellaneous --------------------------------------- */
.lighter {
	background-color:rgba(255,255,255,0.05);
}
.darker {
	background-color:rgba(0,0,0,0.05);
}
.overlay:before {
	position:fixed;top:0;left:0;width:100%;height:100%;content:'';background:rgba(0,0,0,0.5);z-index:10;
}

a img, input[type="image"], iframe{ 
	border:0;
}
a img:hover, a:focus img, a svg:hover, a:focus svg {
	opacity:0.8;
}
img, video, audio, table, select, textarea {
	max-width:100% !important;
	height:auto;
}

img.block, video.block {
	display: block;
}

table {
	width:100%;
	margin:30px 0;
}

#back_to_top {
	background: url('./images/icon-back-to-top-ag.png');
	cursor:pointer;
	display:none;
	height: 60px;
	position:fixed;
	bottom:5%;
	right:3%;
	width: 60px;
	z-index:9;
}

.gform_heading {
	display: none;
}


/* ------------------------------- HOW TO ------------------------------ */

#how_to_page .row {
	padding-bottom: 60px;
}

#header_desktop h1 {
	color: #002E5C;
	float:right;
	margin-top: 24px;
}

.ag-inline {
	display: inline;
	vertical-align: bottom;
}

/* Blog Pagination Improvements */

.blog-entry-row {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    margin-bottom: 2rem;
}

.blog-entry-row.loading {
    opacity: 0.5;
}

/* Load more button styling */
.blog-cta-link {
    display: inline-block;
    background: #0073aa;
    color: white;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s ease;
    cursor: pointer;
    border: none;
    font-size: 16px;
}

.blog-cta-link:hover {
    background: #005a87;
    color: white;
    text-decoration: none;
}

.blog-cta-link:disabled {
    background: #ccc;
    cursor: not-allowed;
}

/* Loading spinner */
#loading-spinner {
    text-align: center;
    padding: 20px;
    font-style: italic;
    color: #666;
}

#loading-spinner::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #0073aa;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-right: 10px;
    vertical-align: middle;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* No image placeholder */
.no-image-placeholder {
    background: #f8f8f8;
    border: 2px dashed #ddd;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
}

/* Enhanced blog entry styling */
.blog-entry-content h2 {
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 1.5rem;
    line-height: 1.3;
}

.blog-entry-content p {
    margin-bottom: 1rem;
}

.blog-read-more a {
    font-weight: bold;
    color: #0073aa;
    text-decoration: none;
}

.blog-read-more a:hover {
    text-decoration: underline;
}

.blog-date {
    color: #666;
    font-size: 0.9rem;
    font-style: italic;
    margin-bottom: 0 !important;
}

/* Responsive improvements */
@media (max-width: 768px) {
    .blog-entry-row {
        margin-bottom: 3rem;
    }
    
    .blog-cta-link {
        width: 100%;
        text-align: center;
        padding: 16px 24px;
    }
}

/* Animation for new posts loading in */
.blog-entry-row.newly-loaded {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* --------------------------------------- accessibility --------------------------------------- */
a.screen-reader-text {
	border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:0.7rem;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}
.search-submit{display:none !important}