/*
Theme Name: AEOA
Theme URI: http://aeoa.org
Description: This is the theme for AEOA.
Author: Kimberly Kladivo
Author URI: http://wafishermn.com/
License: 
License URI: 
Template: wafish
Version: 0.1
*/
@import url("../wafish/style.css");
@import url("//use.typekit.net/azi7sbh.css");


:root {
	--darkblue: #043548;	
	--blue: #075473;	
	--burgundy: #5e0a0b;
	--lightblue: #9fbcc1;
	--darkgrey: #595959;
	--lightgrey: #e3e5e9;
	--red: #8d2831;
	--bluegradient: linear-gradient(90deg, rgba(4,53,72,1) 0%, rgba(7,84,115,1) 100%);
	--reversebluegradient: linear-gradient(90deg, rgba(7,84,115,1) 0%, rgba(4,53,72,1) 100%);
}
body {
	font-family: "open-sans", sans-serif;
	font-size: 18px;
	color: 	var(--darkgrey);
	line-height: 1.2em;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	color: var(--darkblue);
	margin-bottom:20px;
	text-transform: uppercase;
	line-height: 1em;
}
h1 {
	font-size: 2.2em;
}
h2 {
	font-size: 2em;
}
h3 {
	font-size: 1.8em;
}
h4 {
	font-size: 1.6em;
}
h5 {
	font-size: 1.4em;
}
h6 {
	font-size: 1.2em;	
}
p, ul, ol {
	line-height: 1.2em;
	margin-bottom: 10px;
}
ul {
	list-style: disc;
	margin-left: 40px;	
}
ol {
	list-style: decimal;
	margin-left: 40px;	
}
a {
	color: var(--blue);
}
a:hover {
	opacity: .8;
	color: inherit;
}
strong, b {
	font-weight: 700;
}
em, i {
	font-style: italic;	
}
em strong {
	font-size: .8em;
}
.button {
	background: var(--bluegradient);	
	text-transform: uppercase;
	font-weight: 800;
	letter-spacing: 1pt;
	padding: 15px 30px;
	color: #fff;
	transition: all 1s ease;
}
.button:hover {
	background: var(--reversebluegradient);
	
}
.button.button-block {
	display: block;	
}
.link {
	font-weight: 700;
	letter-spacing: 1pt;
	color: var(--burgundy);
	text-transform: uppercase;
	font-size: .9em;

}
.link:after {
	content: '\f30b';
	font-family: "Font Awesome 6 Pro";
	font-weight: 900;
	margin-left: 10px;
}
.link:hover {
	color: var(--red);
}
.wp-caption {
	max-width: 100%;
	width: auto;	
}
.row {
		
}
.row.full {
	max-width: 90%;
}
.row.full-full {
	max-width:100%;
}
.row .columns {
	position: relative;
}
header {
	
}
header .top-banner {
	background: var(--burgundy);
	color: #fff;
	text-align: center;
	padding: 10px;	
	font-size: .9em;
}
header .top-banner * {
	color: #fff;
}
header .top-banner p:last-of-type {
	margin-bottom: 0;
}
header .top-banner a {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1pt;	
}
.upper {
	background: var(--darkblue);
	text-align: right;
}	
.upper .menu li {
	display: inline-block;
}
.upper .menu > li > a {
	color: #fff;	
	font-size: .8em;
	padding: 15px 20px;	
}
.upper .menu li .is-dropdown-submenu {
	background: var(--darkblue);
	border: none;
}
.top-bar {
	background: #fff;
	padding: 0;
}

.top-bar-title {
	padding: 40px 0 40px 40px;		
}

.top-bar-title img { 
	max-height: 80px;	
}

.top-bar .top-bar-right > ul {
	background: none;
	padding: 60px 40px 60px 0;	
}

.dropdown.menu > li {
	text-align: center;
	display: inline-block;
}
.menu > li > a {
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1pt;
}
.top-bar .menu > li > a {
	color: var(--darkblue);
	font-size: .9em;
	padding: 8px 15px;	
}
.top-bar .menu > li > a:hover, .top-bar .menu > li.current-menu-item > a {
	color: var(--red);
	opacity: 1;
}
.menu > li.has-button > a {
	padding: 15px 20px;	
	color: #fff;
	font-weight: 800;
}
.menu > li.has-button > a:hover {
	color: #fff;
}
.top-bar .menu > li.has-dropdown a {
	padding-right: 15px;	
	position:relative;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
	border: none;	
}
.dropdown.menu > li.opens-left > .is-dropdown-submenu {
	left: 0;
	right: auto;	
	background: #fff;
	border: none;
	min-width: 400px;
	padding: 10px 15px;
	border-top: 10px solid var(--darkblue);
	top: 100px;
	z-index: 31;
}

.dropdown.menu > li ul {
	text-align: left;	
}
.dropdown.menu > li ul li a {
	padding: 10px 15px;	
	color: var(--red);
}
.toggle-mega-menu  {
	position:relative;
}
.toggle-mega-menu a {
	position:relative
}
.top-bar .menu > li.has-dropdown:hover > a:after {
	content: '';
	width: 0; 
	height: 0; 
	border-left: 20px solid transparent;
  	border-right: 20px solid transparent;
  	border-bottom: 20px solid var(--darkblue);	
  	position: absolute;
	margin-top:65px;
	left: 50%;
	transform:translateX(-50%);
	opacity: 1!important;
}
@media screen and (min-width: 1023px) { 
	.top-bar.sticky {
		position: fixed;
	    top: 0;
	    width: 100%;
	    z-index: 999;	
	}
	.top-bar.sticky .top-bar-title {
		padding: 20px 0 20px 40px;		
	}
	.top-bar.sticky .top-bar-title img { 
		max-height: 40px;	
	}
	.top-bar.sticky .top-bar-right > ul {
		background: none;
		padding: 20px 40px 20px 0;	
	}
	.toggle-mega-menu:hover a:after, .toggle-mega-menu.open a:after {
		content: '';
		width: 0; 
		height: 0; 
		border-left: 20px solid transparent;
	  	border-right: 20px solid transparent;
	  	border-bottom: 20px solid var(--darkblue);	
	  	position: absolute;
		bottom: -69px;
		left: 50%;
		transform:translateX(-50%);
		opacity: 1!important;
	}
	.top-bar.sticky .toggle-mega-menu:hover a:after, .top-bar.sticky .toggle-mega-menu.open a:after {
		bottom: -29px;
	}
	.top-bar.sticky .menu > li.has-dropdown:hover > a:after {
		margin-top:25px;
	}
	.top-bar.sticky .dropdown.menu > li.opens-left > .is-dropdown-submenu { 
		top: 60px;
	}
	.mega-menu {
		display: none;
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		top: 213px;
		border-top: 10px solid var(--darkblue);
		z-index: 30;
		background: #fff;	
		padding: 20px;
	}
	.mega-menu.sticky  {
		position: fixed;
		top: 88px;
	}
	.mega-menu.active {
		display: block;
	}
	.mega-menu .menu > li {
		width: calc( ( 100% / 5 ) - 20px );	
		margin: 10px;
		display: inline-block;
		vertical-align: top;
	}
	.mega-menu .menu a {
		text-transform: uppercase;
		font-weight: 700;
	
		letter-spacing: 1pt;
	}
	.mega-menu .menu > li > a {
		color: var(--burgundy);
		font-size: .9em;
		padding: 10px 0;
	}
	.mega-menu .menu > li > ul > li > a {
		color: #aaaaaa;	
		font-size: .8em;
		padding: 5px 0;
		line-height:1em;
		display: block;
	}
	.mega-menu .menu .sub-menu {
		list-style: none;
		margin-left: 0;
	}	
} 
.orbit {
	background: #000;
	max-width:2000px;
	margin: 0 auto;	
}
.orbit img, .orbit video, .orbit iframe {
	opacity: .65;	
}
.orbit-caption {
	bottom: auto;
	background: none;
	width: 100%;
	text-align: center;
	font-size: 1.5em;	
	top: 50%;
	transform: translateY(-50%);
	font-weight: 600;
	text-transform: uppercase;
}
.orbit-caption p {
	line-height: 1em;	
}
.orbit-caption p strong {
	font-size: 2.48em;
	font-weight: 700;	
}
section.services {
	position:relative;
	top: -40px;	
}
.intro-content {
	padding: 80px 40px 0px;	
	position: relative;
}
.services.slick-nav {
	position: absolute;
	bottom: 0;
	right: 20px;
	font-size: 2.5em;		
}
.services .slick-list {
	padding-left: 5%;
}	
.service-item {
	margin: 0 10px;
}
.service-item a {
	position: relative;
	background:var(--darkblue);
	display: block;
}
.service-item a img {
	opacity: .6;	
}
.service-item a span.title {
	position: absolute;
	top: 0;
	padding: 20px;
	font-weight: 700;
	color: #fff;
	font-size: 1.5em;
	text-transform: uppercase;
}
.main-content {
	padding: 100px 20px 150px;	
}
.image-map-wrapper {
	position: relative;	
	margin-bottom: 20px;
}
.image-popup {
    position: absolute;
    display: none;
    background: rgba(255,255,255,0.95);
    border: 5px solid var(--red);
    padding: 20px;
    z-index: 999;
    margin-top: 40%;
    pointer-events: auto; /* allow clicking inside */
}
.vert-center {
	position: absolute;
    top: 65%;
    left: -50px;
    transform: translateY(-50%);
}
section.video {
	background: linear-gradient(180deg, rgba(255,255,255,1) 50%, rgba(4,53,72,1) 50%);	
	min-height: 500px;
	padding: 0 20px;
}
section.posts {
	padding: 150px 20px;
	background: linear-gradient(0deg, rgba(7,84,115,1) 1%, rgba(4,53,72,1) 100%);
}
section.posts .post {
	margin: 0 5px;	
}
section.posts .post-content {
	background: #fff;
	padding: 20px;
}
section.posts .post-content .title {
	font-weight: 700;
	font-size: 1.2em;
	color: var(--darkblue);
	display: block;
	text-align: center;
	margin-bottom: 10px;	
}
section.posts .post-content .date {
	display: block;
	margin-bottom:10px;
	font-weight: 700;
	color: var(--burgundy);
	text-transform: uppercase;
	text-align: center;
	font-size: .75em;
}
section.posts .post-content .button {
	font-size: .75em;
	padding: 10px 40px;	
	margin-bottom: 0;
	margin-top: 10px;

}
section.posts .post-content .link-holder {
	text-align: center;
}
section.posts .slick-nav {
	text-align: center;	
	width: 100%;
	margin-top: 50px;
}
section.posts .slick-nav span {
	color: #fff;	
	font-size: 3em;
	display: inline-block;
}
section.impact {
	position:relative;
	padding: 100px 20px;
	font-size: 1.5em;
	overflow: hidden;
}
section.impact img {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	bottom: 0;
	left: 0;
	right: 0;	
	opacity: .3;
	width:100%!important;
}
section.impact .impact-slider {
	margin-top: 20px;
}
section.impact .impact-item {
	padding: 20px;	
}
section.impact .impact-item span {
	display: block;	
	color: var(--blue);
	font-weight: 600;
}
section.impact .impact-item .icon {
	font-size: 2em;
}
section.impact .impact-item .icon i.fa-classic {
	font-weight: 200!important;
	
}
section.impact .impact-item .number {
	color: var(--red);
	font-size: 1.5em;
	margin: 20px 0;
	font-weight:700;
}
section.impact .impact-item .subcaption {
	font-size: .55em;
	font-weight: 600;	
	margin-top: 3px;
	display: block;
}
section.impact .slick-nav span {
	color: var(--red);	
	font-size: 1.5em;
}
section.ctas {
	padding: 100px 20px 0;
}	
.vert-align {
	position: relative;	
}
.vert-align .content {
	top: 50%; 
	transform: translateY(-50%);
	position: relative;	
}
.ctas .content {
	padding: 20px 50px;	
}
.banner {
	background: var(--blue);
	text-align: center;
	padding: 80px 20px;	
}
.banner h1 {
	color: #fff;	
}
.interior-image {
	text-align: center;
}

footer {
	background: var(--blue);
	color: #fff;
	text-align: center;	
	padding: 80px 20px;
	font-size: .8em;
	margin-top: 100px;
}
footer .logo {
	max-width: 300px;
}
footer .tagline {
	margin: 20px auto;
	max-width: 300px;
	font-style: italic;
	font-size: .9em;
	font-weight: 400;
		
}
footer a {
	color: #fff;
	font-weight: 700;
	letter-spacing: 1pt;
	font-size: .9em;
}	
footer .social-button {
	background: #fff;
	color: var(--blue);	
	height: 30px;
	width: 30px;
	line-height: 30px;
	display: inline-block;
	margin: 0px 10px 20px;
}
footer .menu li {
	display: inline-block;
	
}

.copyright {
	width: 100%;
	font-size: .6em;
	text-align: center;
	background: var(--darkblue);
	color: #fff;
	padding: 20px;
}
.copyright a {
	color: #fff;
	text-decoration: underline;	
}
.add-cookie {
	display: none;
}
#gdpr {
	position: fixed;
	bottom: 0;
	background: #000;
	color: #fff;
	padding: 20px;
	text-align: center;
	font-size: .8em;
	width: 100%;	
}
#gdpr .close-cookie-banner {
	float: right;
	color: #fff;
	font-weight: 700;
}
#lightgallery div img {
	cursor: pointer;
}
.interior-content {
	margin: 100px 0;
	padding: 0 50px;
}
.sidebar, .contact {
	padding: 20px;
	background: #f6f6f6;	
	margin-bottom: 30px;
}
.sidebar h2 {
	font-size: 1.6em;
	line-height: 1em;	
}
.sidebar .subnav {
	margin-left: 0;
	list-style: none;	
}
.sidebar .subnav .children .children {
	display: none;	
}
.subnav > li {
	display: block;
	position: relative;	
	margin-bottom: 5px;
}
.subnav > li:hover, .subnav > li.active, .subnav > li.current_page_item {
	border-bottom: 1px solid var(--blue);
}
.subnav > li a {
	font-weight: 600;
	letter-spacing: 1pt;
	text-transform: uppercase;
	max-width: 80%;	
	display: block;
}
.subnav > li.has-dropdown:after {
	content: '\f107';
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
	right: 0;
	position: absolute;
	font-size: .8em;
	top: 50%;
	transform: translateY(-50%);
}
.subnav > li .children {
	display: none;
}
.subnav > li.active .children {
	display: block;
	font-size: .8em;
	list-style:none;
	margin: 5px;
}
.subnav > li.has-dropdown.active:after {
	content: '\f106';
	top: 3px;
	transform: none;
}
.subnav > li .children li {
	margin-bottom: 5px;
}
.content-banner {
	padding: 100px 50px;
	margin: 100px 0;
	clear: both;
}
.content-banner.darkblue {
	background: var(--darkblue);
	color: #fff;	
}
.content-banner.blue {
	background: var(--blue);
	color: #fff;	
}
.content-banner.burgundy {
	background: var(--burgundy);
	color: #fff;	
}
.content-banner.red {
	background: var(--red);
	color: #fff;	
}
.content-banner.lightblue {
	background: var(--lightblue);
}
.content-banner.lightgrey {
	background: var(--lightgrey);
}
.content-banner.darkblue h1, .content-banner.blue h1, .content-banner.burgundy h1, .content-banner.red h1,
.content-banner.darkblue h2, .content-banner.blue h2, .content-banner.burgundy h2, .content-banner.red h2,
.content-banner.darkblue h3, .content-banner.blue h3, .content-banner.burgundy h3, .content-banner.red h3,
.content-banner.darkblue h4, .content-banner.blue h4, .content-banner.burgundy h4, .content-banner.red h4,
.content-banner.darkblue h5, .content-banner.blue h5, .content-banner.burgundy h5, .content-banner.red h5,
.content-banner.darkblue h6, .content-banner.blue h6, .content-banner.burgundy h6, .content-banner.red h6,
.content-banner.darkblue p, .content-banner.blue p, .content-banner.burgundy p, .content-banner.red p {
	color: #fff;	
}
.content-banner p:last-of-type, .content-banner .button:last-of-type {
	margin-bottom: 0;	
}
.equal-columns, .full-width {
	margin: 100px 0;
	padding: 0 50px;	
	clear: both;
}
.equal-columns .row .row {
	margin-top: 40px;	
}
.equal-columns .content {
	padding: 0 20px 0 0;	
}
.locations {
	margin: 100px 0;
	padding: 0 50px;	
	clear: both;
}
section.accordion {
	margin: 100px 0;
	padding: 0 50px;
	clear: both;
}
ul.accordion li.accordion-item > a.accordion-title {
	color: #fff;
	background: var(--blue);
	font-size: 1.1em;
	font-weight: 600;
}
.accordion-title::before {
	transform: translateY(-50%);
	margin-top: 0;	
}
.page-template-service-template .attachment-post-thumbnail {
	margin-bottom: 30px;
}
img.alignleft {
	margin-right: 1.625em;
	margin-bottom: 1.5em;	 
}
img.alignright {
 	margin-left: 1.625em;
	margin-bottom: 1.5em;
}
img.aligncenter {
	margin: 0 auto 1.5em; 
}
.acf-map {
    width: 100%;
    min-height: 600px;
}
.availability {
	margin-top: 20px;
	color: #fff;	
	font-weight: 600;
	text-align: center;
}
.availability.over-two span:after {
	content: ', ';
}
.availability.two-counties span:after {
	content: ' ';
}
.availability.over-two span:last-of-type:after {
	content: '';
}
.availability.two-counties span:last-of-type:before, .availability.over-two span:last-of-type:before {
	content: 'and ';
}
.page-template-service-template section:not(.interior-content):last-of-type {
	margin-bottom: 0;	
}
label, legend {
	color: var(--darkblue);	
}
input[type="checkbox"], input[type="radio"] {
	margin-bottom: 0;	
}
.gchoice {
	display: inline-block;
	min-width: 25%;	
}
.blog-entry {
	margin-bottom: 50px;
	border-bottom: none;	
}
.post-meta {
	font-weight: 800;
	font-size: .8em;	
	text-transform: uppercase;
	color: var(--lightblue);
	margin-top: -15px;
	margin-bottom: 30px;
}
.photo-carousel-section .slick-nav .slick-prev {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -30px;
	font-size: 3em;	
}
.photo-carousel-section .slick-nav .slick-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -30px;
	font-size: 3em;		
}
.photo-carousel-section .photo-holder {
	padding: 10px;
}
@media screen and (max-width:1500px) {
	section.services {
		margin-top: 40px;	
		top: 0;
	}
	section.services .intro-content {
		padding: 20px 20px 0;
	}
	
}
@media screen and (max-width:1024px) and (min-width:1023px) {
	.show-for-large { 
		display: none;
	}
	.hide-for-large {
		display: block!important;	
	}	
}
@media screen and (max-width:1281px) {

	.top-bar-title {
		padding: 35px 0 35px 10px;
	}
	.top-bar-title img {
	    max-height: 60px;
	}
	.top-bar .top-bar-right > ul {
		padding: 40px 10px 0 0;	
		font-size: .9em;
	}
	.top-bar .menu > li.has-dropdown:hover > a:after {
		margin-top: 46px;
	}
	.dropdown.menu > li.opens-left > .is-dropdown-submenu {
		top: 89px;	
	}
	.toggle-mega-menu:hover a:after, .toggle-mega-menu.open a:after {
		bottom: -50px;	
	}
	.mega-menu {
		top: 173px;	
	}
	.orbit-caption p:first-of-type {
		line-height: 1.4em;	
	}
	.vert-center {
		left: 0;
		top: auto;
		transform: none;
		position:relative;
	}
	.video {
		margin-top: 50px;	
	}
	
}
@media screen and (max-width:1200px) {
	.services .slick-list {
    	padding-left: 0%;
	}
}
@media screen and (max-width:1084px) {
	.top-bar .menu > li > a {
		padding: 8px;
	}	
}
@media screen and (max-width:1025px) {
	.off-canvas-content {
		box-shadow: none;	
	}
	body {
		background: #f6f6f6;	
	}
	.off-canvas {
		background: #f6f6f6;	
		padding: 20px 10px;
	}
	.upper {
		display: none;
	}
	.top-bar .top-bar-right {
		line-height: 130px;
		padding-right: 20px;
		font-size: 1.5em;	
		width: auto;
		float: right;
	}
	
	.mega-menu, .sub-menu  {
		display: none;	
	}
	.sidebar {
		margin-bottom: 100px;	
	}
	.banner {
		padding: 80px 20px;
	}	

}
@media screen and (max-width:640px) {
	
	#wpadminbar {
		position: fixed!important;	
	}	
	
	.upper .menu > li > a {
		padding: 15px 10px;	
	}
	.orbit-caption {
		font-size: .8em;	
	}
	section.services {
		margin-top: 10px;	
	}
	.main-content, section.posts, section.ctas {
		padding: 50px 20px;	
	}
	.vert-align .content {
		top: 0;
		transform: none;
		position:relative;	
	}
	section.impact {
		padding: 50px 20px;	
	}
	section.impact img {
		width: 200%;
		max-width: 200%;	
		margin-top: -50px;
	}
	.ctas .content {
		padding: 20px 0;
	}	
	footer {
		margin-top: 0;
	}
	.interior-content { 
		margin: 50px 0;
		padding: 0 20px 50px;
	}	
	.blog-entry img {
		margin-bottom: 1.875rem;
	}
}
.overlay {
	z-index: 1400;
	background: rgba(0,0,0,.5);
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
	display: block;
	z-index: 50;
}	
.popup {
	display: block;
	z-index: 1500;
	background: #fff;
	padding: 30px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	width: 50%;
	z-index: 51;
}
.popup a {
	font-weight: 700;
	letter-spacing: 1pt;	
}
.popup .close-button {
	font-size: .8em;
	font-weight: 700;
    color: var(--burgundy);
    right: .5rem;
    top: 0.5rem;
}
.popup.hide, .overlay.hide {
	display: none;	
}
@media screen and (max-width:641px) { 
	.popup {
		width: 90%;	
	}
}
