/**********************************************************
// Body
**********************************************************/
body {
	font-family: "circe", sans-serif;
	font-weight: 400;
	font-size: 20px;
	
	--Dark: #0E2F30;
	--Links: #B58F4E;
	--Alt: #10534F;
	--LightBG: #FAF7F2;

	--Dark-Green: #0E2F30;
	--Gold: #B58F4E;
	--Green: #10534F;
	--Cream: #FAF7F2;
	
	--Gradient: linear-gradient(0deg,rgba(62, 89, 89, 1) 0%, rgba(14, 47, 48, 1) 100%);
	--Gold-Gradient: linear-gradient(90deg, rgba(163, 134, 70, 0.6) 0%, rgba(250, 207, 107, 0.6) 18%, rgba(212, 173, 91, 0.6) 42%, rgba(250, 213, 152, 0.6) 69%, rgba(166, 134, 71, 0.6) 98.5%), #967040;
	
	--wp--preset--font-size--small: clamp(1rem, 1.5vw, 1.125rem) !important;  /* ~16–18px */
	--wp--preset--font-size--medium: clamp(1.5rem, 3vw, 1.875rem) !important; /* ~24–30px */
	--wp--preset--font-size--large: clamp(2rem, 5vw, 3.4375rem) !important;   /* ~32–55px */
	--wp--preset--font-size--x-large: clamp(2.5rem, 7vw, 4.375rem) !important;/* ~40–70px */

	--Title-Font: "ivypresto-display", serif;
	--Body-Font: "circe", sans-serif;
	
	color: var(--Dark);
	
	}

a { color: var(--Links); }
a:hover { color: var(--Alt); }


/**********************************************************
// Titles
**********************************************************/

h1, h2, h3, h4, h5, h6 { font-family: var(--Title-Font); font-weight: 400; }

.post h1,
.post h2,
.post h3,
.post h4,
.post h5,
.post h6 {
	padding: .5em 0;
	}

h1 {
	font-size: clamp(2.5rem, 6vw + 1rem, 4rem);
	line-height: 1.1;
}

h2 {
	font-size: clamp(2rem, 4.5vw + 0.75rem, 3rem);
	line-height: 1.2;
}

h3 {
	font-size: clamp(1.5rem, 3.5vw + 0.5rem, 2.25rem);
	line-height: 1.2;
}

h4 {
	font-size: clamp(1.25rem, 2vw + 0.5rem, 1.75rem);
	line-height: 1.4;
}

h5 {
	font-size: 1rem;
	line-height: 1.5;
}

h6 {
	font-size: 0.875rem;
	line-height: 1.5;
}


/**********************************************************
// Special
**********************************************************/

.Gradient { background: var(--Gradient); }

.Caps {
	text-transform: uppercase;
	letter-spacing: 1px;
	font-family: var(--Body-Font);
}

.has-small-font-size { line-height: 1.5em; }

.No-Gap { gap: 0!important; }

/**********************************************************
// Content
**********************************************************/
.Content { padding-top: 0; padding-bottom: 0; }
.Content-Posts {
    margin: auto;
    padding: 40px 10px;
    width: 100%;
    max-width: 1200px;
    text-align: center;
    display: flex;
	gap: 50px 2%;
	flex-wrap: wrap;
	justify-content: center;
    }

.blog .Content, .search .Content, .archive .Content {
	max-width: 1200px;
}

/**********************************************************
// Page >> Titles
**********************************************************/
.Page-Title {
	padding: 20px;
	background: var(--LightBG);
	margin-left  : calc( -100vw / 2 + 100% / 2 )!important;
	margin-right  : calc( -100vw / 2 + 100% / 2 )!important;
	line-height: 1.5em;
	letter-spacing: 1px;
	text-align: center;
	font-size: clamp(2.5rem, 6vw + 1rem, 3rem);
	}

.Page-Subtitle {
	margin: 0 auto 20px auto;
	padding: 0;
	line-height: 1.5em;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-align: center;
	font-size: 20px;
	}

/**********************************************************
// Post >> Elements
**********************************************************/
.post { margin-bottom: 40px; }
article.post:last-child { margin-bottom: 0; }
article:last-child .post { margin-bottom: 0; }

.post h1,
.post h2,
.post h3,
.post h4,
.post h5,
.post h6 {
	padding: 15px 0;
	}

.post blockquote p:first-child { padding-top: 0; }
.post blockquote p:last-child { padding-bottom: 0; }
.post blockquote {
	margin: 10px auto;
	padding: 0 20px;
	line-height: 24px;
	border-left: 3px solid #333;
	font-style: italic;
	font-size: 18px;
	display: block;
	}

.post p:empty { display: none; }
.post p {
	padding: 10px 0;
	line-height: 1.5em;
	}

.post p.has-background { padding: 1em 1.25em; }

.post ol {
	margin-left: 20px;
	padding-left: 2px;
	list-style: decimal;
	}

.post ul {
	margin-left: 20px;
	padding-left: 2px;
	list-style: disc;
	}

.post li {
	line-height: 1.5em;
	position: relative;
	}

.post .wp-block-table th {
	padding: 10px;
	background: rgba(0, 0, 0, 0.1);
	border: 1px solid #333;
	}

.post .wp-block-table td {
	padding: 10px;
	border: 1px solid #333;
	}

.post .wp-block-column.has-background { padding: clamp(1rem, 3vw + 0.5rem, 2rem); }

.post .wp-block-separator { border-top: 1px solid var(--Dark); max-width: 100%; }
.post .wp-block-separator.has-white-color { border-top: 1px solid #fff; max-width: 100%; }

.post .wp-block-button { margin: 20px 0; }
.post .wp-block-buttons .wp-block-button__link:hover {  }
.post .wp-block-buttons .wp-block-button__link {
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: calc(.667em + 7px) clamp(1rem, 3.5vw, 3.5rem);
    font-size: .925em;
	font-weight: bold;
	background: var(--Gold-Gradient);
	color: #fff;
	position: relative;
	overflow: hidden; 
	z-index: 0;
}

/* Shine effect */
.post .wp-block-buttons .wp-block-button__link::before {
	content: '';
	position: absolute;
	top: 0;
	left: -75%;
	width: 50%;
	height: 100%;
	background: linear-gradient(
		120deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.4) 50%,
		rgba(255, 255, 255, 0) 100%
	);
	transform: skewX(-25deg);
	pointer-events: none;
	z-index: 2; /* UNDER text, OVER background */
	animation: none;
}

/* Run animation only on hover */
.post .wp-block-buttons .wp-block-button__link:hover::before {
	animation: shine-sweep 2.5s linear;
}

/* Glow inset effect */
.post .wp-block-buttons .wp-block-button__link::after {
	content: '';
	position: absolute;
	inset: 2px;
	border-radius: inherit;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15) inset;
	transition: box-shadow 0.4s ease-in-out;
	pointer-events: none;
	z-index: 2;
}

.post .wp-block-buttons .wp-block-button__link:hover::after {
	box-shadow:
		0 0 6px 2px rgba(255, 255, 255, 0.6) inset,
		0 0 18px 4px rgba(255, 255, 255, 0.3) inset;
}

/* Keyframes */
@keyframes shine-sweep {
	0% {
		left: -75%;
	}
	100% {
		left: 125%;
	}
}

/**********************************************************
// Post >> Nav
**********************************************************/
.Post-Nav {
	margin-top: 30px;
	padding-bottom: 20px;
	text-align: center;
	width: 100%;
	}

.Post-Nav-Link {
	margin: 0 5%;
	display: inline-block;
	vertical-align: top;
	}

.Post-Nav a {
	height: 24px;
	line-height: 20px;
	text-transform: uppercase;
    letter-spacing: 1px;
	font-weight: 700;
	font-size: 12px;
	}

.Post-Nav span,
.Post-Nav i {
	display: inline-block;
	vertical-align: middle;
	}

.Post-Nav-Next a:hover i { right: 0; }
.Post-Nav-Next i {
	margin-right: 10px;
    -webkit-transition: right 0.2s ease-in-out;
    -moz-transition: right 0.2s ease-in-out;
    -ms-transition: right 0.2s ease-in-out;
    -o-transition: right 0.2s ease-in-out;
    transition: right 0.2s ease-in-out;
	position: relative;
    right: -5px;
	top: 0;
	}

.Post-Nav-Prev a:hover i { left: 0; }
.Post-Nav-Prev i {
	margin-left: 10px;
    -webkit-transition: left 0.2s ease-in-out;
    -moz-transition: left 0.2s ease-in-out;
    -ms-transition: left 0.2s ease-in-out;
    -o-transition: left 0.2s ease-in-out;
    transition: left 0.2s ease-in-out;
	position: relative;
    left: -5px;
	top: -1px;
	}

/**********************************************************
// Post >> Nav >> Paginated
**********************************************************/
/*.Post-Nav {
	margin-top: 30px;
	text-align: center;
	}

.Post-Nav  nav > h2 { display: none; }

.Post-Nav .page-numbers {
	margin: 5px;
	width: 32px;
	height: 32px;
	line-height: 30px;
	border-radius: 36px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 14px;
	display: inline-block;
	vertical-align: top;
	}

.Post-Nav .page-numbers {
	text-decoration: none;
	color: #333;
	}

.Post-Nav a.page-numbers:hover { color: #555; }

.Post-Nav .page-numbers.current {
	background: #555;
	color: #FFF;
	}

.Post-Nav .next {
	margin-left: 15px;
	width: auto;
	}

.Post-Nav .next span,
.Post-Nav .next i {
	display: inline-block;
	vertical-align: middle;
	}

.Post-Nav .next i,
.Post-Nav .prev i {
	font-weight: 400;
	color: #B6D19C;
	}

.Post-Nav .next i {
	margin-left: 10px;
	font-size: 20px;
	position: relative;
	top: -1px;
	}

.Post-Nav .prev {
	margin-right: 15px;
	width: auto;
	}

.Post-Nav .prev span,
.Post-Nav .prev i {
	display: inline-block;
	vertical-align: middle;
	}

.Post-Nav .prev i {
	margin-right: 10px;
	font-size: 20px;
	position: relative;
	top: -1px;
	}*/

/**********************************************************
// Social >> Links
**********************************************************/
.Social-Links {
	margin: auto;
	text-align: center;
	font-size: 0;
	display: inline-block;
	vertical-align: middle;
	}

.Social-Links ul {
	margin: auto !important;
	padding: 0 !important;
	list-style: none;
	}

.Social-Links li {
	margin: 0 10px;
	padding: 0 !important;
	display: inline-block;
	vertical-align: middle;
	}

.Social-Links li:first-child { margin-left: 0; }
.Social-Links li:last-child { margin-right: 0; }

.Social-Links li a {
	font-size: 20px;
	display: block;
	}

/**********************************************************
// Social >> Share
**********************************************************/
.Social-Share {
	text-align: center;
	font-size: 0;
	}

.Social-Share ul {
	margin: auto !important;
	padding: 0 !important;
	list-style: none;
	}

.Social-Share li {
	margin: 0 10px;
	padding: 0 !important;
	display: inline-block;
	vertical-align: middle;
	}

.Social-Share li:first-child { margin-left: 0; }
.Social-Share li:last-child { margin-right: 0; }

.Social-Share li h5 {
	padding: 0 !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 600;
	font-size: 14px;
	}

.Social-Share li a span { display: none; }
.Social-Share li a:hover { color: #555; }
.Social-Share li a {
	font-size: 20px;
	color: #333;
	}

/**********************************************************
// Gravity Forms
**********************************************************/
.gform_wrapper {
    margin: 0 auto !important;
	--form-label-size: 17px;
	--form-input-font-size: 20px;
	--form-input-color: var(--Dark);
	--form-input-bg: #fff;
	--form-input-padding: 25px clamp(1rem, 3vw + 0.5rem, 2rem) 30px!important;
	--form-border-radius: 30px; 

	--gf-form-gap-y: 15px!important; 
    }

.White-Text label { color: #fff!important; font-size: 18px!important; }

.gform_wrapper ul.gform_fields { padding-left: 0 !important; }
.gform_wrapper .gform_title { display: none; }

.gform_wrapper ul.gform_fields li.gfield {
    padding-left: 0 !important;
    padding-right: 0 !important;
    }

.gform_wrapper .top_label .gfield_label,
.gform_wrapper .gfield_date_day label,
.gform_wrapper .gfield_date_month label,
.gform_wrapper .gfield_date_year label,
.gform_wrapper .gfield_time_ampm label,
.gform_wrapper .gfield_time_hour label,
.gform_wrapper .gfield_time_minute label,
.gform_wrapper .ginput_complex label,
.gform_wrapper .instruction {
    font-size: var(--form-label-size);
    }

.gform_wrapper .top_label input.medium,
.gform_wrapper .top_label select.medium,
.gform_wrapper .top_label input.large,
.gform_wrapper .top_label select.large,
.gform_wrapper .top_label textarea.textarea {
    padding: var(--form-input-padding);
    width: 99.2% !important;
    border: 0;
    background: var(--form-input-bg);
    color: var(--form-input-color);
    font-size: var(--form-input-font-size);
	border-radius: var(--form-border-radius);
	text-align: center;
    }

.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=email],
.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=number],
.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=password],
.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=tel],
.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=text],
.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=url],
.gform_wrapper .ginput_complex input[type=email],
.gform_wrapper .ginput_complex input[type=number],
.gform_wrapper .ginput_complex input[type=password],
.gform_wrapper .ginput_complex input[type=tel],
.gform_wrapper .ginput_complex input[type=text],
.gform_wrapper .ginput_complex input[type=url] {
    padding: var(--form-input-padding);
    border: 0;
    background: var(--form-input-bg);
    color: var(--form-input-color);
    font-size: var(--form-input-font-size);
	border-radius: var(--form-border-radius);
	text-align: center;
    }

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="search"],
.gform_wrapper textarea {
    padding: var(--form-input-padding);
    border: 0;
    background: var(--form-input-bg);
    color: var(--form-input-color);
    font-size: var(--form-input-font-size);
	border-radius: var(--form-border-radius);
	text-align: center;
    }

.gform-theme--framework .gfield:where(.gfield--type-select,.gfield--input-type-select) .chosen-container-single .chosen-single {
	padding: 10px clamp(1rem, 3vw + 0.5rem, 2rem)!important;
    border: 0;
    background: var(--form-input-bg);
    color: var(--form-input-color);
    font-size: var(--form-input-font-size);
	border-radius: var(--form-border-radius);
	height: auto;
	font-weight: bold; text-transform: uppercase; letter-spacing: 1px; font-size: 16px;
}

.gform_wrapper ul.gfield_radio li input[type=radio] {
	margin-top: -3px !important;
	-webkit-appearance: radio;
    }

.gform_wrapper ul.gfield_checkbox li input[type=checkbox] {
    margin-top: -3px !important;
	-webkit-appearance: checkbox;
    }

.gform_wrapper ::-webkit-input-placeholder { color: var(--form-input-color); font-weight: bold; text-transform: uppercase; letter-spacing: 1px; font-size: 16px;}
.gform_wrapper :-moz-placeholder           { color: var(--form-input-color); font-weight: bold; text-transform: uppercase; letter-spacing: 1px; font-size: 16px;}
.gform_wrapper ::-moz-placeholder          { color: var(--form-input-color); font-weight: bold; text-transform: uppercase; letter-spacing: 1px; font-size: 16px; }
.gform_wrapper :-ms-input-placeholder      { color: var(--form-input-color); font-weight: bold; text-transform: uppercase; letter-spacing: 1px; font-size: 16px; }

.gform_wrapper .gform_footer { text-align: center; margin-top: 15px!important; }

body .gform_wrapper .gform_footer input.button,
body .gform_wrapper .gform_footer input[type=submit],
body .gform_wrapper .gform_page_footer .button.gform_button,
body .gform_wrapper .gform_page_footer .button.gform_next_button {
    border: 0;
    text-shadow: none;
    box-shadow: none;
	
	/* Typography */
	font-size: 18px!important;
	font-weight: bold!important;

	/* Colors */
	color: #fff!important;
	background: var(--Gold-Gradient)!important;

	/* Spacing & Border */
	padding: 20px 30px!important;
	border-radius: 30px!important;

	/* Text Transform */
	text-transform: uppercase!important;
    }

body .gform_wrapper .gform_footer input.button:hover,
body .gform_wrapper .gform_footer input[type=submit]:hover,
body .gform_wrapper .gform_page_footer .button.gform_button:hover,
body .gform_wrapper .gform_page_footer .button.gform_next_button:hover {
    cursor: pointer;
	color: #fff!important;
    background-color: var(--Alt)!important;
    }

.gform_wrapper .gf_progressbar_wrapper h3.gf_progressbar_title {
	line-height: 30px;
	font-weight: bold;
    font-size: 20px;
    }

/**********************************************************
// Custom Styles
**********************************************************/

.Services-Columns .wp-block-column { position: relative; }
.Services-Columns .wp-block-column:before {
  content: '';
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border: 2px solid var(--Gold);
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
}

/**********************************************************
// Arrow Link
**********************************************************/

.Arrow-Link {
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: bold;
}

.Arrow-Link a:after {
	content: "\f178";
    font-family: "Font Awesome 5 Pro";
    font-weight: 400;
    margin-left: 8px;
    vertical-align: middle;
    font-size: 16px;
	display: inline-block;
    margin-top: -4px;
}

/**********************************************************
// Media Queries
**********************************************************/
@media
all and (max-width: 64px),
all and (max-device-width: 64px)
{

}

@media
all and (max-width: 48px),
all and (max-device-width: 48px)
{
	.Content-Posts { padding: 30px 10px; }
}

@media
all and (max-width: 37.5rem),
all and (max-device-width: 37.5rem)
{
	
	.wp-block-media-text > .wp-block-media-text__content { padding: 20px 0; }
	
}

@media
all and (max-width: 32rem),
all and (max-device-width: 32rem)
{
	.post .wp-block-button { width: 100%; }	
}
