@charset "utf-8";


/*-----------------------------------------------------------------
COLUMNATION
-----------------------------------------------------------------*/
.container12 {
    margin:0 auto;
    padding:0px;
    width:100%;
	position:relative;
	display:flex;
	flex-direction:column;
	flex-wrap: wrap;
	padding:0px 30px 0px 30px;
}
.column12 {
	width:100%;
    display:inline-block;
	position:relative;
}

@media only screen and (min-width:768px) {
    .container12 {
		width:100%;
		max-width:1380px;
		padding-right:50px;
		padding-left:50px;
		flex-direction:row;
	}
}


/*-----------------------------------------------------------------
GENERAL AND DEFAULTS
-----------------------------------------------------------------*/
html, body, .post, .page{
    margin:0px;
	background:#ecf0f3;
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-style: normal;
}

*{
    -moz-box-sizing:border-box !important;
    -webkit-box-sizing:border-box !important;
    box-sizing:border-box !important;
}
*:focus{
	outline:none !important;
}
*:focus-visible{
	outline:2px solid #4682b4 !important;
}

p{
	position:relative;
	z-index:2;
	font-family:inherit;
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
	margin:0px;
}
p + p,
p + ul,
ul + p,
ol + p,
p + ol,
p + ul,
li ul{
	padding:15px 0px 0px 0px;
}
p + h2, p + h3,
ul + h2, ul + h3,
ol + h2, ol + h3, ol + h4, ol + h5,
.wp-block-gallery + h2,
.wp-block-gallery + h3,
.wp-block-gallery + h4,
.wp-block-gallery + h5 {
	padding-top:50px;
}
p + h4, p + h5,
ul + h4, ul + h5{
	padding-top:40px;
}
h2 + h3, h2 + h4, h2 + h5{
	padding-top:10px;
}

h1{
    color:#000000;
	font-size: 44px;
	line-height: 110%;
	font-family: "Teko", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	margin:0px;
	padding:0px 0px 20px 0px;
}
h2,
h1.h2{
    color:#000000;
	font-size: 32px;
	line-height: 110%;
	font-family: "Teko", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	margin:0px;
	padding:0px 0px 20px 0px;
}
h3{
    color:#000000;
	font-size: 24px;
	line-height: 110%;
	font-family: "Teko", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	margin:0px;
	padding:0px 0px 15px 0px;
}
h4{
    color:#000000;
	font-size: 20px;
	line-height: 120%;
	font-family: "Teko", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-optical-sizing: auto;
	font-weight: 500;
	margin:0px;
	padding:0px 0px 10px 0px;
}
h5{
    color:#000000;
	font-size: 18px;
	line-height: 120%;
	font-family: "Teko", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	margin:0px;
	padding:0px 0px 10px 0px;
}

body,
.normal{
    color:#000000;
	font-size: 16px;
	font-style: normal;
	line-height: 180%;
}
.small{
	font-size: 14px;
	font-style: normal;
	line-height: 130%;
}
.large{
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
}
.italic{
	font-style:italic;
	color:#333;
	font-weight:500;
}

.eyebrow{
    color:#4682b4;
	font-size: 18px;
	line-height: 120%;
	font-family: "Teko", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	margin:0px;
	padding:0px 0px 10px 0px;
}

@media only screen and (min-width:1024px) {
	h1{
		font-size: 50px;
	}
	h2,
	h1.h2{
		font-size: 40px;
	}
	h3{
		font-size: 32px;
	}
	h4{
		font-size: 26px;
	}
	h5{
		font-size: 20px;
	}

	body,
	.normal{
		font-size: 17px;
	}
	.large{
		font-size: 24px;
	}
	.small{
		font-size: 14px;
	}

	.eyebrow{
		font-size: 24px;
	}
}

.light{
	font-weight:300;
}
.regular{
	font-weight:400;
}
.bold,
strong{
	font-weight:500;
}
.black{
	font-weight:900;
}
.gray{
	color:#757575;
}
	
a.skip {
	display:inline-block;
	padding:10px 14px;
	border-radius: 5px;
	background:#4682b4;
	color: #FFF !important;
	z-index:9999;
	position: absolute;
	top: -1000px;
	left: -1000px;
	text-align: left;
	overflow: hidden;
	font-size:14px;
	font-weight:600;
	line-height:normal;
	width: auto; 
	height: auto; 
}
a.skip:active,  
a.skip:focus, 
a.skip:hover {
	color: #FFF !important;
	overflow: visible; 
	left: 10px; 
	top: 10px;
}

a:link,
a:visited{
	color:#4682b4;
	text-decoration:underline;
	transition: all .2s ease-in-out 0s;
}
a:hover,
a:active,
a:focus{
	text-decoration:none;
	color:#4682b4;
	transition: all .2s ease-in-out 0s;
}

ul{
	margin:0px;
	padding:0px;
	list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8"><circle cx="4" cy="4" r="4" fill="%234682b4"/></svg>');
}
.WHITE{
	background:#FFF url(/wp-content/uploads/2025/08/topography.png) top center repeat;
}
.DARK ul{
	list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8"><circle cx="4" cy="4" r="4" fill="%23FFFFFF"/></svg>');
}
ol{
	margin:0px;
	padding:0px;
}
ul li,
ol li{
	position:relative;
	margin-left:20px;
	padding-top:10px;
	padding-bottom:0px;
}
ul li{
	padding-left:8px;
}
ul li:first-child,
ol li:first-child{
	padding-top:0px;
}
ul li:last-child,
ol li:last-child{
	padding-bottom:0px;
}

hr,
hr.wp-block-separator{
	width:100%;
	margin:40px 0px 40px 0px;
	padding:0px;
	border:0px;
	height:0px;
	border-bottom:1px solid #4682b4;
}

.center{
	text-align:center;
}
.left{
	text-align:left;
}
.right{
	text-align:right;
}


/*-----------------------------------------------------------------
DARK BACKGROUND
-----------------------------------------------------------------*/
.DARK{
	position:relative;
}
.DARKBLUE{
	background:#4682b4;
}
.DARK *:focus-visible{
	outline:2px solid #FFFFFF !important;
}
.DARK, .DARK p, .DARK a, .DARK a:hover, .DARK a:focus, .DARK h1, .DARK h2, .DARK h3, .DARK h4, .DARK h5, .DARK .eyebrow{
	color:#FFF;
}


/*-----------------------------------------------------------------
GUTENBERG OVERRIDES
-----------------------------------------------------------------*/
img,
object,
embed {
	max-width:100%;
}
img {
	height:auto;
}
figure img{
	margin:0px !important;
}
figure.wp-block-image{
	max-width:100% !important;
	width:100%;
	margin:0px !important;
	text-align:left;
}
figure.wp-block-image img{
	width:auto;
	height:auto;
	max-width:100% !important;
}
.wp-block-image .alignleft{
	float:none !important;
}
.is-content-justification-center{
	text-align:center;
}

.wp-block-gallery.has-nested-images.columns-2{
    display: flex;
    flex-wrap: wrap;
	gap:30px !important;
}
.wp-block-gallery.has-nested-images.columns-2 > figure {
    flex: 0 0 calc(50% - 15px); /* subtract half the gap to fit 2 per row */
    box-sizing: border-box; /* include padding/border in width */
}

.wp-block-gallery.has-nested-images.columns-3{
    display: flex;
    flex-wrap: wrap;
	gap:30px !important;
}
.wp-block-gallery.has-nested-images.columns-3 > figure {
    flex: 0 0 calc(33% - 15px); /* subtract half the gap to fit 3 per row */
    box-sizing: border-box; /* include padding/border in width */
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
	position:relative;
	line-height:normal;
	background:none;
	color:#000;
	text-shadow:none !important;
	padding:5px 0px 20px 0px;
	font-size: 16px;
	font-style: normal;
	line-height: 180%;
	text-align:left !important;
}
figure.wp-block-image figcaption{
	text-align:left !important;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before{
	display:none;
}
.wp-block-gallery.has-nested-images figure.wp-block-image{
	display:block;
}
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img,
.wp-block-gallery.has-nested-images figure.wp-block-image img{
	height:auto;
	object-fit:initial;
	width:auto;
	max-height:700px;
}

/* Maintain aspect ratio for YouTube and Vimeo blocks */
figure.wp-block-embed{
    position:relative;
    z-index:3;
}
.wp-block-embed__wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
}
.wp-block-embed__wrapper iframe,
.wp-block-embed__wrapper object,
.wp-block-embed__wrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow:hidden;
}

.wp-block-table table{
	margin:0px;
    border-radius:5px;
    overflow:hidden;
    width: 100%; 
    border-collapse: collapse;
    background-color: #FFFFFF;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.wp-block-table thead {
    background-color: #4682b4;
    color: white;
}
.wp-block-table tr:nth-child(even) {
    background-color: #f6f8fa;
}
.wp-block-table td, .wp-block-table th{
	border:0px !important;
    font-weight:400;
    padding: 10px;
    text-align: left;
    border-bottom: 1px solid #dee2e6;
}

@media only screen and (min-width:1024px) {
	.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
		font-size: 17px;
	}
}


/*-----------------------------------------------------------------
SPACER
-----------------------------------------------------------------*/
.wp-block-spacer.half{
	height:30px !important;
}
.wp-block-spacer.quarter{
	height:15px !important;
}
.wp-block-spacer{
	height:60px !important;
}
.wp-block-spacer.one_plus_half{
	height:60px !important;
}
.wp-block-spacer.double{
	height:90px !important;
}

@media only screen and (min-width: 1280px) {
	.wp-block-spacer.one_plus_half{
		height:90px !important;
	}
	.wp-block-spacer.double{
		height:120px !important;
	}
}


/*-----------------------------------------------------------------
STANDARD IMAGE + VIDEO CONTAINER
-----------------------------------------------------------------*/
.image_container{
	display:inline-block;
	width:100%;
	height:100%;
	position:absolute;
	left:0px;
	top:0px;
}
.image_container img{
	display:inline-block;
	width:100%;
	height:100%;
	position:absolute;
	left:0px;
	top:0px;
	z-index:1;
}
.image_container.top img{
	object-position:top;
}
.image_container.center img{
	object-position:center;
}
.image_container.bottom img{
	object-position:bottom;
}
.image_container.cover img{
	object-fit:cover;
}
.image_container.contain img{
	object-fit:contain;
}

.video_container {
    position: absolute;
	z-index:1;
    width: 100%;
    height: 100%;
}
.video_container video {
    position: absolute;
	z-index:1;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}


/*-----------------------------------------------------------------
GUTENBERG COLUMNS
-----------------------------------------------------------------*/
.wp-block-columns{
	position:relative;
	z-index:1;
    margin: 0 auto;
}

@media only screen and (max-width: 1023px) {
    .wp-block-columns {
        flex-direction: column !important;
        gap: 0px !important;
	}
    .wp-block-column {
        padding: 0px;
    }

	.wp-block-columns.stack_mobile_center{
		text-align:center !important;
	}
	.wp-block-columns.stack_mobile_center figure.alignright{
		float:none;
		text-align:center;
		display:inline-block;
	}

	.wp-block-columns .wp-block-column.mobile_center *{
		text-align:center !important;
		justify-content:center !important;
	}
}

@media only screen and (min-width: 1024px) {
    .wp-block-columns {
        flex-direction: row !important;
        gap: 60px !important;
	}
}

@media only screen and (min-width:1500px) {
	.wp-block-columns{
		gap:90px !important;
	}
}


/*-----------------------------------------------------------------
BUTTONS
-----------------------------------------------------------------*/
.wp-block-buttons{
	width:100%;
	margin:20px 0px 0px 0px;
}
.wp-block-buttons:first-child {
    margin: 0px;
}
h1 + .wp-block-buttons,
h2 + .wp-block-buttons,
h3 + .wp-block-buttons,
h4 + .wp-block-buttons,
h5 + .wp-block-buttons{
	margin-top:10px;
}
.wp-block-button{
	display:inline-block;
	width:auto;
	margin:0px !important;
	padding:0px !important;
}
.wp-block-buttons + .wp-block-buttons .wp-block-button{
	margin-top:15px;
}
.wp-block-button + .wp-block-button{
	margin-left:5px !important;
}

@media only screen and (max-width:767px) {
	.wp-block-button + .wp-block-button{
		margin-left:0px !important;
	}

	.wp-block-button.mobile_full,
	.wp-block-button.mobile_full .wp-block-button__link{
		width:100%;
		margin-top:10px;
	}
}

input[type="submit"],
.wp-block-button .wp-block-button__link{
	font-optical-sizing: auto;
	font-style: normal;
	font-size:16px;
	text-decoration:none;
	display:inline-block;
	line-height: normal;
	position:relative;
	padding:12px 20px;
	color:#FFF;
	background: #4682b4;
	text-align:center;
	border-radius:5px;
	transition: all .2s ease-in-out;
	cursor:pointer;
	transition: all .2s ease-in-out;
}
input[type="submit"]:hover,
input[type="submit"]:focus,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus{
	background:#61a5dc;
	color: #FFFFFF;
	transition: all .2s ease-in-out;
}


/*-----------------------------------------------------------------
FORMS
-----------------------------------------------------------------*/
label{
	display:block;
	padding:0px;
	margin:0px 0px 3px 0px;
	font-weight:500;
	color:#111111;
}
.DARK label{
	color:#FFF;
}

select,
input[type="text"],
input[type="email"],
input[type="password"],
textarea{
	font-weight:400;
	border:1px solid #d1d0cd;
	font-family: inherit;
  	font-optical-sizing: auto;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	line-height: inherit;
	width:100%;
	padding:12px;
	border-radius:5px;
}
select:focus,
select:focus-visible,
input[type="text"]:focus,
input[type="text"]:focus-visible,
input[type="email"]:focus,
input[type="email"]:focus-visible,
input[type="password"]:focus,
input[type="password"]:focus-visible,
textarea:focus,
textarea:focus-visible {
	outline:0px !important;
	border:1px solid #333333;
}
textarea{
	height:121px;
}

.wpforms-container .wpforms-form .wpforms-field.wpforms-field-name .wpforms-field-row{
	min-width:100%;
}
.wpforms-container input{
	min-width:100%;
}

::-webkit-input-placeholder {
	color: #666666;
}
::-moz-placeholder {
	color: #666666;
}
:-ms-input-placeholder {
	color: #666666;
}
:-moz-placeholder {
	color: #666666;
}

.grecaptcha-badge{
	position:fixed;
	width:1px;
	height:1px;
	overflow:hidden;
	left:-9999999px;
}

.input_error{
	background: #ffeaea !important;
	border-color: #ffa7a7 !important;
}
#jquery_validation{
	display:none;
}


/*-----------------------------------------------------------------
PRIMARY HEADER
-----------------------------------------------------------------*/
.primary_header{
    position: relative;
    width: 100%;
    object-fit: cover;
    -webkit-mask-image: url(/wp-content/uploads/2025/08/cutout-1.png);
    mask-image: url(/wp-content/uploads/2025/08/cutout-1.png);
    -webkit-mask-position: bottom center;
    mask-position: bottom center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 300% auto;
    mask-size: 300% auto;
}
.primary_header.tall{
    height: calc(100% + 1px);
}
.primary_header.no_image{
	height:auto;
}

.primary_header .image_container img{
	border-radius:0px;
}
.primary_header .content_container{
	display:flex;
	flex-direction:row;
	align-items:center;
	width:100%;
	height:100%;
	position:relative;
	z-index:2;
}
.primary_header.tall .content_container{
	min-height:70vh;
}
.primary_header .content_container .content{
	display:inline-block;
	width:100%;
	padding-top:160px;
	padding-bottom:100px;
}
.primary_header .content_container .content .content_padding{
	max-width:700px;
}
.primary_header .content_container .wp-block-buttons{
	margin-top:40px;
}

.primary_header .listings_search_bar{
	margin-top:40px;
}
.primary_header h1{
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
}

@media (max-aspect-ratio: 1/1) and (min-width: 768px) {
	.primary_header.tall .content_container{
		min-height:60vh;
	}
}

@media only screen and (min-width:600px) {
	.primary_header{
		-webkit-mask-size: 200% auto;
		mask-size: 200% auto;
	}

	.primary_header .content_container .content{
		padding-top:160px;
		padding-bottom:140px;
	}
	.primary_header .content_container .content .content_padding{
		width:80%;
	}
}

@media only screen and (min-width:1024px) {
	.primary_header{
		-webkit-mask-size: 150% auto;
		mask-size: 150% auto;
	}
	.primary_header .content_container .content{
		padding-top:160px;
		padding-bottom:140px;
	}
	.primary_header .content_container .content .content_padding{
		width:60%;
	}
}

@media only screen and (min-width:1280px) {
	.primary_header{
		-webkit-mask-size: 100% auto;
		mask-size: 100% auto;
	}
	.primary_header .content_container .content{
		padding-top:160px;
		padding-bottom:180px;
	}
}


/*-----------------------------------------------------------------
TEXT + IMAGE
-----------------------------------------------------------------*/
.text_image .wrapper{
	position:relative;
	height:auto;
	display:flex;
	gap:30px;
	flex-direction:column;
}
.text_image .image_video_container{
	display:inline-block;
	width:100%;
	height:auto;
	position:relative;
	padding:10px 10px 0px 10px;
}
.text_image .image_video_container .image_video_wrapper{
	position:relative;
	padding-bottom:50%;
	overflow:hidden;
}

.text_image .content_container{
	display:flex;
	flex-direction:row;
	align-items:center;
	width:100%;
	height:100%;
}
.text_image .content_container .content{
	display:inline-block;
	padding:0px 35px 0px 35px;
	text-align:left;
}
.text_image .content_container .wp-block-buttons{
	margin-top:40px;
}

@media only screen and (max-width:767px) {
	.text_image .container12{
		padding:0px;
	}
}

@media only screen and (min-width:768px) {
	.text_image .wrapper{
		gap:40px;
		flex-direction:row;
		align-items:center;
	}
	.text_image .image_video_container{
		padding:0px;
		order:2;
	}
	.text_image .image_video_container .image_video_wrapper{
		padding-bottom:70%;
	}
	.text_image .content_container{
		order:1;
	}
	.text_image .content_container .content{
		padding:40px 0px 40px 0px;
	}

	.text_image.right .image_video_container{
		order:1;
	}
	.text_image.right .content_container{
		order:2;
	}
}

@media only screen and (min-width:1024px) {
	.text_image .wrapper{
		gap:80px;
	}
	.text_image .content_container .content{
		padding:60px 0px 60px 0px;
	}
}

@media only screen and (min-width:1280px) {
	.text_image .wrapper{
		gap:100px;
	}
	.text_image .content_container .content{
		padding:80px 0px 80px 0px;
	}
}


/*-----------------------------------------------------------------
CARDS
-----------------------------------------------------------------*/
ul.cards {
	position: relative;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 30px;
}
ul.cards > li {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    margin: 0;
    padding: 0;
}
ul.cards > li::before {
	display: none;
}
ul.cards .card_image {
	position: relative;
	width: 100%;
	height: auto;
	padding-bottom: 60%; /* keeps aspect ratio */
	overflow: hidden;
}
ul.cards .card_content {
	position: relative;
	height: 100%;
	margin-top:10px;
}

.categories_boxes li .card_content{
	padding:0px;
	margin:0px;
}
.categories_boxes li a{
    text-decoration: none;
	height:100%;
	padding:20px;
    gap: 0px;
    border: 1px solid #ddd;
    border-radius: 5px;
    transition: background 0.2s, box-shadow 0.2s;
}

.categories_boxes li a:hover {
    background: #f9f9f9;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

@media only screen and (min-width: 768px) {
	ul.cards {
		gap: 30px;
	}
	ul.cards.columns_2 {
		grid-template-columns: repeat(2, 1fr);
	}
	ul.cards.columns_3 {
		grid-template-columns: repeat(3, 1fr);
	}
	ul.cards.columns_4 {
		grid-template-columns: repeat(4, 1fr);
	}
}


/*-----------------------------------------------------------------
TRIP REPORTS
-----------------------------------------------------------------*/
ul.trip_reports {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

ul.trip_reports li {
	min-height:100px;
    height: auto;
    margin: 0;
}

ul.trip_reports li a {
    display: flex;
    align-items: center;
    height: 100%;
    text-decoration: none;
    gap: 0px;
    border: 1px solid #ddd;
    border-radius: 5px;
    transition: background 0.2s, box-shadow 0.2s;
}

ul.trip_reports li a:hover {
    background: #f9f9f9;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

ul.trip_reports li .featured_image_container {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    background: #eee;
    overflow: hidden;
    border-radius: 4px 0 0 4px;
}

ul.trip_reports li .featured_image_container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

ul.trip_reports li .content {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
}

ul.trip_reports li img.icon {
    width: 24px;
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
}

ul.trip_reports li h3 {
    margin: 0;
    padding: 0;
}

ul.trip_reports li h3 {
    margin: 0;
    padding: 0;
}

@media only screen and (min-width: 768px) {
	ul.trip_reports li {
		min-height:120px;
	}

	ul.trip_reports li .featured_image_container {
		width: 160px;
		height: 120px;
	}
}


/*-----------------------------------------------------------------
ACCORDIONS
-----------------------------------------------------------------*/
.accordion {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.accordion > .item {
    list-style: none;
    width: 100%;
    background: #f4f4f4;
    border-radius: 5px;
    transition: background 0.2s ease-in-out;
    overflow: hidden;
	margin-bottom:10px;
}
.accordion > .item > a.heading {
    display: flex;
    align-items: center;
    width: 100%;
    text-decoration: none !important;
    padding: 30px 80px 20px 30px;
    position: relative;
}
.accordion > .item > a.heading h4 {
    margin: 0px;
	padding:0px;
}
.accordion > .item .panel {
    height: 0;
    overflow: hidden;
    transition: height 0.5s ease;
}
.accordion > .item .panel_content {
    padding: 0px 80px 30px 30px;
}
.accordion > .item.active {
    background: #fff8ed;
}
.accordion > .item > a.heading .icon {
    position: absolute;
    right: 20px;
    top: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #4682b4 url(/wp-content/uploads/2025/08/plus.svg) center center no-repeat;
    background-size: 12px auto;
    transform: rotate(0deg);
    transition: transform 0.2s ease-in-out;
}
.accordion > .item.active > a.heading .icon {
    transform: rotate(45deg);
}

@media only screen and (min-width: 1024px) {
    .accordion > .item > a.heading {
        padding: 30px 80px 25px 30px;
    }
    .accordion > .item .panel_content {
        padding: 0px 80px 30px 30px;
    }
}


/*-----------------------------------------------------------------
TOP STYLES AND CONTAINERS
-----------------------------------------------------------------*/
#TOP {
	height: 80px;
	padding: 0px;
	z-index: 10;
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
}
#TOP #logo {
	z-index: 12;
	position: absolute;
	display: inline-block;
	width: 170px;
	height: 30px;
	top: 18px;
	left: 20px;
}
#TOP #logo img {
	width: auto;
	height: 100%;
	position:absolute;
	left:0px;
	top:0px;
}

#TOP .container12,
#TOP .container12 .column12,
#TOP .navigation_container,
#TOP nav.main-navigation,
#TOP .menu-primary-menu-container {
	height: 100%;
	width: 100%;
	position: relative;
}

#TOP .navigation_container{
	height:60px;
	width:100%;
	top: 10px;
	background:#FFFFFF;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.1);
	border-radius:5px;
}
#TOP .navigation_container::before{
	background-image: url(/wp-content/uploads/2025/08/top-iceberg.svg);
    width: 234px;
    height: 42px;
    content: '';
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    bottom: -15px;
    left:-30px;
}

#TOP button.menu-toggle {
	z-index: 13;
	border: 0;
	padding: 0;
	margin: 0;
	width: 40px;
	height: 40px;
	position: absolute;
	cursor: pointer;
	left:auto;
	right: 10px;
	top: 10px;
	background: #4682b4 url(/wp-content/uploads/2025/06/Menu-Button.svg) center center no-repeat;
	background-size: 24px auto;
}
#TOP button.menu-toggle-active {
	background: #4682b4 url(/wp-content/uploads/2025/06/Close-Menu-Button.svg) center center no-repeat;
	background-size: 24px auto;
}

#TOP ul#primary-menu{
	height:100%;
	top:0px;
	left:0px;	
}
#TOP ul#primary-menu,
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu {
	z-index: -1;
	display: inline-block;
	width: 100%;
	left: 0;
	list-style: none;
	position: fixed;
	vertical-align: middle;
	background:#4682b4;
	margin: 0;
	padding: 100px 30px 0px 30px;
	visibility: hidden;
	overflow-x: scroll;
	opacity:0;
	transform: translateX(-100%);
	transition: all .3s ease-in-out;
}
#TOP.active ul#primary-menu,
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu.active {
	visibility: visible;
	opacity:1;
	transform: translateX(0);
}
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu {
	height: 100%;
	top:0px;
	z-index: 14;
}

#TOP ul#primary-menu li {
	background: none;
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 0;
	margin: 0;
}
#TOP ul#primary-menu li::before {
	display:none;
}
#TOP ul#primary-menu li a,
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu .subnav_heading a {
	text-decoration: none;
	display: inline-block;
	width: 100%;
	line-height: normal;
	padding: 12px 0;
	font-weight: 400;
	font-size: 20px;
	color:#ffffff;
}
#TOP ul#primary-menu li a:hover,
#TOP ul#primary-menu li a:focus{
	color:#FFFFFF;
}
#TOP ul#primary-menu li.menu-item-has-children > a::after,
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu .subnav_heading a::before {
	content: "";
	display: inline-block;
	position: absolute;
	height: 100%;
	width: 16px;
	background: url(/wp-content/uploads/2025/06/down-arrow.svg) center center no-repeat;
	background-size: contain;
}
#TOP ul#primary-menu li.menu-item-has-children > a::after{
	right: 0;
	top: 0;
	transform: rotate(-90deg);
}
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu .subnav_heading a::before {
	left: -8px;
	top: 0;
	transform: rotate(90deg);
}
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu .subnav_heading a {
	padding-left: 20px;
	font-weight: 500;
	border-bottom:1px solid #d1d0cd;
}

@media only screen and (min-width: 768px) {
	#TOP .navigation_container::before{
		bottom: -33px;
	}

	#TOP ul#primary-menu,
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu {
		padding:20px 50px 0px 50px;
	}
}

@media only screen and (min-width: 1024px) {
	#TOP .navigation_container {
		text-align: right;
		width: 100%;
		display: inline-block;
	}

	#TOP button.menu-toggle {
		display: none;
	}
	#TOP ul#primary-menu {
		list-style: none;
		position: relative;
		top: auto;
		margin: 0;
		padding: 0;
		display: table;
		height: 100%;
		width: auto;
		float: right;
		visibility: visible;
		transform: none;
		background: none;
		opacity:1;
		z-index:15;
		padding-right:10px;
	}
	#TOP ul#primary-menu li {
		display: table-cell;
		width: auto;
		margin: 0;
		padding: 0px 14px;
		height: 100%;
		vertical-align: middle;
		text-align: center;
		border-top:0px;
	}
	#TOP ul#primary-menu li:last-child{
		border:none;
	}
	#TOP ul#primary-menu li a {
		position:relative;
		width: 100%;
		height:100%;
		line-height:60px;
		padding: 0px;
		font-size:14px;
		color:#000000;
		font-weight:500;
		margin: 0;
		background: none;
		border: 0;
		transition: all .2s ease-in-out;
	}
	#TOP ul#primary-menu li a:hover,
	#TOP ul#primary-menu li a:focus{
		color:#4682b4;
	}
	#TOP ul#primary-menu li.menu-item-has-children a{
		padding-right:15px;
	}
	#TOP ul#primary-menu li.menu-item-has-children > a::after {
		width: 10px;
		right: 0px;
		transform:rotate(0deg);
		filter:brightness(0);
		transition: all .2s ease-in-out;
	}
	#TOP ul#primary-menu li.menu-item-has-children > a:hover::after,
	#TOP ul#primary-menu li.menu-item-has-children > a:focus::after {
		transform:rotate(180deg);
		transition: all .2s ease-in-out;
	}

	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu {
		position:absolute;
		border-radius:5px;
		margin: 0;
		padding: 15px;
		left:auto;
		right: 0px;
		top: 70px; /* distance from top = TOP height + x px */
		height: auto;
		width: auto;
		min-width:150px;
		z-index: 14;
		transform: none;
		visibility: hidden;
		display:inline-block;
		overflow:visible;
		box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.1);
		opacity: 0;
		transform:translateY(-10px);
		transition: opacity .2s ease-in-out 0s, transform .2s ease-in-out 0s, visibility 0s ease-in-out .2s;
	}
	#TOP ul#primary-menu li.menu-item-has-children:hover ul.sub-menu,
	#TOP ul#primary-menu li.menu-item-has-children:focus-within ul.sub-menu,
	#TOP ul#primary-menu li.menu-item-has-children.ada_focus ul.sub-menu{
		visibility: visible;
		opacity:1;
		transform:translateY(0px);
		transition: opacity .2s ease-in-out 0s, transform .2s ease-in-out 0s, visibility 0s ease-in-out 0s;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu::before { /* permits space between primary nav and submenu */
		content:"";
		position:absolute;
		width:100%;
		left:0px;
		display:inline-block;
		height:15px; /* match distance from top */
		top:-15px; /* match distance from top */
	}

	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li {
		padding: 0;
		margin: 0;
		display: inline-block;
		width: 100%;
		height: auto;
		text-align:right;
		border:0px;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li a {
		padding: 5px 10px;
		line-height:normal;
		display: inline-block;
		width: 100%;
		color:#FFF;
		position:relative;
		white-space: nowrap;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li a:hover,
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li a:focus{
		text-decoration:underline;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu .subnav_heading {
		display:none !important;
	}
}

@media only screen and (min-width: 1200px) {
	#TOP ul#primary-menu li {
		padding: 0px 16px;
	}
}
	


/*-----------------------------------------------------------------
LOGIN PAGE
-----------------------------------------------------------------*/
#login{
	background:#000000;
}

span.profile_input_permanent{
	display:inline-block;
	width:100%;
	padding:12px 0px;
}
	


/*-----------------------------------------------------------------
FOOTER
-----------------------------------------------------------------*/
footer{
	position:relative;
	padding-top:60px;
	text-align:center;
}

ul.social{
	display:flex;
	flex-direction:row;
	gap:18px;
	width:100%;
	margin:20px 0px 0px 0px;
	padding:0px;
	justify-content:center;
	list-style: none;
}
ul.social li{
	background:none;
	display:inline-block;
	width:auto !important;
	padding:0px;
	margin:0px;
}
ul.social li::before {
	display:none;
}
ul.social li a{
	display:inline-block;
	width:30px;
	height:30px;
	position:relative;
}
ul.social li a img{
	position:absolute;
	object-fit: contain;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	filter:brightness(0) invert(1);
}

footer ul.legal{
	border-top:1px solid rgb(57, 87, 111);
	position:relative;
	display:flex;
	flex-direction:row;
	justify-content:center;
	gap:30px;
	padding:20px 0px 20px 0px;
	margin:40px 0px 0px 0px;
}
footer ul.legal li{
	display:inline-block;
	width:auto;
	padding:0px;
	margin:0px;
}
footer ul.legal li a{
	text-decoration:none;
}
footer ul.legal li a:hover,
footer ul.legal li a:focus{
	text-decoration:underline;
}

@media only screen and (min-width:1024px){
	footer{
		text-align:left;
	}

	ul.social{
		margin-top:40px;
		justify-content:left;
	}

	footer ul.legal{
		justify-content:left;
	}
}