@import url("https://use.typekit.net/sne4ubt.css");

:root {
	--heading-font: "century-gothic", sans-serif;
	--primary-font: "adobe-garamond-pro", serif;
	--layout-padding: 1.5rem;
	--wp--preset--font-size--x-large: 3em;
	--wp--preset--font-size--large: 2em;
	--wp--preset--font-size--medium: 1.5rem;
	--wp--preset--font-size--small: .875rem;
	--max-content-width: 1120px;
	--max-text-width: 800px;
}


/* 
 * 
 * Plain HTML 
 *
 */

html {
	font-size: 18px;
	scroll-behavior: smooth;
}

html body, body button, body input, body select, body textarea {
	font-family: var(--primary-font);
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.333;
}

body h1, body h2, body h3, body h4, body h5, body h6 {
	font-family: var(--heading-font);
	font-size: 1rem;
	margin: 1em 0 .5em 0;
	text-wrap: balance;
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: -.5px;
}
body h1 {
	font-family: var(--primary-font);
	font-weight: 400;
	font-size: 3rem;
}
body h2 {
	font-size: 2.25rem;
}
body h3 {
	font-size: 1.5rem;
}
body h4 {
	font-size: 1.25rem;
}
body h5 {
	font-size: 1rem;
}
body h6 {
	font-size: 1rem;
}
a {
	cursor: pointer;
	transition: all 300ms;
}

p.is-style-inline-icons > .wp-font-awesome-icon {
	display: inline-block;
	padding-left: 1.25em;
}



/* 
 * 
 * Show / Hide on Mobile
 *
 */
 
@media(min-width:768px) {
	#page #main .mobile-only {
		display: none !important;
	}
}
@media(max-width:767px) {
	#page #main .desktop-only {
		display: none !important;
	}
}

.wp-block .desktop-only,
.wp-block .mobile-only {
	border: 1px solid red;
	&:before {
		content: 'Desktop Only';
		display: block;
		text-align: center;
		position: absolute;
		left: 0;
		top: 0;
		font-size: 12px;
		line-height: 15px;
		text-transform: uppercase;
		font-family: sans-serif;
		z-index: 999999;
		background: red;
		color: white;
	}
}
.wp-block .mobile-only:before {
	content: 'Mobile Only' !important;
}







/* 
 * 
 * Navigation 
 *
 */
.main-navigation .inside-navigation {
	padding-right: 1em;
}
.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
	font-family: var(--heading-font);
	font-size: .8em;
	font-weight: 600;
	text-transform: uppercase;
	@media(max-width:768px){
		line-height: 40px !important;
	}
}
.main-navigation .main-nav ul li > a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
	font-weight: 800;
}
.main-navigation .main-nav > ul > li:first-child a {
}

@media(min-width:768px) {
	#masthead {
		position: fixed;
		z-index: 9999;
		width: 100vw;
		border-bottom: 2px solid var(--gold);
	}
}

.site-logo {
	padding: 1em;
}

.main-navigation .gp-icon svg {
	height: 1.5em;
	width: 1.5em;
	top: .5em;
}

@media(min-width:768px){
	body #masthead .main-navigation #primary-menu .nav-button a {
		background-color: #002B4F !important;
		background-image: linear-gradient(to bottom, #002B4F, #002B4F);
		color: #D4AF37;
		border-radius: 7px !important;
		line-height: 45px !important;	
		margin-left: 20px;
	}	
}




/* 
 * 
 * Theme Layout Styles 
 *
 */

body > .top-bar > .inside-top-bar {
	padding: var(--layout-padding);
}
body > .site-header > .inside-header {
	padding: var(--layout-padding);
}

body > #page #main {
	margin: 0;
	padding: var(--layout-padding);
	padding-bottom: 0;
	.inside-article {
		padding: 100px 0 0 0;
	}
	@media (max-width:768px) {
		padding-top: 0;
		margin-top: -80px;
	}
}	

body > .site-footer .footer-widgets-container {
	padding: var(--layout-padding);
}

body > .site-footer .site-info .inside-site-info {
	padding: var(--layout-padding);
}

body #main .entry-content > .wp-block-cover.alignfull:first-child,
body #main .entry-content > .wp-block-group.alignfull:first-child {
	margin-top: -30px;
	/* Because the menu is fixed... 
	margin-top: 30px;*/
}

#masthead > .inside-header {
	padding: 0;
}

html body.single-post #page ,
html body.blog #page {
	padding-top: 0px;
	padding-bottom: 80px;
}

#footer-widgets {
	.inside-footer-widgets {
		@media(max-width:768px){
			.footer-widget-1 {
				order: 3;
				padding-top: 40px;
			}
			.footer-widget-2 {
				order: 4;
				text-align: center;
			}
			.footer-widget-3 {
				order: 1;
				text-align: center;
			}
			.footer-widget-4 {
				order: 2;
				text-align: center;
			}
		}	
	}
}







/* 
 * 
 * Theme Alignment Styles 
 *
 */
#page .alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: auto;
	padding-top: .1px;
	padding-bottom: .1px;
	.wp-block-group__inner-container ,
	.wp-block-cover__inner-container {
		max-width: var(--max-content-width);
		/* padding: 0; */
	}
	&.is-style-contained-content {
		.wp-block-group__inner-container ,
		.wp-block-cover__inner-container {
			max-width: var(--max-text-width);
			padding: 0;
		}		
	}
}
#page .alignwide {
	margin-left: calc(25% - 25vw);
	margin-right: calc(25% - 25vw);
	max-width: 100vw;
	width: auto;
	.wp-block-group__inner-container ,
	.wp-block-cover__inner-container {
		max-width: 100%;
		padding: 0;
	}
}

/* MOBILE STYLES */
@media(max-width:782px) {
	#page .entry-content > .wp-block-group,
	#page .entry-content > .wp-block-cover {
	/*	padding-left: 2rem;
		padding-right: 2rem; */
	}
	#page .entry-content .wp-block-media-text {
		& > .wp-block-media-text__content {
			padding: 2rem;
		}
	}
}











/* 
 * 
 * Basic Content 
 *
 */










/* 
  * 
  * WP Block Image 
  *
  */
.wp-block-spacer {
	&.wp-block {
		background: rgba(0,0,0,.25);
		&:before {
			content: 'This spacer will be invisible on the front end';
			display: block;
			text-align: center;
			position: absolute;
			left: 0;
			top: calc( 50% - 7.5px );
			font-size: 12px;
			line-height: 15px;
			text-transform: uppercase;
			font-family: sans-serif;
		}
	}
}









/* 
 * 
 * WP Block Image 
 *
 */
figure.wp-block-image,
figure.wp-block-media-text__media {
	& > img {
		border-radius: 10px;	
	}
}










/* 
 * 
 * WP Block Buttons 
 *
 */
#page .wp-block-buttons {
	margin: 0 0 1em 0;
}

#page .wp-block-button__link {
	border-radius: 5px;
	transition: all 300ms;
	font-family: var(--heading-font);
	font-weight: 800;
	&:hover {
		transform: scale(1.1);
	}
}











/* 
 * 
 * WP Block Columns - CARDS 
 *
 */
.wp-block-columns.is-style-column-cards {
	gap: 1rem;
	& .wp-block-column { 
		border: none; 
		border-radius: 10px;
		box-shadow: 2px 2px 2px rgba(0,0,0,.25); 
		padding: 1.5em;
	}
}















/* 
 * 
 * WP Block Group - TEXT WIDTH 
 *
 */
#page .wp-block-group.is-style-text-width { 
	max-width: var(--max-text-width);
	margin-left:auto;
	margin-right:auto;
	&.has-background {
		& > .wp-block-group__inner-container {
			padding: 0 3em;
		}
	}
}










/* 
 * 
 * WP Block Details - FAQs 
 *
 */
details.wp-block-details {
	margin: 0 0 .5em 0;
	&[open] {
		& > * {
			padding: 0 0 0 1.75em;
		}
		& > summary {
			padding: 0 0 .5em 0;
			color: var(--accent);
		}
	}
	summary {
		font-size: 1.5em;
	}
}






/* 
 * 
 * Icon List 
 *
 */
ul.icon-list {
	list-style: none;
	margin: 0;
	padding: 0;
	& > li {
		position: relative;
		padding-left: 60px;
		padding-bottom: 20px;
		font-family: var(--heading-font);
		&::before {
			font-family: 'Font Awesome 6 Pro';
			font-weight: 900;
			font-size: 30px;
			-webkit-font-smoothing: antialiased;
			content: '\f192';
			display: flex;
			color: var(--gold);
			position: absolute;
			top: 0;
			left: 0;
			width: 50px;
			height: 50px;
			border-radius: 10px;
			justify-content: center;
			align-items: center;
		}
		&.phone-link::before {
			content: '\f095';
		}
		&.email-link::before {
			content: '\f0e0';
		}
		&.visit-link::before {
			content: '\f3c5';
		}
	}
}







/* 
 * 
 * Animation Styles 
 *
 */
.slide-in-top {
	animation-name: slide-in-top;
	animation-duration: 750ms;
	animation-timing-function: linear;
	animation-delay: 0s;
	animation-iteration-count: 1;
	animation-direction: normal;
	animation-fill-mode: none;
}
@keyframes slide-in-top {
		
	0% {
		transform: translateY(-1000px);
		opacity: 0;
	}
	100% {
		transform:translateY(0);
		opacity: 1;
	}
}






/* 
 * 
 * WP Forms 
 *
 */
#page {
	.wpforms-container .wpforms-form {
		.wpforms-field-label,
		.wpforms-submit {
			font-family: var(--heading-font);
			font-weight: 800;
			transition: all 300ms;
		}
	}
	
}



/* 
 * 
 * Footer
 *
 */
.inside-footer-widgets {
	.footer-widget-1 {
		flex-basis: 25%;
	}
	.footer-widget-2 {
		padding-top: 1em;
		flex-basis: 38%;
		.widget {
			margin: 0;
			p {
				margin-bottom: 1em;
			}
		}
	}	
	.footer-widget-3 {
		padding-top: 1em;
		flex-basis: 16%;
	}
	.footer-widget-4 {
		padding-top: 1em;
		flex-basis: 20%;
	}
}
#footer-widgets {
	padding: 2em 0 1em 0;
	font-size: .875rem;
	.widget-title {
		font-family: var(--heading-font);
		font-weight: 800;
		font-size: 15px;
		letter-spacing: .5px;
		margin: 0 0 1.25em 0;
		line-height: 1;
		color: var(--gold);
		text-transform: uppercase;
	}
	p {
		text-wrap: balance;
		line-height: 1.5;
		strong {
			font-family: var(--heading-font);
		}
	}
}
	




/* 
 * 
 * Timeline
 *
 */
:root {
	--timeline-line-color: var(--gold);
	--timeline-background: var(--cream);	
}
@media (max-width: 767px) {
	.wp-block-group.is-style-timeline:not(.wp-block) > .wp-block-group__inner-container {
		& .wp-block-group {
			& .wp-block-group__inner-container {
				margin: 0 0 40px 0;
				background: var(--timeline-background);
				position: relative;
				&::before {
					content: '';
					height: 0;
					position: absolute;
					bottom: -39px;
					left: 20px;
					width: 0;
					z-index: 1;
					border: medium solid var(--timeline-background);
					border-width: 20px;
					border-width-right: 0;
					border-color: transparent transparent transparent var(--timeline-background);
					transform: rotate(90deg);
				}
			}
		}
	}
}
@media (min-width: 768px) {

	.wp-block-group.is-style-timeline:not(.wp-block) > .wp-block-group__inner-container {
		
		position: relative;
		max-width: 1200px;
		margin: 0 auto;
		padding: 4rem 0;
		&::after {
			content: '';
			position: absolute;
			width: 6px;
			background-color: var(--timeline-line-color);
			top: 0;
			bottom: 0;
			left: 50%;
			margin-left: -3px;
		}
		& .wp-block-group {
			padding: 10px 40px;
			position: relative;
			background-color: inherit;
			width: 50%;
			&::after {
				content: '';
				position: absolute;
				width: 30px;
				height: 30px;
				right: -15px;
				background-color: var(--timeline-background);
				border: 4px solid var(--timeline-line-color);
				top: 27.5px;
				border-radius: 50%;
				z-index: 1;
			}
			&:nth-child(odd){
				left: 0;
				&::before {
					content: " ";
					height: 0;
					position: absolute;
					top: 20px;
					width: 0;
					z-index: 1;
					right: 20px;
					border: medium solid var(--timeline-background);
					border-width: 20px;
					border-right-width: 0;
					border-color: transparent transparent transparent var(--timeline-background);
				}
			}
			&:nth-child(even){
				left: 50%;
				&::before {
					content: " ";
					height: 0;
					position: absolute;
					top: 20px;
					width: 0;
					z-index: 1;
					left: 20px;
					border: medium solid var(--timeline-background);
					border-width: 20px;
					border-left-width: 0;
					border-color: transparent var(--timeline-background) transparent transparent;
				}
				&::after {
					left: -15px;
				}
			}
			& .wp-block-group__inner-container {
				padding: 1rem 1.5rem;
				background-color: var(--timeline-background);
				position: relative;
				border-radius: 5px;
			}
		}
	}
}
/* WP BLOCK EDITOR STYLES & MOBILE */
.wp-block-group.is-style-timeline.wp-block {
	border: 1px solid var(--gold);
	&::before {
		content: "This is a timeline block";
		color: var(--gold);
		display: block;
		text-align: center;
	}
	.wp-block-group {
		background: var(--timeline-background);
		position: relative;
		&::before {
			content: '';
			height: 0;
			position: absolute;
			bottom: -39px;
			left: 50%;
			width: 0;
			z-index: 1;
			border: medium solid var(--timeline-background);
			border-width: 20px;
			border-width-right: 0;
			border-color: transparent transparent transparent var(--timeline-background);
			transform: rotate(90deg);
		}
	}
}



