#modalContainer {
  position: fixed;
  inset: 0;
  padding: 50px;
  overflow: auto;
  z-index: 3000;
  pointer-events: none;
}

  #modalContainer::before {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    content: '';
    background: rgba(0,0,0,0.7);
    opacity: 0;
    transition: .3s;
  }

  .modalWindow {
    position: relative;
    width: calc(100vw - 60px);
    max-width: 660px;
    margin: 0 auto;
    padding: 80px 80px 60px;
    font-size: var(--default-p);
    background: var(--offwhite);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: .25s cubic-bezier(0.4, 0.0, 0.2, 1) 0.01s;
    transform: translate(0, -20px);
    box-shadow: 0px 5px 12px rgba(0,0,0,0.3);
    opacity: 0;
    pointer-events: none;
  }

    .modalClose .btn {
      display: block;
    }

body.modalActive {
  overflow: hidden;
}

  body.modalActive #modalContainer {
    pointer-events: all;
  }

  body.modalActive #modalContainer::before {
    opacity: 1;
  }

  body.modalActive .modalWindow {
    transform: translate(0, 0);
    opacity: 1;
    pointer-events: all;
  }


@media (max-width: 768px) {
  #modalContainer {
    padding: 0;
  }

  .modalWindow {
    --modal-window-padding: clamp(16px, 10.42vw, 80px);
    padding-top: var(--modal-window-padding);
    padding-left: var(--modal-window-padding);
    padding-right: var(--modal-window-padding);
    padding-bottom: 20px;
    width: 100%;
  }
}

@media (max-width: 526px) {
  .modalWindow {
    min-height: 100vh;
  }
}

:root {
	--blue: #113755;
	--dark-blue: #213c51;
	--teal: #3c7a8a;

	--black: #252525;
	--gray: #b1b1b1;
	--grey: var(--gray);
	--dark-gray: #515151;
	--dark-grey: var(--dark--gray);
	--charcoal: #242424;
	--offwhite: #f0f0f0;
	--white: #fff;

	--bgg-color1: #061A3E;
	--bgg-color2: #2f4A78;

	--blue-gradient: linear-gradient(var(--bg-deg, 0deg), var(--bgg-color1), var(--bgg-color2));
	
	--nav-background: transparent;
	--nav-text: var(--white);
	--nav-text-size: clamp(13px, 1.11vw, 16px);
	--nav-underline: var(--gold);
	
	--primary-color-hex: var(--blue);
	--primary-color: var(--primary-color-hex);
	--primary-color-text: var(--white);

	--secondary-color-hex: var(--gold);
	--secondary-color: var(--secondary-color-hex);
	--secondary-color-text: var(--white);

	--mobile-menu-background: rgba(247,244,238,0.95);
	--mobile-nav-text-color: var(--charcoal);
	
	--section-padding-top: 70px;
	--section-padding-bottom: 70px;
	--left-right-padding: clamp(80px, 10.42vw, 150px);
	--left-right-padding-small: 40px;
	/* --left-right-padding: clamp(40px, 9.72vw, 140px); */
	
	--footer-background-color: var(--blue);
	--footer-text-color: #fff;

	--copyright-background-color: var(--footer-background-color);
	
	--font-primary: 'Google Sans', sans-serif;
	--font-secondary: 'Google Sans', sans-serif;
	
	--default-lh: 1.5;
	--default-p: clamp(0.8rem, 1.11vw, 1rem);  /* 16px */
	--default-p-weight: 400;

	--default-h1: clamp(2.8125rem, 6.25vw, 5.625rem); /* 45px, 90px */
	--default-h2: clamp(1.875rem, 3.47vw, 3.125rem); /* 30px, 50px */
	--default-h3: clamp(1.5rem, 2.64vw, 2.375rem); /* 24px, 38px */
	--default-h4: clamp(21px, 2.73vw, 28px);
	--default-h5: clamp(1rem, 1.46vw, 1.3125rem); /* 16px, 21px */
	--default-btn: var(--default-p);

	--max-width: 1920px;

	--header_spacer_height: 0;

	--arrow-button-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 15'%3E%3Cpath d='M28.3735 8.70711C28.764 8.31658 28.764 7.68342 28.3735 7.29289L22.0095 0.928932C21.619 0.538408 20.9858 0.538408 20.5953 0.928932C20.2048 1.31946 20.2048 1.95262 20.5953 2.34315L26.2521 8L20.5953 13.6569C20.2048 14.0474 20.2048 14.6805 20.5953 15.0711C20.9858 15.4616 21.619 15.4616 22.0095 15.0711L28.3735 8.70711ZM0.549072 9H27.6664V7H0.549072V9Z' /%3E%3C/svg%3E");
	--arrow-button-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.797' height='16.651' viewBox='0 0 17.797 16.651'%3E%3Cpath id='Icon_akar-arrow-right' data-name='arrow-right' d='M6,14.411H21.8M14.886,7.5,21.8,14.411l-6.911,6.911' transform='translate(-5 -6.086)' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
	--divider-size: 2px;
	--divider-color: var(--teal);
}


@keyframes divider-hero {
	0% {
		width: 0%;
		/* height: 4px; */
		opacity: 0;
	}
	5% {
		opacity: 1;
	}
	100% {
		width: 100%;
		/* height: 4px; */
		opacity: 1;
	}
}

@keyframes divider-horizontal {
	0% {
		width: 0;
	}
	100% {
		width: var(--divider-width);
	}
}


.divider {
	position: absolute;
	z-index: -1;
}


/* Default Styles test
   ========================================================================== */


article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
    display: block
}

audio,
canvas,
progress,
video {
    display: inline-block
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

a:active,
a:hover,
a:visited:hover,
a:active:hover {
	color: inherit;
    text-decoration: none;
    outline-width: 0
}

b,
strong {
    font-weight: inherit
}

b,
strong {
    font-weight: bolder
}

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

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

a img {
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

.p_form {
	line-height: 1.5 !important;
}

.p_form .fld_check input, .p_form .fld_radio input {
	margin-top: 5px !important;
}

button,
input,
select,
textarea {
    font: inherit;
    margin: 0
}

optgroup {
    font-weight: bold
}

button,
input {
    overflow: visible
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText
}

textarea {
    overflow: auto
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

html {
  width: 100%;
  min-height: 100%;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

  *, *:before, *:after {
    box-sizing: inherit;
  }

.wow {
	visibility: hidden;
}
  
  /* Page Layout & Utility0
   ========================================================================== */

body {
  width: 100%;
  min-height: 100%;
  padding: 0;
  margin: 0;
  font-family: var(--font-secondary);
  font-size: 10px;
  font-weight: 400;
  color: var(--charcoal);
  background: var(--white);
}

.main-container {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 400px;
  padding: 0;
  margin: 0 auto;
	max-width: var(--max-width);
}

.wide {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0 auto;
}

.container {
  position: relative;
  width: 90%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

.nowrap {
	text-wrap: nowrap;
}


.mobile {
  display: none !important;
}

@media (max-width: 768px) {
  .wide, .main-container {
    width: 100%;
    min-width: 0;
  }

/*
  .container {
    width: 540px;
  }
*/
/*
.flex.stacked {
	margin-right: auto !important;
}
*/
}

@media (max-width: 576px) {
  .container {
    width: 100%;
    padding-left: 30px;
    padding-right: 30px;
  }
}

/*  Header
   ========================================================================== */
#header_spacer {
	position: relative;
	height: var(--header_spacer_height);
	transition: .25s ease-out;
}
#header-gradient {
	position: absolute;
	top: 0;
	width: 100%;
	background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.54) 100%);
	height: 200px;
	z-index: 1;
	pointer-events: none;
	display: none;
}

.primary {
	position: fixed;
	max-width: var(--max-width);
	padding: 15px var(--left-right-padding-small);
	display: block;
	z-index: 3000;
	/* background-image: linear-gradient(180deg, rgba(0,0,0,0.2), transparent); */
	background-color: var(--nav-background);
	transition: .3s;
}

	.scrolled {
		--nav-background: rgba(255, 255, 255, .7);
		--nav-text: var(--charcoal);
	}

	.scrolled .primary {
		padding: 5px var(--left-right-padding-small);
		background-image: none;
		box-shadow: 0 -5px 10px #000;
		background-color: var(--nav-background);
		backdrop-filter: blur(10px);
	}

	.mobile_open .scrolled .primary {
		background-color: transparent;
	}

.primary > .container {
  width: 100%;
	height: 80px;
  padding: 0;
  display: flex;
	align-items: center;
	justify-content: space-between;
	transition: .25s ease-out;
	border-bottom: var(--white) solid 1px;
}

	.scrolled .primary > .container {
		border-bottom-color: transparent;
	}

#logo {
  transition: .25s ease-out;
  line-height: 1;
}

	.scrolled #logo {
	}

	#logo a {
		display: flex;
		transition: .25s ease-out;
	}

		#logo img {
			width: 100%;
			height: auto;
			transition: .3s;
		}

		#logo svg {
			height: 61px;
			transition: .25s ease-out;
		}

			#logo_icon {
				transition: .25s ease-out;
			}

			.scrolled #logo svg {
				filter: brightness(0);
			}

@media (max-width: 1024px) {
	:root {
	}

	#logo img {
		max-width: 170px;
	}
  .primary {
/*     padding: 10px 0; */
    display: block;
  }
}

/*
@media (max-height: 600px) {
  .primary {
    position: relative;
    padding: 0;
  }
  
  	.primary.scrolled {
	  	padding: 0;
  	}
  
  .primary > .container {

    width: 100%;
    padding: 0;
  }
  
  #logo {
    float: left;
    display: block;
    margin-left: 2%;
    padding: 12px 0;
    width: 70%;
    max-width: 300px;
    
    float: none;
  }
  
  	#logo img {
	  	width: 100%;
  	}
}
*/
  
/*  Navigation
   ========================================================================== */



/*  General Content Styles
   ========================================================================== */

.hero {
  position: relative;
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
}

#content .cb-body img {
  max-width: 100%;
  height: auto;
}


.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-justify {
  text-align: justify !important;
}

a.btn, a.btn:visited,
span.btn,
input.btn,
button.btn {
	--btn-color: inherit;
	--bg-color: transparent;
	--border-color: var(--green);
	--hover-color: var(--white);
	--hover-bg: var(--border-color);

	position: relative;
	padding: 12px 20px;
	font-size: var(--default-btn);
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition: all .4s;
	opacity: 1;
	display: inline-block;
	border: 2px solid #fff;
	border-radius: 2em;
	cursor: pointer;
	overflow: hidden;

	color: var(--btn-color);
	background: var(--bg-color);
	border-color: var(--border-color);

	&::before {
		content: "";
		position: absolute;
		inset: 0;
		background-color: var(--hover-bg);
		transition: .5s;
		clip-path: polygon(0 0, 0 0, -20% 100%, 0 100%);
		z-index: 0;
	}

	span {
		position: relative;
		transition: .3s;
		z-index: 1;
	}

	&:hover {
		--hover-border-color: var(--border-color);
		
		color: var(--hover-color);
		background: var(--hover-bg);
		border-color: var(--hover-border-color);
		filter: brightness(110%);

		&::before {
			clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
		}
		
		span {
			/* transform: translateX(4px); */
		}
	}

	&.blue {
		--btn-color: var(--white);
		--bg-color: var(--blue);
		--border-color: var(--blue);

		--hover-bg: var(--white);
		--hover-color: var(--blue);
	}
	
	&.blue-transparent {
		--btn-color: var(--white);
		--border-color: var(--blue);
		--hover-color: var(--white);
		--hover-bg: var(--blue);
	}
	
	&.teal {
		--btn-color: var(--white);
		--bg-color: var(--teal);
		--border-color: var(--teal);
		--hover-color: var(--teal);
		--hover-bg: var(--white);
	}

	&.teal-transparent {
		--btn-color: var(--white);
		--border-color: var(--teal);
		--hover-color: var(--white);
		--hover-bg: var(--teal);
	}
	
	&.white {
		--btn-color: var(--blue);
		--bg-color: var(--white);
		--border-color: var(--white);
		--hover-color: var(--white);
		--hover-bg: var(--blue);
	}
	
	&.charcoal {
		--btn-color: var(--white);
		--border-color: var(--charcoal);
	}


	/* arrow buttons */
	&.arrow {
		padding-left: 44px;
		overflow: hidden;


		&::after {
			content: "";
			position: relative;
			/* top: 0; */
			/* left: 10px; */
			width: 20px;
			height: 100%;
			display: block;
			background: var(--arrow-color, var(--white));
			/* opacity: var(--arrow-opacity, .5); */
			-webkit-mask-image: var(--arrow-button-svg);
			mask-image: var(--arrow-button-svg);
			mask-position: center;
			mask-repeat: no-repeat;
			transition: .2s;
			z-index: 1;
		}

		&:hover {
			color: var(--hover-color);

			&::after {
				transform: translateX(5px);
			}
		}

	}
}

	.mce-content-body a.btn::before {
		display: none;
	}

	.mce-content-body a.btn:hover {
		background-color: var(--hover-bg);
	}


	#content a:not(.btn) {
		font-weight: 300;
	}

		#content a:not(.btn):hover {
			text-decoration: underline;
		}

.divider-line {
	position: absolute;
	top: 0;
	left: 0;
	width: 90px;
	height: 2px;
	/* transform: translateX(calc(var(--default-h2) + 45px)); */
	
	&.divider-line-right {
		left: unset;
		right: 0;
		transform: translateX(calc(100% - (var(--default-h2) + 45px)));
	}
	&.divider-line-bottom {
		top: unset;
		bottom: 0;
	}
	&.divider-line-relative {
		position: relative;
		transform: none;
	}
	
	&.blue {
		background-color: var(--blue);
	}
	
	&.teal {
		background-color: var(--teal);
	}
	
	&.white {
		background-color: var(--white);
	}
}


.play-button {
	position: absolute;
	inset: 0;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	margin: auto;
	transform: scale(1, 1);
	transition: .3s;

	/* background: rgba(255, 255, 255, 0.31); */
	/* border-radius: 16px; */
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
	/* backdrop-filter: blur(4px); */
	/* -webkit-backdrop-filter: blur(4px); */
	border: 4px solid rgba(0, 0, 0, 0.3);
}

	.play-button svg {
		fill: var(--yellow);
    stroke: var(--white);
    /* stroke-linejoin: round; */
    stroke-width: 2;
    transition: all 0.3s;
		transform: scale(1.2);
	}

.cb-icon {}

	.cb-icon svg {
		width: 100%;
		height: 100%;
	}


/*  Footer
   ========================================================================== */

#bottom {
	background: var(--footer-background-color);
	height: auto;
	min-height: 300px;
	padding-top: 70px;
	margin-top: var(--deco-line-height);
	font-size: var(--default-p);
	font-weight: 400;
	
	.footer-wrapper {
		position: relative;
		padding: 0  var(--left-right-padding-small);
	}

	.footer-container {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		justify-content: space-between;
		gap: 50px;
		
		@media (max-width: 1024px) {
			grid-template-columns: 1fr 2fr;
		}
		@media (max-width: 768px) {
			grid-template-columns: 1fr 2fr;
		}
		@media (max-width: 620px) {
			grid-template-columns: 1fr;
		}
	}

	.logo-container {
		/* max-width: 320px; */
		padding-right: clamp(20px, 5vw, 140px);
		
		img {
			width: 100%;
		}
	}

	.footer-columns {
		position: relative;
		display: grid;
		grid-template-columns: 1fr auto;
		justify-content: space-between;
		align-items: flex-start;
		gap: 40px;
		flex-wrap: wrap;

		@media (max-width: 390px) {
			grid-template-columns: 1fr;
		}
		
		.col {
			position: relative;
			height: auto;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			
			&.column-one {
			}
			&.column-two {
			
				ul {
					margin: 0;
					padding: 0;
					list-style: none;
					display: flex;
					flex-direction: column;
					justify-content: space-between;
					gap: 2px;
			
					a {
						font-weight: 700;
						line-height: var(--default-lh);
						white-space: nowrap;
			
						&:hover {
							text-decoration: underline;
						}
					}
				}
			}

			/* &.column-three {
				@media (max-width: 768px) {
					grid-column: 1 / -1;
				}
			} */
		}
	}
}







			.col h4 {
				position: relative;
				margin: 0.5em 0 0.5em;
				color: var(--footer-text-color);
				font-family: var(--font-primary);
				font-size: var(--default-h4);
				font-weight: 700;
			}

				.col h4 img {
					--footer-icon-width: 27px;
					
					width: var(--footer-icon-width);
					height: var(--footer-icon-width);
					margin-right: 5px;
					display: inline-block;
					object-fit: contain;
				}

				.col h4 a {
					color: var(--footer-text-color);
					text-decoration: none;
				}

					.col h4 a:hover {
						text-decoration: underline;
					}

			.col p {
				position: relative;
				margin: 0;
				line-height: 1.75;
			}

				.col p a {
					color: var(--white);
					
				}
				
					.col p a:not(.btn):hover {
						/* color: var(--primary-color); */
						text-decoration-line: underline;
						text-decoration-color: var(--yellow);
						text-underline-position: under;
						text-decoration-thickness: 1px;
					}



.footer-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 75%;
	max-height: 370px;
	background-image: var(--background-image);
	background-position: -1% center;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: .8;
	pointer-events: none;
}


.site-footer a {
		color: var(--footer-text-color);
		text-decoration: none;
}

.site-footer .location-info {
	position: relative;
}
	.site-footer .location-info p {
	    margin: 0;
	    font-family: var(--font-secondary);
	    font-size: 1.7rem;
	    font-weight: 700;
	    color: var(--footer-text-color);
	    text-transform: uppercase;
	    line-height: 1.5;
		white-space: nowrap;
		letter-spacing: 3px;
	}


.site-footer {
	background-image: var(--background-image);
	background-position: center bottom;
	background-size: cover;
  background: var(--footer-background-color);
  color: var(--footer-text-color);
  /* overflow: hidden; */
  padding: 0;
}

.footer-row {
  margin: 5em auto;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-flow: row nowrap;
  -webkit-flex-flow: row nowrap;
          flex-flow: row;
  -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
            justify-content: space-between;
}

.footer-column {
  font-size: 1.4em;
  line-height: 1.6;
}

.footer-column p {
  margin: .2em 0;
}

.footer-column a:not(.button) {
  color: #fff;
}

.footer-column a:not(.button):not(.social-link):hover {
  text-decoration: underline;
}

.footer-column a.button {
  font-size: 14px;
  margin: 1em 0;
}

.footer-search-container {
  position: relative;
  width: 260px;
  margin: 0;
	margin-top: 1em;

	form {
		display: flex;
	}
	
	.search-input {
		position: relative;
		width: 100%;
		padding: 8px 48px 8px 8px;
		font-size: 16px;
		line-height: 16px;
		background: var(--footer-background-color);
		color: #fff;
		outline: 0;
		border: var(--teal) solid 2px;
		box-sizing: border-box;
		transition: .3s;

		&:focus-visible {
			background-color: var(--white);
			color: var(--charcoal);
		}
	}
	
	.search-btn,
	.search-input {
		margin: 0;
		border-radius: 50px;
		-webkit-appearance: none;
		appearance: none;
	}
	
	.search-btn {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		width: 40px;
		padding: 0;
		/* background: var(--footer-background-color); */
		color: #fff;
		font-size: 13px;
		border: var(--teal) solid 2px;
	}
}



		.social-container {
			padding-top: .5em;
			color: var(--primary-color);
			font-size: clamp(20px, 2.73vw, 30px);
			font-size: 24px;
			display: flex;
			align-items: center;

			a:not(.cb-tools) {
				width: 40px;
				aspect-ratio: 1 / 1;
				color: var(--teal);
				text-decoration: none;
				transition: .2s;
				display: flex;
				align-items: center;
				justify-content: center;
	
				&:hover {
					color: var(--white);
				}
			}
		}
		

.footer-info {
	padding-top: 1em;
}

.footer-info .container .btn {
	font-size: 12px;
}
.footer-copyright {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 10px;
	font-size: 12px;
	transform: scale(.8);
	transform-origin: right;
}

.footer-copyright p {
	margin: 0;
	color: #fff;
  font-family: var(--font-primary);
  font-size: 12px;
}

.footer-copyright a,
.footer-copyright a:visited{
  color: #fff;
  text-decoration: none;
} 

.footer-copyright .privacy-policy a:hover {
	text-decoration: underline;
}

.footer-copyright img {
	display: block;
	/* filter: invert(1); */
	opacity: .7;
}
.footer-text {
    font-weight: 100;
    text-transform: none;
}
#bottom .footer-columns {
    max-width: 100%;
		flex: 1;
}

#bottom .newsletter-container {
	position: relative;
	height: auto;
	padding-left: clamp(20px, 2vw, 140px);
	display: flex;
	flex-direction: column;
	justify-content: start;

	@media (max-width: 1024px) {
		padding-left: 0;
	}

	p {
		margin-top: 0;
	}

	.mc_embed_signup {
		position: relative;
		padding-top: 1em;
	
		.mc_embed_signup_scroll {
			display: flex;
			flex-direction: column;
			gap: 10px;
		}
	
		.mc-field-group {
			display: flex;
			gap: 10px;
			align-items: center;
	
			@media (max-width: 520px) {
				flex-direction: column;
				align-items: start;
			}
		}
	
		label {
			font-size: 0.75rem;
			white-space: nowrap;
		}
	
		input[type="text"], input[type="email"] {
			position: relative;
			max-width: 100%;
			min-width: 100px;
			padding: 8px;
			margin: 0;
			font-size: 0.75rem;
			line-height: 16px;
			background: var(--footer-background-color);
			color: #fff;
			outline: 0;
			border: var(--teal) solid 2px;
			border-radius: 50px;
			box-sizing: border-box;
			transition: .3s;
			-webkit-appearance: none;
			appearance: none;
	
			flex: auto;
	
			&:focus-visible {
				background-color: var(--white);
				color: var(--charcoal);
			}
		}
	}
}



.modalBody.old_redirect {
	position: relative;
	color: var(--black);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	margin-bottom: 50px;
}

.modalBody.old_redirect img,
.modalBody.old_redirect svg {
	max-width: 100%;
	margin: 0 auto;
	filter: brightness(0);
}

	.modalBody.old_redirect img:first-of-type {
		max-width: 80%;
	}

.modalBody.old_redirect .video_embed {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
}
	.modalBody.old_redirect video,
	.modalBody.old_redirect iframe {
		position: absolute;
		width: 100%;
		height: 100%;
	}

@media (max-width: 1300px) {
	.footer-info .container {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

}


@media (max-width: 768px) {
	.flex.stacked > img {
	    margin: 0 auto;
	}

	body.modal_active #modal_container {
		overflow: hidden;
	}
	
	#modal_container[data-modal] .modal_window {
		width: 100%;
		height: 100%;
		top: 0;
		padding-bottom: 0;
	}
	
	#modal_container .modal_window .modal_body {
		overflow: auto;
	}
}	

@media (max-width: 768px) and (min-width: 641px) {
	.footer-copyright p:first-child {
		position: absolute;
		right: 0;
		bottom: 0;
		transform: scale(.8) translateY(50%);
	}
}
	
@media (max-width: 640px) {
	:root {
		--left-right-padding: clamp(18px, 7vw, 115px);
	}

	a.btn, a.btn:visited,
	span.btn,
	input.btn {

	}

	#logo {
		width: 150px;
	}




	.footer-info .container {
		align-items: center;
	}

	.footer-social-wrapper {
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}

	.footer-copyright {
		flex-direction: column;
		gap: 20px;
	}

}

@media (max-width: 560px) {
	#bottom .columns_container {
		flex-direction: column;
		align-items: flex-start;
	}

	#bottom .columns {
		grid-template-columns: 1fr;
	}

	#bottom .columns .column-two {
		grid-column: 1;
		grid-row: 2;
	}
	#bottom .columns .column-three {
		grid-column: 1;
		grid-row: 3;
	}
}

@media (max-width: 420px) {
	#logo .logo-wordmark {
		display: none;
	}

	#bottom .columns .col {
		padding: 0 0 30px;
	}

	#bottom .columns .col:last-child {
		padding-bottom: 30px;
	}
}

@keyframes grow {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.05);
	}
}

@keyframes reveal-top-down {
	0% {
		clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
	}
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	}
}

@keyframes reveal-center-down {
	0% {
		clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
	}
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	}
}
#menu {
	display: none;
	appearance: none;
}


.navigation {
	position: relative;
	width: 100%;
	z-index: 100;
	text-align: right;
}

	.navigation ul {
		position: relative;
		margin: 0 auto;
		padding: 0;
		list-style: none;
		overflow: visible;
		font-size: 0;
	}

		.navigation ul li {
			position: relative;
			padding: 0 20px;
			font-family: var(--font-secondary);
			font-size: 14px;
			text-align: center;
			display: inline-block;
		}

		.scrolled {
		}

			.navigation > ul > li > a,
			.navigation > ul > li > a:visited {
				position: relative;
				margin: 0;
				padding: 15px 0;
				color: var(--nav-text);
				font-size: var(--nav-text-size);
				font-weight: 300;
				line-height: 1;
				letter-spacing: 1px;
				text-align: center;
				text-decoration: none;
				border-top: 3px solid transparent;
				border-bottom: 3px solid transparent;
				display: block;
				transition:.12s cubic-bezier(.4,0,.2,1);

				cursor: pointer;
			}

				.navigation > ul > li > a::before,
				.navigation > ul > li > a::after {
					content: "";
					position: absolute;
					bottom: 0;
					width: 0;
					height: 3px;
					background-color: var(--nav-underline, var(--primary-color));
					transition:.2s cubic-bezier(.4,0,.2,1);
				}

				.navigation > ul > li > a::before {
					left: 0;
				}
				.navigation > ul > li > a::after {
					right: 0;
					display: none;
				}

					.navigation > ul > li:hover > a::before,
					.navigation > ul > li > a:hover::before,
					.navigation > ul > li > a:focus::before,
					.navigation > ul > li > a.active::before,
					.navigation > ul > li > a.active:hover::before {
						width: 100%;
					}
					
					.navigation > ul > li:hover > a::after,
					.navigation > ul > li > a:hover::after,
					.navigation > ul > li > a:focus::after,
					.navigation > ul > li > a.active::after,
					.navigation > ul > li > a.active:hover::after {
						/* width: 50%; */
					}


				.navigation > ul > li > a:hover,
				.navigation > ul > li > a:focus,
				.navigation > ul > li > a.active,
				.navigation > ul > li > a.active:hover {
					/* border-bottom-color: var(--gold); */
				}
				

				.navigation > ul > li > a:visited:hover,
				.navigation > ul > li > a:visited:focus,
				.navigation > ul > li > a.active:visited,
				.navigation > ul > li > a.active:visited:hover {
					color: var(--nav-text);
				}

				.scrolled .navigation > ul > li > a:hover,
				.scrolled .navigation > ul > li > a:focus,
				.scrolled .navigation > ul > li > a.active,
				.scrolled .navigation > ul > li > a.active:hover {
					/* color: var(--primary-color); */
				}

				#navigation a:hover {
					text-decoration: none;
				}

#navigation > ul > li .subNav {
	position: absolute;
	opacity: 0;
	width: 200px;
	min-width: 230px;
	padding: 8px 0;
	visibility: hidden;
	background: #fff;
	background: rgba(255,255,255,.95);
	box-shadow: 0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);
	transition: transform .15s cubic-bezier(0,0,.2,1), opacity .15s cubic-bezier(0,0,.2,1);
	transform: translateY(-12px);
	overflow: hidden;
}

	#navigation > ul > li:last-child .subNav {
		right: 0;
	}

	#navigation > ul > li:hover .subNav {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	#navigation > ul > li .subNav li {
		display: block;
		font-size: 15px;
		font-weight: 500;
		text-align: left;
	}

		#navigation > ul > li .subNav li a {
			position: relative;
			display: inline-block;
			padding: 10px 2px 0;
			font-size: 13px;
			font-weight: 500;
			margin: 0;
			color: #262626;
			line-height: normal;
			text-decoration: none;
			border-bottom: transparent solid 1px;
			transition: .15s cubic-bezier(0,0,.2,1);
		}

			#navigation > ul > li .subNav li.active a,
			#navigation > ul > li .subNav li a:hover {
				color: var(--primary-color);
				border-bottom-color: var(--primary-color);
			}	 


.subnavOpen {
	display: none;
}

.search-container{
	position:absolute;
	right:20px;
	top:20%;
	height:100%;
	z-index:1
}
	.search-container .search {
		position:absolute;
		right:-70px;
		bottom:30%;
		width:40px;
		height:40px;
		background:0 0;
		border-radius:50%;
		transition:all 1s;
		z-index:4;
		font-size:9px;
		transform: scale(60%);
	}
		.search-container .search:hover{
			cursor:pointer
		}
			.search-container .search::before {
				content:"";
				position:absolute;
				margin:auto;
				top:22px;
				right:0;
				bottom:0;
				left:22px;
				width:12px;
				height:2px;
				background:var(--nav-text);
				transform:rotate(45deg);
				transition:all .5s;
				zoom:.7
			}
				.search-container .search::after{
					content:"";
					position:absolute;
					margin:auto;
					top:-5px;
					right:0;
					bottom:0;
					left:-5px;
					width:25px;
					height:25px;
					border-radius:50%;
					border:2px solid var(--nav-text);
					transition:all .5s;
					zoom:.7
				}
					.search-container input{font-family:var(--font-primary);position:absolute;right:-60px;bottom:30%;width:50px;height:39px;outline:0;border:none;background:#fff;color:#fff;padding:0 20px 0 20px;border-radius:3px;transition:all 1s;opacity:0;z-index:5;font-weight:100;letter-spacing:.1em;font-size:13px}
					.search-container input:hover{cursor:pointer}.search-container input:focus{right: -50px;box-shadow: 1px 1px 7px rgb(0 0 0 / 4%);color:#000;width:200px;opacity:1;cursor:text;font-weight:500;font-size:13px;background:#fff;padding:12px;letter-spacing:0}.search-container input:focus~.search{right:-70px;background:var(--secondary-color);z-index:6}.search-container input:focus~.search::before{top:0;left:0;width:25px;background:#fff}.search-container input:focus~.search::after{top:0;left:0;width:25px;height:2px;border:none;background:#fff;border-radius:0;transform:rotate(-45deg)}
					.primary.scrolled .search-container input{background:#fff;color:#000;}
					
					.primary.scrolled #navigation > ul > .search-container > form > .search:before {
						background: #000;
					}
					.primary.scrolled #navigation > ul > .search-container > form > .search:after {
						border-color: #000;
					}
					.primary.scrolled #navigation > ul > .search-container input:focus~.search::before{
						background: #fff;
					}


html.mobile_open {
	overflow: hidden;
}

#mobile-navigation-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	padding: 80px 7% 60px;
	background-color: var(--mobile-menu-background);
	opacity: 0;
	pointer-events: none;
	clip-path: circle(1.5% at 93% 15%);
	transition: all .4s ease-in-out;
	overflow: hidden;
}

	.mobile_open #mobile-navigation-container {
		opacity: 1;
		pointer-events: all;
		clip-path: circle(100% at 50% 50%);
		overflow: auto;
	}

	.mobile_open #logo {
		opacity: 0;
	}

	.mobile_nav {
		max-width: var(--max-width);
		padding-top: 50px;
		margin: 0 auto;
	}

	.mobile_nav_header {
		position: relative;
		transform: translateY(-20px);
	}

		.mobile_nav_header img {
			max-width: 200px;
			height: auto;
			filter: brightness(0);
		}
	
	.mobile_navigation {
		position: relative;
		padding: 0;
		list-style: none;
		display: flex;
		flex-direction: column;
		align-items: start;
	}

		.mobile_navigation a {
			position: relative;
			padding: 10px;
			color: var(--mobile-nav-text-color);
			font-size: 21px;
			line-height: 1;
			letter-spacing: .14px;
			text-decoration: none;
			display: inline-block;
		}

			.mobile_navigation a::before {
				content: '';
				position: absolute;
				top: 70%;
				left: 50%;
				width: 0;
				height: 2px;
				border-radius: 30px;
				background: var(--mobile-nav-text-color);
				transform: translate(-50%, -50%);
				transition: all .4s;
			}

				.mobile_navigation a:hover::before {
					top: 85%;
					width: 80%;
				}

				.mobile_navigation .subNav {
					--subnav-left: 10px;

					list-style: none;
					padding-left: var(--subnav-left);
					border-left: var(--subnav-left) solid var(--charcoal);
					border-left: 3px solid var(--blue);
					transform: translateX(var(--subnav-left));
				}

					.mobile_navigation .subNav a {
						font-size: 18px;
					}
		
		.mobile_nav_footer {
			margin-top: 40px;
			display: flex;
			flex-direction: column;
			align-items: center;
		}

			.mobile_nav_footer .mobile-social {
				position: relative;
				display: flex;
				justify-content: center;
			}
				
				.mobile_nav_footer a.mobile-social-link {

					margin-bottom: 20px;
					padding-left: 20px;
					padding-right: 20px;
					transition: all .3s ease-in-out;
				}
				
					.mobile_nav_footer a.mobile-social-link:hover {

					}

			.mobile_nav_footer .button_wrapper {
				margin-top: 10px;
			}

				.mobile_nav_footer .button_wrapper a {
					font-size: 15px;
				}
					

@media (max-width: 1375px) {
}

@media (max-width: 1264px) {
}


/* @media (max-width: 1264px) { */
@media (max-width: 1024px) {
	body.navActive {
		height: 100vh;
		overflow: hidden;
	}

	/*
	 * Menu Button
	 */

	#menu {
		z-index: 201;
		font: inherit;
		display: block;
		overflow: visible;
		margin: 0;
		/* padding: 29px 20px; */
		cursor: pointer;
		transition-timing-function: linear;
		transition-duration: .15s;
		transition-property: opacity,filter;
		text-transform: none;
		color: inherit;
		border: 0;
		background-color: transparent;
		appearance: none;


		position: absolute;
		top: 50%;
		right: 0;
		float: none;
		transform: translate(-50%, -50%);
	}
	#menu:focus,
	#menu:active {
		outline: 0;
	}

	.menu-bars {
		position: relative;
			display: block;
			width: 30px;
			height: 20px;
	}

	.menu-bar {
		display: block;
		top: 50%;
		margin-top: -1px;
	}
	.menu-bar,
	.menu-bar::before,
	.menu-bar::after {
		width: 30px;
		height: 2px;
		background-color: var(--nav-text);
		border-radius: 4px;
		position: absolute;
		transition-property: transform;
		transition-duration: 0.15s;
		transition-timing-function: ease;
	}

		.scrolled .menu-bar,
		.scrolled .menu-bar::before,
		.scrolled .menu-bar::after {

		}

		.mobile_open .menu-bar,
		.mobile_open .menu-bar::before,
		.mobile_open .menu-bar::after {
			background-color: var(--mobile-nav-text-color);
		}
	
	.menu-bar::before,
	.menu-bar::after {
		content: "";
		display: block;
	}
	.menu-bar::before {
		top: -8px;
	}
	.menu-bar::after {
		bottom: -8px;
	}

	/*
	 * Menu Animation
	 */
	 
	#menu.active {
		background-color: transparent;
	}
	
	.active .menu-bar,
	.active .menu-bar::before,
	.active .menu-bar::after {
	}
	
	.menu-bar {
		transition-duration: 0.1s;
		transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}
	
	.menu-bar::before {
		transition: top 0.1s 0.14s ease, opacity 0.1s ease;
	}
	
	.menu-bar::after {
		transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}

	.active .menu-bar,
	.mobile_open .menu-bar {
		transform: rotate(45deg);
		transition-delay: 0.14s;
		transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	
	.active .menu-bar::before,
	.mobile_open .menu-bar::before {
		top: 0;
		opacity: 0;
		transition: top 0.1s ease, opacity 0.1s 0.14s ease;
	}
	
	.active .menu-bar::after,
	.mobile_open .menu-bar::after {
		bottom: 0;
		transform: rotate(-90deg);
		transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	
	.main-container {
		left: 0;
		transition: left .2s cubic-bezier(.4,0,.2,1);
	}
	
		.navActive .main-container {
			/* transform: translate3d(-250px,0,0); */
			/* position: fixed; */
			overflow-x: visible;
			left: -250px;
		}
	
	.navigation {
		position: fixed;
		top: 0;
		right: -250px;
		display: block;
		margin: 0;
		width: 250px;
		max-width: 100%;
		height: 100%;
		max-height: 100%;
		float: none;
		transition: right .2s cubic-bezier(.4,0,.2,1);
		overflow: hidden;
		background: var(--primary-color);
		z-index: -1;
		padding-right: 0;
	}
	
		.navigation.active {
			visibility:visible;
			/* transition:visibility 0s linear 0s; */
			overflow: scroll;
			right: 0;
		}

		.navigation ul {
			position:relative;
			height:auto;
			width:100%;
		}
		
			.navigation > ul > li {
				border-bottom: 1px solid rgba(255, 255, 255, 0.5);
			}
	
				.navigation > ul > li:first-child {
					border-top: 1px solid rgba(255, 255, 255, 0.5);
				}

				.navigation ul li,
				.navigation ul li a {
					width: 100%;
					display: block;
					float: none;
					margin: 0;
					color: var(--primary-color-text);
				}

				.navigation > ul > li > a {
					position: relative;
					width: 100%;
					display: block;
					float: none;
					box-sizing: border-box;
					margin: 0;
					padding: 12px 20px;
					font-size: 17px;
					line-height: 24px;
					text-align: left;
				}
		
					.navigation ul li a:hover {
						border-color: transparent;
					}
					
					.navigation > ul > li > a:hover,
					.navigation > ul > li > a:focus,
					.navigation > ul > li > a.active,
					.navigation > ul > li > a.active:hover {
						color: #fff;
					}
			
			
		.subnavOpen {
			position: absolute;
			top: 50%;
			right: -25px;
			/* width: 60px; */
			font-size: 24px;
			text-align: center;
			transform: translateY(-50%);
		}
				
		.subnavOpen,
		.subnavOpen span {
			display: block;
			/* height: 100%; */
			/* line-height: 48px; */
		}

		.subnavOpen span {
				width: 100%;
				transition: .2s ease-out;
		}
		
		.subnavOpen.active {
			
		}
		
		.subnavOpen.active span {
			transform: rotateX(180deg);
		}
				
		.subnavMask {
			position: relative;
			height: 0;
			overflow: hidden;
			transition: .3s ease-in-out;
		}
		

		#navigation > ul > li .subNav {
			position: relative;
			width: 100%;
			opacity: 1;
			transform: none;
			visibility: visible;
			box-shadow: none;
			background: #fff;
		}
		
		.navigation > ul > li:hover > a, .navigation > ul > li > a.active {
			border-color: transparent;
			background-color: var(--charcoal);
		}
		.navigation > ul > li > a {
			--b: 0;
		}

		.search-container {
			position: relative;
			right: unset;
			top: unset;
			padding-top: 40px;
			height: 100%;
			z-index: 1;
	}

	.search-container form {
			display: block;
			background: white;
	}

	.search-container form input {
		position: relative;
		width: 100%;
		display: block;
		background: transparent;
		color: black;
		opacity: 1;
		letter-spacing: 0;
		top: unset;
		left: unset;
		right: unset;
		bottom: unset;
		font-weight: 500;
	}

		.search-container form input:focus {
			padding: 0 20px;
			right: unset;
		}

		.search-container .search {
			position: absolute;
			bottom: 30%;
			width: 40px;
			left: 0;
			top: 1px;
			height: 40px;
			background: 0 0;
			border-radius: 50%;
			transition: all 1s;
			z-index: 9999999999;
			font-size: 9px;

			display: none;
	}
}
@media (max-width:768px) {

}

@media (max-width: 576px) {
  .container {
    width: 100%;
    padding-left: 30px;
    padding-right: 30px;
  }
}

@font-face {
  font-family: 'SocialIcons';
  src:
    url('/includes/fonts/social-icons/fonts/SocialIcons.ttf?e7e1as') format('truetype'),
    url('/includes/fonts/social-icons/fonts/SocialIcons.woff?e7e1as') format('woff'),
    url('/includes/fonts/social-icons/fonts/SocialIcons.svg?e7e1as#SocialIcons') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

[class^="ico-"], [class*=" ico-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'SocialIcons' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ico-x:before {
  content: "\e905";
}
.ico-twitter:before {
  content: "\e905";
}
.ico-check:before {
  content: "\e5ca";
}
.ico-search:before {
  content: "\e8b6";
}
.ico-arrow_right:before {
  content: "\e904";
}
.ico-youtube:before {
  content: "\ea9d";
}
.ico-arrow-right:before {
  content: "\e903";
}
.ico-arrow-left:before {
  content: "\e901";
}
.ico-arrow-down:before {
  content: "\e902";
}
.ico-wordpress:before {
  content: "\e900";
}
.ico-twitter-square:before {
  content: "\f081";
}
.ico-facebook-square:before {
  content: "\f082";
}
.ico-linkedin-square:before {
  content: "\f08c";
}
.ico-twitter1:before {
  content: "\f099";
}
.ico-facebook:before {
  content: "\f09a";
}
.ico-facebook-f:before {
  content: "\f09a";
}
.ico-feed:before {
  content: "\f09e";
}
.ico-rss:before {
  content: "\f09e";
}
.ico-pinterest-square:before {
  content: "\f0d3";
}
.ico-envelope:before {
  content: "\f0e0";
}
.ico-linkedin:before {
  content: "\f0e1";
}
.ico-rss-square:before {
  content: "\f143";
}
.ico-instagram:before {
  content: "\f16d";
}
.ico-vimeo-square:before {
  content: "\f194";
}
.ico-pinterest:before {
  content: "\f231";
}
.ico-vimeo:before {
  content: "\f27d";
}
.ico-snapchat:before {
  content: "\f2ac";
}

@charset "UTF-8";

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInDown {
  animation-name: fadeInDown;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInRight {
  animation-name: fadeInRight;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInUp {
  animation-name: fadeInUp;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
}

.fadeOutDown {
  animation-name: fadeOutDown;
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
}

.fadeOutLeft {
  animation-name: fadeOutLeft;
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(20px, 0, 0);
  }
}

.fadeOutRight {
  animation-name: fadeOutRight;
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
}

.fadeOutUp {
  animation-name: fadeOutUp;
}

@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
  }

  to {
    transform: none;
  }
}

.slideInDown {
  animation-name: slideInDown;
}

@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
  }

  to {
    transform: none;
  }
}

.slideInLeft {
  animation-name: slideInLeft;
}

@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
  }

  to {
    transform: none;
  }
}

.slideInRight {
  animation-name: slideInRight;
}

@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
  }

  to {
    transform: none;
  }
}

.slideInUp {
  animation-name: slideInUp;
}

@keyframes slideOutDown {
  from {
    transform: none;
  }

  to {
    transform: translate3d(0, 100%, 0);
  }
}

.slideOutDown {
  animation-name: slideOutDown;
}

@keyframes slideOutLeft {
  from {
    transform: none;
  }

  to {
    transform: translate3d(-100%, 0, 0);
  }
}

.slideOutLeft {
  animation-name: slideOutLeft;
}

@keyframes slideOutRight {
  from {
    transform: none;
  }

  to {
    transform: translate3d(100%, 0, 0);
  }
}

.slideOutRight {
  animation-name: slideOutRight;
}

@keyframes slideOutUp {
  from {
    transform: none;
  }

  to {
    transform: translate3d(0, -100%, 0);
  }
}

.slideOutUp {
  animation-name: slideOutUp;
}
.flex {
	display: flex;
}

.centered {
	justify-content: center;
	align-items: center;
}

.stacked {
	flex-direction: column;
}
.middle{
	align-items: center;
}

.grid-10 {
	width: 10%;
}

.grid-15 {
	width: 15%;
}

.grid-20 {
	width: 20%;
}

.grid-25 {
	width: 25%;
}

.grid-30 {
	width: 30%;
}

.grid-35 {
	width: 35%;
}

.grid-40 {
	width: 40%;
}

.grid-45 {
	width: 45%;
}

.grid-50 {
	width: 50%;
}

.grid-55 {
	width: 55%;
}

.grid-60 {
	width: 60%;
}

.grid-65 {
	width: 65%;
}

.grid-70 {
	width: 70%;
}

.grid-75 {
	width: 75%;
}

.grid-80 {
	width: 80%;
}

.grid-85 {
	width: 85%;
}

.grid-90 {
	width: 90%;
}

.grid-95 {
	width: 95%;
}

.grid-100 {
	width: 100%;
}

.grid-33 {
	width: 33.33%;
}

@media (max-width: 768px) {
	.grid-10, .grid-15, .grid-20, .grid-25, .grid-30, .grid-35, .grid-40, .grid-45, .grid-50, .grid-55, 
	.grid-60, .grid-65, .grid-70, .grid-75, .grid-80, .grid-85, .grid-90, .grid-95, .grid-100, .grid-33 {
		width: 100%;
	}
	
	.flex {
		flex-direction: column;
	}
}
:root {
	--section-title-size: var(--default-h2);
	--border-radius: 60px;
}

.hero-container {
	position: relative;
	height: 100vh;
	min-height: 600px;
	display: flex;
	flex-direction: column;
	transition: .25s ease-out;
}

	.hero-image {
		position: relative;
		background-image: var(--background-image);
		background-position: var(--background-position, center);
		background-size: cover;
		overflow: hidden;
		animation: grow 1.5s ease-out forwards;
		grid-column: 1;
		grid-row: 1;
		pointer-events: none;

		&::before {
			content: "";
			position: absolute;
			inset: 0;
			background-image: linear-gradient(40deg, #000, transparent);
			opacity: .6;
			pointer-events: none;
		}
	}

.hero.wide {
	position: relative;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr;
	gap: 60px;
	background-position: 90% 0%;

	&::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: radial-gradient(circle at 180% 170%, #003856, transparent);
		pointer-events: none;
		z-index: 1;
	}


	.btn.blue {
		--bg-color: var(--light-blue);
		--border-color: var(--light-blue);
		--border-color: transparent;
		--hover-bg: var(--blue);

		box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;

		&:hover {
			/* --border-color: var(--blue); */
		}
	}
}



.hero-container a.pc-edit {
	top: 100px;
}


.hero-text-container {
	position: relative;
	padding-bottom: 150px;
	padding-bottom: 25px;
	padding-left: var(--left-right-padding);
	/* padding-right: var(--left-right-padding); */
	color: var(--white);
	align-self: end;
	grid-column: 1;
	grid-row: 1;
	order: 1;
	z-index: 2;

	display: grid;
	grid-template-columns: 1fr;

	&::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: radial-gradient(closest-side at 50% 30%, rgba(0,0,0,.5), transparent);
		pointer-events: none;
	}

	.hero-text {
		position: relative;
	}
	
	h1 {
		position: relative;
		margin: 0;
		font-family: var(--font-primary);
		font-size: var(--default-h1);
		font-weight: 800;
		line-height: 1.1;
		display: inline-flex;
		flex-direction: column;
	
		span {
			font-size: var(--default-h3);
			font-weight: 400;
		}
	}

	p {
		font-size: var(--default-h5);
	}
}


.divider {
	position: relative;
	height: var(--divider-size);
	width: 100%;
	
	&::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		left: 0;
		width: 0;
		height: var(--divider-size);
		transition: 1s;
		box-sizing: border-box;
		opacity: 0;

		border-color: var(--divider-color);
		border-width: var(--divider-size);
		border-style: solid;
		border-top-width: 0;
		
	}

	&.inView::before {
		animation: divider-hero 2s ease-in-out .5s forwards;
	}
}



.hero-button-container {
	position: relative;
	justify-self: end;
	display: flex;
	flex-direction: column;
	align-items: end;
	gap: 10px;

	a.btn {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		border-right-width: 0;

		&.arrow {
			padding-left: 20px;
			display: flex;
			gap: 10px;

			&::after {
				position: relative;
				height: auto;
			}
		}
	}


}

.hero-button-wrapper {
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: var(--default-p);
	text-align: right;
}
	
				

#section-container {
	position: relative;
	background-color: var(--white);
	font-size: var(--default-p);
}


section {
	position: relative;
	padding: var(--section-padding-top) 0;
	padding: var(--section-padding-top) var(--left-right-padding);

}

	.section-background-container {
		position: absolute;
		width: 100%;
		height: 100%;
	}
	
		.section-background-container::before {
			content: "";
			position: absolute;
			width: 100%;
			height: 100%;
	
			background-image: var(--background-image);
			background-position: var(--background-position);
			background-size: cover;
		}
	
			.section-background {
				width: 100%;
				height: 100%;
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				background-image: var(--background-image);
			}

	section h2 {
		position: relative;
		margin: 0.25em 0 0.5em;
		font-family: var(--font-primary);
		font-size: var(--default-h2);
		font-weight: 700;
		text-align: left;
		line-height: 1.2;
		display: inline-block;
	}
	
		section .section-title h2 {
			margin: 0;
		}
	
	section h3 {
		color: inherit;
		font-family: var(--font-primary);
		font-size: var(--default-h3);
		font-weight: 400;
		line-height: 1.1;
		margin: 0;
	}
	
	section h4 {
		margin: 0;
		color: var(--charcoal);
		font-family: var(--font-primary);
		font-size: var(--default-h4);
		font-weight: 300;
	}
	
		section h4.active {
		}
		
			section h4:before {
				content: var(--icon-arrow-right-charcoal);
				position: absolute;
				left: 0;
				top: 50%;
				transform: translate(-150%, -50%);
				display: inline-block;
				vertical-align: middle;
				opacity: 0;
				transition: .3s;
			}

				section .active h4:before {
					opacity: 1;
				}

	section .section-title {
		position: relative;
		font-size: var(--section-title-size);
		line-height: 1.2;
	}
	
	section .section-content-wrapper {
		position: relative;
		/* width: 86%; */
		max-width: var(--max-width);
		margin: 0 auto;
	}
	section p {
		position: relative;
		font-size: var(--default-p);
		font-weight: var(--default-p-weight);
		line-height: var(--default-lh);
	}

	section h2 p {
		margin: 0;
		font-size: inherit;
		font-weight: inherit;
		line-height: inherit;
	}


	section .section-header {
		margin-bottom: 3rem;
	}

		section .section-header.centered {
			text-align: center;
		}


	.column-container {
		position: relative;
		width: 100%;
		padding: 60px 100px;
		display: flex;
		justify-content: space-between;
	}
	
		.column-container .column {
			position: relative;
			width: 50%;
		}
		
			.column_container .column-image {
/* 				width: 55%; */
			}
			
/*
			.column_container .column:not(.column-image) {
				padding: 0 9em;
			}
*/
		
			.column.left {
				padding-right: 0;
			}

			.column.right {
				padding-left: 0;
			}
		



		section .left,
		section .right {
			position: relative;
		}

		section .section-button {
			text-align: center;
		}
		
			section .section-button a {
				font-size: 17pt;
			}
		
		section .background-container {
			position: relative;
			height: 0;
			padding-top: 56.25%;
		}

			section .background-container .background {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-position: center;
				background-size: cover;
			}


#first-section {
	padding-right: 0;

	.section-content-wrapper {
		display: grid;
		grid-template-columns: 1fr 2fr;
		align-items: center;
		justify-content: space-between;
		gap: clamp(50px, 8.68vw, 125px);

		@media (max-width: 768px) {
			grid-template-columns: 1fr;

			.section-text-container {
				padding-right: var(--left-right-padding);
			}
		}
	}

	.section-image {
		width: 100%;
		object-fit: cover;
		border-top-left-radius: var(--border-radius);
		border-bottom-left-radius: var(--border-radius);
		box-shadow: 0 3px 26px rgba(0, 0, 0, .06);
	}
}

#second-section {
	padding-left: 0;

	.section-content-wrapper {
		display: grid;
		grid-template-columns: 2fr 1fr;
		align-items: center;
		justify-content: space-between;
		gap: clamp(50px, 8.68vw, 125px);

		@media (max-width: 768px) {
			grid-template-columns: 1fr;

			.section-text-container {
				padding-left: var(--left-right-padding);
			}
		}
	}

	.section-text-container {
		order: 1;
	}

	.section-image {
		width: 100%;
		object-fit: cover;
		border-top-right-radius: var(--border-radius);
		border-bottom-right-radius: var(--border-radius);
		box-shadow: 0 3px 26px rgba(0, 0, 0, .06);

	}

	@media (max-width: 768px) {
		.section-image-container {
			order: 2;
		}
	}
}

#third-section {
	--default-h3: clamp(3.125rem, 4.65vw, 4.1875rem); /* 67px */
	padding-inline: 0;
	color: var(--white);
	background-color: var(--blue);

	h2 {
		margin-bottom: 0;
	}

	.section-text-container {
		padding-inline: var(--left-right-padding);
		padding-bottom: 30px;
	}

	.section-column-container {
		display: grid;
		grid-template-columns: 1fr .7fr 1fr;
		gap: 35px;
		justify-content: space-between;

		@media (max-width: 768px) {
		 grid-template-columns: repeat(12, 1fr);
		}
		@media (max-width: 520px) {
		 grid-template-columns: repeat(6, 1fr);
		}
	}

	.section-column {
		display: grid;
		grid-template-columns: 1fr;
		justify-content: center;

		.column-image-container {
			position: relative;
			grid-column: 1;
			grid-row: 1;
			overflow: hidden;

			&::after {
				content: "";
				position: absolute;
				inset: 0;
				background-image: linear-gradient(180deg, rgba(60, 122, 138, 0), #070c10);
				opacity: .47;
			}
		}

		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			box-shadow: 0 3px 26px rgba(0, 0, 0, .06);
		}
		&:nth-child(1) {
			.column-image-container {
				border-top-right-radius: var(--border-radius);
				border-bottom-right-radius: var(--border-radius);
			}

			@media (max-width: 768px) {
				grid-column: 1 / 8;
				grid-row: 1;
			}
			@media (max-width: 520px) {
				grid-column: 1 / 5;
			}

		}
		&:nth-child(2) {
			.column-image-container {
				border-radius: var(--border-radius);
			}

			@media (max-width: 768px) {
				grid-column: 6 / -1;
				grid-row: 2;

				.column-image-container {
					border-top-right-radius: 0;
					border-bottom-right-radius: 0;
				}
			}
			@media (max-width: 520px) {
				grid-column: 3 / -1;
			}
		} 
		&:nth-child(3) {
			.column-image-container {
				border-top-left-radius: var(--border-radius);
				border-bottom-left-radius: var(--border-radius);
				
				@media (max-width: 768px) {
					border-top-left-radius: 0;
					border-bottom-left-radius: 0;
					border-top-right-radius: var(--border-radius);
					border-bottom-right-radius: var(--border-radius);
				}
			}

			@media (max-width: 768px) {
				grid-column: 1 / 8;
				grid-row: 3;
			}
			@media (max-width: 520px) {
				grid-column: 1 / 5;
			}
		} 
	}

	.column-text-container {
		position: relative;
		grid-column: 1;
		grid-row: 1;
		align-self: center;
		justify-self: center;
		text-align: center;

		h3 {
			font-weight: 700;
		}
	}
}

#fourth-section {
	padding-inline: 0;
	color: var(--white);
	background-color: var(--blue);
	display: grid;

	.section-image {
		grid-column: 1;
		grid-row: 1;

		width: 100%;
		opacity: .02;
		pointer-events: none;

		/* background-image: var(--background-image);
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain; */

		img {
			width: 100%;
			object-fit: contain;
			transform: translateX(-3%);
		}
	}

	.section-content-wrapper {
		padding-inline: var(--left-right-padding);
		grid-column: 1;
		grid-row: 1;

		display: grid;
		align-items: center;
		justify-content: center;
	}

	.section-text-container {
		max-width: 720px;
		text-align: center;

		h2 {
			font-size: var(--default-h3);
			text-align: center;
		}
	}
}

#sermon-section {
	padding-left: 0;

	.section-content-wrapper {
		display: grid;
		grid-template-columns: 2fr 1fr;
		align-items: center;
		justify-content: space-between;
		gap: clamp(50px, 8.68vw, 125px);

		@media (max-width: 768px) {
			grid-template-columns: 1fr;

			.section-text-container {
				padding-left: var(--left-right-padding);
			}
		}
	}

	.section-text-container {
		order: 2;
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.section-title {
		margin-bottom: 0;
		align-self: start;
	}

	.section-image {
		width: 100%;
		object-fit: cover;
		border-top-right-radius: var(--border-radius);
		border-bottom-right-radius: var(--border-radius);
		box-shadow: 0 3px 26px rgba(0, 0, 0, .06);
	}

	.sermon-title {
		margin: 0;
		font-size: var(--default-h5);
		font-weight: 300;
	}
}

#event-section {
	padding-right: 0;

	.section-content-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		justify-content: space-between;
		gap: clamp(50px, 8.68vw, 125px);

		@media (max-width: 768px) {
			grid-template-columns: 1fr;
		}
	}

	.section-event-container {
		position: relative;
		display: grid;

		.column {
			position: relative;
			width: 100%;
			grid-column: 1;
			grid-row: 1;
			opacity: 0;
			transition: opacity .3s ease-in-out;
			overflow: hidden;
			pointer-events: none;

			&.active {
				opacity: 1;
				pointer-events: all;
			}

			.column_text_wrapper {
				align-items: center;
				gap: 20px;

				.column-image {
					width: 100%;
				}

				img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					border-top-left-radius: var(--border-radius);
					border-bottom-left-radius: var(--border-radius);
				}

				.column-nav {
					position: relative;
					display: flex;
					gap: 10px;

					span {
						width: 20px;
						height: 20px;
						background-color: var(--grey);
						border: 1px solid var(--teal);
						border-radius: 50%;
						cursor: pointer;
						/* opacity: .5; */

						&.active {
							background-color: var(--teal);
						}
					}
				}
			}
		}
	}
}

