:root {
	
	/* LAYOUT */
	--section-boxed: 1080px;
	--section-horizontal-padding: 3%;
	--section-vertical-padding: 4%;
	--section-mobile-horizontal-padding: 30px;
	--section-mobile-horizontal-padding-left-position: -32px;
	--section-mobile-vertical-padding: 50px;
	--row-margin-bottom: 30px;
	
	/* COLORS */
	--color-a: #254272; /* Primary Color */	
	--color-a-filter: brightness(0) saturate(100%) invert(19%) sepia(99%) saturate(489%) hue-rotate(178deg) brightness(96%) contrast(87%);
	--color-a-foreground: var(--color-f);
	
	--color-b: #122D5B; /* Secondary Color */	
	--color-b-filter: brightness(0) saturate(100%) invert(15%) sepia(64%) saturate(1411%) hue-rotate(193deg) brightness(86%) contrast(96%);
	--color-b-foreground: var(--color-f);
	
	--color-c: #AC7E2C; /* Complimentary Color */
	--color-c-foreground: var(--color-f);
	
	--color-d: #254272; /* Dark Color */
	--color-t: #222; /* Text Color */
	--color-f: #fff; /* Light Color */
	--color-f-filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(103deg) brightness(111%) contrast(101%);
	
	--color-g: #fbfbfb; /* Light Gray-ish Color for BG */

	/* TYPOGRAPHY */
	--h1-size: 3em;
	--h2-size: 2.4em;
	--h3-size: 2.0em;
	--h4-size: 1.5em;
	--h5-size: 1.25em;
	--h6-size: 1.0em;
	--p-size: 1em;
	--p-lineheight: 1.5em;
	--h1-color: var(--color-a);
	--h2-color: var(--color-a);
	--h3-color: var(--color-a);
	--h4-color: var(--color-a);
	--h5-color: var(--color-a);
	--h6-color: var(--color-a);
	--p-color: var(--color-t);
	
	/* HEADER */
	--header-bg: #fff;
	--header-height: 70px;
	--header-height-mobile: 70px;
	--header-vertical-padding: 10px;
	/* LOGO */
	--logo-width: auto;
	/* MENU */
	--menu-color: var(--color-d);
	--active-link-color: var(--color-a);
	--menu-item-spacing: 0 20px;
	/* MENU SOCIAL MEDIA */
	--menu-social-media-icons-color: var(--color-a-filter);
	--menu-social-media-icons-color-hover: var(--color-b-filter);
	--menu-social-media-icons-size: 24px;
	/* MENU PHONE */
	--menu-phone-bg: var(--color-b);
	/* MOBILE MENU */
	--mobile-menu-icon-color: var(--color-a);
	--mobile-menu-item-size: 24px;
	--mobile-menu-item-spacing: 40px 0;
	--mobile-menu-item-color: #000;
	--mobile-menu-bg: var(--color-f);
	--svg-img-open: url('img-assets/mobile-menu.svg');
	--svg-img-close: url('img-assets/close-1.svg');
	
	/* BUTTON */
	--btn-size: 1em;	
	--btn-weight: 500;
	--btn-padding: 1em 2em;	
	--btn-a-background: var(--color-a);
	--btn-a-foreground: var(--color-a-foreground);
	--btn-b-background: var(--color-b);
	--btn-b-foreground: var(--color-b-foreground);
	--btn-c-background: var(--color-c);
	--btn-c-foreground: var(--color-f);
	--btn-f-background: var(--color-f);
	--btn-f-foreground: var(--color-a);
	
	
	/* HR */
	--hr-bgcolor: var(--color-a);
	--hr-width: 60px;
	--hr-height: 5px;
	--hr-margin: 1em 0 2em 0;
	
	/* BLOCKQUOTE */
	--blockquote-bg: var(--color-g);
	--blockquote-size: 20px;
	--blockquote-color: var(--color-a-filter);

	
}

/* CSS RESET */
button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none} div,header,section,footer{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}ul{margin:0;padding:0}

/* LAYOUT */
html {
	scroll-behavior: smooth;
}
@media screen and (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
section, header, div, .row, .col, h1, h2, h3, h4, h5, h6, p, li, a, ul  {
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box; 
	box-sizing: border-box; 
}
section {
	padding: var(--section-vertical-padding) var(--section-horizontal-padding);
	scroll-margin-top: 50px;
}
footer {
	padding: var(--section-vertical-padding) 0;
}
.full-height {
	height: calc(100vh - var(--header-height));
}
.half-height {
	height: calc(70vh - var(--header-height));
}
.bg-img {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.row {
	width: 100%;
}
section > .row,
footer > .row {
	max-width: var(--section-boxed);
	margin: 0 auto var(--row-margin-bottom) auto;
}
section > .row:last-child,
footer > .row:last-child {
	margin: 0 auto;
}
section.full-width > .row,
.row.full-width {
	max-width: 100%;
}
.inline-block {
	display: inline-block;
}
.flex {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
}
.flex-wrap {
	flex-wrap: wrap;
}
.mar-5 {
	margin: 5px;
}
.pad-0 {
	padding: 0;
}
.pad-5 {
	padding: 5px;
}
.pad-10 {
	padding: 10px;
}
.pad-20 {
	padding: 20px;
}
.pad-30 {
	padding: 30px;
}
.pad-50 {
	padding: 50px;
}
.pad-1-0-1-0 {
	padding-left: 0;
	padding-right: 0;
}
.pad-0-1-0-1 {
	padding-top: 0;
	padding-bottom: 0;
}
.pad-1-0-0-0 {
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 0;
}
.pad-0-0-0-1 {
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
}
.col:last-child {
	margin-bottom: 0 !important;
}
.col-1-2,
.col-2-4 {
	width: 50%;
}
.col-1-3 {
	width: 33.33%;
}
.col-1-4 {
	width: 25%;
}
.col-2-boxed {
	width: calc(var(--section-boxed) / 2);
}
.mar-5.col-1-4 {
	width: calc(25% - 10px);
}
.col-2-3 {
	width: 66.66%
}
.col-3-4 {
	width: 75%;
}
.gap-1 .col-1-3 {
	width: 32%;
}
.gap-2 .col-1-3 {
	width: 31%;
}
.gap-3 .col-1-3 {
	width: 30%;
}
.gap-3 .col-1-2 {
	width: 47%;
}
.gap-5 .col-1-3 {
	width: 28%;
}
.gap-5 .col-1-4 {
	width: 21%;
}
.v-align-items-center {
	align-items: center;
}
.flex-wrap {
	flex-wrap: wrap;
}
.h-align-items-center {
	justify-content: center;
}
.h-align-items-left {
	justify-content: flex-start;
}
.align-center {
	text-align: center;
}
.align-right {
	text-align: right;
}
.button.align-center,
button.align-center, 
.align-center button,
.align-center .button,
.align-center .max-width-66,
.align-center > img,
.align-center > picture,
div.align-center,
img.align-center
{
	margin-left: auto;
	margin-right: auto;
}
.align-center > ul {
	width: max-content;
	margin: 0 auto;
	text-align: left;
}
.max-width-66 {
	max-width: 660px;
}
.scroll-disable {
	overflow: hidden;
}
.spacer-10 {
	height: 10px;
}
.spacer-20 {
	height: 20px;
}
.spacer-30 {
	height: 30px;
}
.spacer-50 {
	height: 50px;
}
@media screen and (max-width: 1080px){
	header, section, footer,
	.pad-1-0-1-0	
	{
		padding-left: var(--section-mobile-horizontal-padding);
		padding-right: var(--section-mobile-horizontal-padding);
	}
	section {
		padding-top: var(--section-mobile-vertical-padding);
		padding-bottom: var(--section-mobile-vertical-padding);
	}
	.full-height {
		height: calc(100vh - var(--header-height-mobile));
	}
}
@media screen and (max-width: 800px){
	.half-height {
		height: auto;
		padding-top: var(--section-mobile-vertical-padding);
		padding-bottom: var(--section-mobile-vertical-padding);
	}
	.row.flex {
		flex-wrap: wrap;
	}
	.col-1-4 {
		width: 50%;
		margin-bottom: 30px;
	}
	.mar-5.col-1-4 {
		width: calc(50% - 10px);
		margin: 5px;
	}
	.spacer-50 {
		height: 30px;
	}
	.pad-50 {
		padding: 30px;
	}
	.pad-50.col-2-boxed {
		width: 50%;
	}
}
@media screen and (max-width: 660px){
	.flex {
		flex-direction: column;
	}
	.flex-mobile-nowrap {
		flex-direction: row;
		flex-wrap: nowrap;
	}
	.col-1-2,
	.col-2-4,
	.col-1-4, 
	.col-1-3,
	.col-2-3,
	.col-2-4,
	.col-3-4,
	.mar-5.col-1-4,
	:not(.gap-3-mobile).gap-3 > .col,
	.pad-50.col-2-boxed
	{
		width: 100% !important;
		margin-bottom: 30px;
	}
	.spacer-50 {
		height: 20px;
	}
	.pad-mob-0 {
		padding: 0;
	}
	.mar-bot-0-mob {
		margin-bottom: 0;
	}
}

/* LINK */
a {
	cursor: pointer;
	width: max-content;
}
a.no-line {
	text-decoration: none;
}

/* TYPOGRAPHY */
@font-face {
	font-family: Heading;
	src: url('fonts/Heading.woff2');
	font-display: swap;
}
@font-face {
	font-family: Body;
	src: url('fonts/Body.woff2');
	font-display: swap;
}
body * {
	font-family: Body, Arial, Sans Seriff;
}
h1, h2, h3, h4, h5, h6 {
	font-family: Heading, Arial, Sans Seriff;
	line-height: 1.5em;
}
h1, h2, h3, h4, h5, h6, p {
	margin: 0;
	text-align: inherit;
	color: inherit;
	white-space: normal;
}
p, li, a {
	font-size: var(--p-size);
	line-height: var(--p-lineheight);
	color: var(--color-p);
	letter-spacing: .25px;
}
.text-content h1,
.text-content h2,
.text-content h3,
.text-content h4,
.text-content h5,
.text-content h6,
.text-content ul,
.text-content p
{
	margin-bottom: 20px;
}
h1 {
	font-size: var(--h1-size);
	color: var(--h1-color);
}
h2 {
	font-size: var(--h2-size);
	color: var(--h2-color);
}
h3 {
	font-size: var(--h3-size);
	color: var(--h3-color);
}
h4 {
	font-size: var(--h4-size);
	color: var(--h4-color);
}
h5 {
	font-size: var(--h5-size);
	color: var(--h5-color);
}
h6 {
	font-size: var(--h6-size);
	color: var(--h6-color);
}
h3.widget-title {
	font-size: calc(var(--h3-size) - 50%);
	margin-bottom: 15px;
}
.font-size-08em {
	font-size: 0.8em;
}
.font-size-1em {
	font-size: 1em;
}
.font-size-2em {
	font-size: 2em;
}
@media screen and (max-width: 660px){
	h1, h2, h3, h4, h5, h6 {
		line-height: 1.3em;
	}
	h1 {
		font-size: 3em !important;
	}
}

/* COLORS */
.bg-color-a {
	background-color: var(--color-a);
}
.bg-color-b {
	background-color: var(--color-b);
}
.bg-color-c {
	background-color: var(--color-c);
}
.bg-color-d {
	background-color: var(--color-d);
}
.bg-color-g {
	background-color: var(--color-g);
}
.bg-color-f {
	background-color: #fff;
}
.text-light {
	color: var(--color-f);
}
.svg-light {
	filter: var(--color-f-filter) !important;
}

/* BOX SHADOW */
.bshadow-1 {
	box-shadow: 0px 0px 32px 2px rgba(0,0,0,0.1);
	-webkit-box-shadow: 0px 0px 32px 2px rgba(0,0,0,0.1);
	-moz-box-shadow: 0px 0px 32px 2px rgba(0,0,0,0.1);
}

/* IMAGES */
picture, img {
	max-height: 100%;
	max-width: 100%;
	height: auto;
	width: auto;
	display: block;
}
.text-content img:has(+ p),
.text-content img:has(+ h1),
.text-content img:has(+ h2),
.text-content img:has(+ h3),
.text-content img:has(+ h4),
.text-content img:has(+ h5),
.text-content img:has(+ h6),
.text-content picture:has(+ p),
.text-content picture:has(+ h1),
.text-content picture:has(+ h2),
.text-content picture:has(+ h3),
.text-content picture:has(+ h4),
.text-content picture:has(+ h5),
.text-content picture:has(+ h6)
{
	margin-bottom: 30px;
}
.img-fit-cover, 
.img-fit-cover img 
{
	object-fit: cover;
	height: 100%;
	width: 100%;
}

/* BUTTONS */
button, .button {
	font-family: Heading, Arial, Sans Seriff;
	line-height: 1em;
	font-size: var(--btn-size);
	font-weight: var(--btn-weight);
	padding: var(--btn-padding);
	box-shadow: none;
	text-decoration: none;
	display: block;
	width: max-content;
	border-radius: 3px;
	letter-spacing: 1px;
	border: none;
	cursor: pointer;
	background-color: var(--btn-a-background);
	color: var(--btn-a-foreground);
	transition: background-color .1s ease-in-out;
}
button:hover, .button:hover {
	background-color: var(--btn-b-background);
	color: var(--btn-b-foreground);
}
.button-b {
	background-color: var(--btn-b-background);
	color: var(--btn-b-foreground);
}
.button-b:hover {
	background-color: var(--btn-a-background);
	color: var(--btn-a-foreground);
}
.button-c {
	background-color: var(--btn-c-background);
	color: var(--btn-c-foreground);
}
.button-b:hover {
	background-color: var(--btn-a-background);
	color: var(--btn-a-foreground);
}
/* BUTTON MARGIN */
p + button {
	margin-top: 30px;
}

/* UNSORTED LIST */
p + ul {
	margin: 0 0 30px 35px;
	list-style-position: outside;
}
p + ul > li {
	margin-bottom: 15px;
}
.ul-hori-border-1 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	list-style-type: none;
}
.ul-hori-border-1 li {
	border-right: 1px solid #eee;
	padding-right: 15px;
	margin-right: 15px;
	font-size: .75em;
}
.ul-hori-border-1 li:last-child {
	border: none;
	margin-right: 0;
}
.check-1 {
	list-style-type: none;
	margin-left: 0;
}
.check-1 li {
	background-image: url('img-assets/check-1.svg');
	background-repeat: no-repeat;
	background-position: 0 4px;
	background-size: 1rem 1rem;
	padding-left: 20px;
	margin-bottom: 15px;
}
ul.font-size-08em li {
	background-size: .8em .8em;
}
.columns-2 {
	columns: 2;
}
.columns-3 {
	columns: 3;
}
.columns-4 {
	columns: 4;
}
@media screen and (max-width: 1080px){
	.columns-tablet-2 {
		columns: 2;
	}
}
@media screen and (max-width: 660px){
	.columns-mobile-1 {
		columns: 1;
	}
}

/* HR */
hr {
	width: var(--hr-width);
	height: var(--hr-height);
	background-color: var(--hr-bgcolor);
	border: none;
	margin: var(--hr-margin);
}
h1:has(+ hr) {
	margin-bottom: 0 !important;
}
hr.align-center {
	margin-left: auto;
	margin-right: auto;
}

/* BLOCKQUOTE */
blockquote {
	margin: 30px auto;
	max-width: 660px;
	position: relative;
	line-height: 1.5em;
	padding: 0 40px;
}
blockquote:before {
	background-image: url('img-assets/quote-left.svg');
	background-size: 100%;
	content:'';
	position: absolute;
	width: 32px;
	height: 32px;
	top: -0;
	left: 0;
	display:block;
	filter: var(--blockquote-color);
}
blockquote:after {
	background-image: url('img-assets/quote-right.svg');
	background-size: 100%;
	content:'';
	position: absolute;
	width: 32px;
	height: 32px;
	bottom: 10px;
	right: 0;
	display:block;
	filter: var(--blockquote-color);
}
blockquote p {
	font-size: var(--blockquote-size);
	font-style: italic;
	padding: 30px;
	background-color: var(--blockquote-bg);
	margin-bottom: 10px;
}
@media screen and (max-width: 660px){
	blockquote:before {
		width: 32px;
		height: 32px;
		top: 0;
		left: 0;
		z-index: 9;
	}
	blockquote:after {
		width: 32px;
		height: 32px;
		bottom: 25px;
		right: 0;
	}
}

/* OVERLAY */
.overlay:before {
	content:'';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}
.overlay > div,
.overlay > h1, 
.overlay > h2,
.overlay > h3,
.overlay > h4,
.overlay > h5,
.overlay > h6,
.overlay > p
{
	z-index: 2;
}
.overlay-dark-1:before {
	background-color: rgb(0,0,0,.2);
}
.overlay-dark-2:before {
	background-color: rgb(0,0,0,.35);
}
.overlay-dark-3:before {
	background-color: rgb(0,0,0,.7);
}
.overlay-light-1:before {
	background-color: rgb(255,255,255,.2);
}
.overlay-light-2:before {
	background-color: rgb(255,255,255,.35);
}
.overlay-light-3:before {
	background-color: rgb(255,255,255,.7);
}

/* HEADER */
#header {
	top: 0;
	z-index: 98;
	position: sticky;
	background-color: var(--header-bg);
	height: var(--header-height);
	padding-top: var(--header-vertical-padding);
	padding-bottom: var(--header-vertical-padding);
	padding-left: var(--section-horizontal-padding);
	padding-right: var(--section-horizontal-padding);
}
.sticky-header {
	filter: drop-shadow(0px 2px 8px rgba(0,0,0,.05));
}
/* LOGO */
.logo {
	width: var(--logo-width);
}
/* MENU */
.menu-li {
	list-style-type: none;
	margin: var(--menu-item-spacing);
}
.menu-li a {
	text-decoration: none;
	margin: 0;
	display: block;
	color: var(--menu-color);
}
.menu-li .active-link {
	color: var(--active-link-color);
}
.active-link a,
.menu-li:hover a {
	border-bottom: 2px solid var(--active-link-color);
}
.menu-social-media a {
	height: var(--menu-social-media-icons-size);
}
.menu-li.menu-social-media:hover a,
.menu-li.menu-phone:hover a {
	border: none;
}
.menu-social-media img {
	height: var(--menu-social-media-icons-size);
	margin: 0 10px 0 0;
	filter: var(--menu-social-media-icons-color);
	transition: filter .5s ease-in-out;
}
.menu-social-media a:hover img {
	filter: var(--menu-social-media-icons-color-hover);
}
.menu-social-media a:last-child img {
	margin-right: 0;
}
.menu-phone {
	background-color: var(--menu-phone-bg);
	padding: 10px 15px;
	border-radius: 3px;
}
.menu-phone a,
.menu-mail a {
	color: var(--color-f);
	letter-spacing: 1px;
}
.menu-phone img,
.menu-mail img {
	height: 20px;
	filter: var(--color-f-filter);
	margin-right: 10px;
}
.mobile-menu-toggle {
	display: none;
	cursor: pointer;
	width: 30px;
	height: 30px;
	margin-left: 10px;
	background-size: 100%;
}
.mobile-menu-toggle-open {
	background-image: var(--svg-img-open);
}
.mobile-menu-toggle-close {
	background-image: var(--svg-img-close);
}
@media screen and (min-width: 1081px){
	#main-menu {
		display: flex !important;
		align-items: center;
		flex-direction: row;
	}
}
@media screen and (max-width: 1080px){
	#header {
		height: var(--header-height-mobile);
	}
	.mobile-menu-toggle {
		display: block;
	}
	#main-menu {
		position: absolute;
		z-index: 99;
		top: calc(var(--header-height-mobile) - 20px) !important;
		left: var(--section-mobile-horizontal-padding-left-position);
		height: calc(100vh - var(--header-height-mobile)) !important;
		width: calc(100% + var(--section-mobile-horizontal-padding) + var(--section-mobile-horizontal-padding) + 4px);
		background: var(--mobile-menu-bg);
		padding-top: 30px;
		padding-bottom: 30px;
		padding-left: var(--section-mobile-horizontal-padding);
		padding-right: var(--section-mobile-horizontal-padding);
	}
	.menu-li {
		margin: 0;
	}
	.menu-li a {
		margin: var(--mobile-menu-item-spacing);
		font-size: var(--mobile-menu-item-size);
		color: var(--mobile-menu-item-color);
	}
	.active-link a,
	.menu-li:hover a {
		border: none;
	}
	.menu-social-media {
		justify-content: flex-start;
	}
	.menu-phone {
		width: max-content;
	}
	.menu-phone a {
		margin: 0;
		color: var(--color-f);
		font-size: 20px;
	}
}

/* IMAGE EFFECTS */
.img-saturate-1 img {
	-webkit-filter: grayscale(100%); 
	filter: grayscale(100%);
	transition: all .5s ease-in-out;
}
.img-saturate-1 img:hover {
	-webkit-filter: grayscale(0); 
	filter: grayscale(0);
}
.img-zoom-1 > div {
	overflow: hidden;
	display: block;
}
.img-zoom-1 img {
	transition: all .5s ease-in-out;
}
.img-zoom-1 img:hover {
	transform: scale(1.03);
}

/* SOCIAL MEDIA ROW */
.social-media-row-32 img {
	width: 32px;
	margin-right: 15px;
}

/* FOOTER */
footer {
	padding-bottom: 0;
}
footer a {
	text-decoration: none;
}
footer img.logo {
	filter: brightness(0) invert(1);
	width: 120px;
}
.footer-content {
	padding-bottom: 30px;
}
.footer-contact {
	margin-bottom: 30px;
}
.footer-connect li, 
.footer-contact li {
	margin-bottom: 20px;
}
.footer-connect li:last-child, 
.footer-contact li:last-child {
	margin-bottom: 0;
}
.footer-contact li.menu-phone {
	background-color: rgb(0,0,0,0);
	padding: 0;
}
.footer-copyright {
	padding: 30px;
}
.footer-copyright p {
	font-size: calc(1em - 30%);
	letter-spacing: 1px;
	text-transform: uppercase;
	font-weight: 700;
}
@media screen and (max-width: 660px){
	footer {
		padding-top: 50px;
	}
}