/*
Theme Name: Modular-BS5
Theme URI: IrvineCompany.com
Author: IrvineCompany.com
Author URI: https://irvinecompany.com
Description:  Custom BootStrap 5 WordPress Theme -- WordPress v6.2
Mobile First, Adaptive theme
Version: 15.1.0
Tags: responsive-layout, editor-style, custom-menu, custom-header
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/*
Last Updated: 01.27.26 | Added Gutenberg block editor support, theme.json, and block-friendly page template
*/

/* Gravity Forms - Custom Styles */
.gform_wrapper.gravity-theme .multiple-shopping-centers label { margin-bottom: 0; }
.gform_wrapper.gravity-theme .multiple-shopping-centers .gfield_description { padding-top: 0; }

#gform_confirmation_message_1 { padding: 16px; border: 2px solid #066273; }
#gform_confirmation_message_1 br { display: none; }
#gform_confirmation_message_1 p { color: #066273; }
#gform_confirmation_message_1 p:last-of-type { margin-bottom: 0; }

/* Accessibility: visually hidden but still available to screen readers */
.visuallyhidden:not(:focus):not(:active) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Optional: reveal when focused (keyboard users) */
.visuallyhidden:focus,
.visuallyhidden:active,
.visuallyhidden:focus-within {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal !important;
}

/*
 * Local hosted @font-face 
 * https://fonts.google.com/knowledge/using_type/using_web_fonts
*/

@font-face {
	font-family: 'Montserrat';
	src:url('fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
	font-weight: 300 400 500 700 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat';
	src:url('fonts/Montserrat-Italic-VariableFont_wght.ttf') format('truetype');
	font-weight: 300 400 500 700;
	font-style: italic;
	font-display: swap;
}

:root {
	--font-body: 'Montserrat', sans-serif;
	--font-headlines: 'Bodoni TIC', serif;
	--content-width: 750px;
	--wide-width: 1440px;
}

/* ========================================================================
   Gutenberg Block Support - alignwide and alignfull
   ======================================================================== */

/* Gutenberg template wrapper */
.gutenberg-template {
	width: 100%;
	overflow-x: hidden;
}

/* Entry header - centered, constrained width */
.gutenberg-template__header {
	max-width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
	padding: 2rem 1.5rem;
	text-align: center;
}

.gutenberg-template__header .entry-title {
	font-family: var(--font-headlines), serif;
	font-size: 2.5rem;
	margin-bottom: 0;
}

/* Entry content - WordPress block container */
.gutenberg-template__content {
	padding: 0 1.5rem;
}

/* Default block width */
.gutenberg-template__content > * {
	max-width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
}

/* Wide alignment */
.gutenberg-template__content > .alignwide {
	max-width: var(--wide-width);
}

/* Full alignment */
.gutenberg-template__content > .alignfull {
	max-width: none;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Ensure full-width blocks have proper padding */
.gutenberg-template__content > .alignfull > * {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

/* Left and right alignments */
.gutenberg-template__content .alignleft {
	float: left;
	margin-right: 1.5rem;
	margin-bottom: 1rem;
}

.gutenberg-template__content .alignright {
	float: right;
	margin-left: 1.5rem;
	margin-bottom: 1rem;
}

.gutenberg-template__content .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Ensure images are responsive */
.gutenberg-template__content img {
	max-width: 100%;
	height: auto;
}

/* Block spacing */
.gutenberg-template__content > * + * {
	margin-top: 1.5rem;
}

@media screen {
html {
	overflow-x: hidden;
	font-size: 16px !important;
	background-color: #f9f9f9;
}
body {
	font-family: var(--font-body), sans-serif;
	font-size: 16px !important;
	font-weight: 400;
	line-height: 1.5 !important;
	overflow-x: hidden;
	background-color: #f9f9f9;
}
h1, h2, h3  {
	font-family: var(--font-headlines), sans-serif;
	font-weight: 300;
}
h1, .h1 {font-size: 1.75rem;}
h2, .h2 {font-size: 1.5rem;}
h3, .h3 {font-size: 1.325rem;}
h4, .h4 {font-size: 1.25rem;}
h5, .h5 {font-size: 1.125rem;}
h6, .h6 {font-size: 1rem;}
p { }
img {border:none; outline:none;}
a {text-decoration:none; color:#000;}
a:hover,
a:active {
	transition: all .1s ease-in;
	outline: none;
}
a.focus {outline:none;}
b, strong { font-weight:700;}
em { font-style:italic; }
ul {
	list-style:disc;
	margin-left: 30px;
	padding-left:15px;
	padding-bottom: 15px;
	}
ol {
	margin-left: 30px;
	padding-left:15px;
	padding-bottom: 15px;
}
ul.no-bullets {	list-style:none;}
nav ul {
	list-style: none;
	margin:0;
	}
.post { }
button:focus {outline:none;}
.gallery img {border:none !important;}
/* generic CSS available for theme */
.meta {
	margin-bottom:15px;
	font-size:.75rem;
}
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #C5C5C5;
	opacity: 1; /* Firefox */
	font-size:.75rem;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color:#C5C5C5;
	font-size:.75rem;
}
::-ms-input-placeholder { /* Microsoft Edge */
	color:#C5C5C5;
	font-size:.75rem;
}
/* Overrides */
/* comments CSS */	
ol.commentlist { list-style: none; }
ol.commentlist li.comment { border-bottom: 1px dotted #666; padding: 10px; }
ol.commentlist li.comment div.vcard cite.fn { font-style: normal; }
ol.commentlist li.comment div.vcard img.avatar { float:right; margin: 0 0 10px 10px; }
ol.commentlist li.comment div.comment-meta { font-size: 10px; }
ol.commentlist li.comment div.comment-meta a { color: #ccc; }
ol.commentlist li.comment div.reply { font-size: 11px; }
ol.commentlist li.comment div.reply a { font-weight: bold; }
ol.commentlist li.comment ul.children { list-style: none; margin: 10px 0 0; }
ol.commentlist li.comment ul.children li { }
ol.commentlist li.comment ul.children li.alt { }
ol.commentlist li.comment ul.children li.bypostauthor { }
ol.commentlist li.comment ul.children li.byuser { }
ol.commentlist li.comment ul.children li.comment { }
ol.commentlist li.comment ul.children li.comment-author-admin { }
ol.commentlist li.comment ul.children li.depth-2 { border-left: 5px solid #555; margin: 0 0 10px 10px; }
ol.commentlist li.comment ul.children li.depth-3 { border-left: 5px solid #999; margin: 0 0 10px 10px; }
ol.commentlist li.comment ul.children li.depth-4 { border-left: 5px solid #bbb; margin: 0 0 10px 10px; }
ol.commentlist li.comment ul.children li.depth-5 { }
ol.commentlist li.comment ul.children li.odd { }
ol.commentlist li.even { background: #fff; }
ol.commentlist li.odd { background: #f6f6f6; }
ol.commentlist li.parent { border-left: 5px solid #111; }
/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
	margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}
.alignright {
	float:right;
	margin: 5px 0 20px 20px;
}
.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}
.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}
a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}
a img.alignnone {
	margin: 5px 20px 20px 0;
}
a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}
a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption {
	background: #fff;
	border: 1px solid #f0f0f0;
	max-width: 96%; /* Image does not overflow the content area */
	padding: 5px 3px 10px;
	text-align: center;
}
.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}
.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
	}
.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
	}
.gallery img {
	max-width:100%;
	height: auto;
}
/*  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx CSS re-usable classes */
.sticky {}
.gallery-caption {}
.pointer {cursor:pointer;}
.capitalize {text-transform: capitalize;}
.disabled-button {opacity: .3; cursor: default;}
.box-shadow {box-shadow: 5px 5px 7px 3px #ccc; }
.overflow-hidden {overflow: hidden;}
.me-30 {margin-right: 30px;}
.mt-15 {margin-top: 15px;}
.mt-30 {margin-top: 30px;}
.mt-60 {margin-top: 60px;}
.mt-75 {margin-top: 75px;}
.mt-90 {margin-top: 90px;}
.mt-105 {margin-top: 105px;}
.mb-15 {margin-bottom: 15px;}
.mb-30 {margin-bottom: 30px;}
.mb-60 {margin-bottom: 60px;}
.mb-75 {margin-bottom: 75px;}
.mb-90 {margin-bottom: 90px;}
.mb-105 {margin-bottom: 105px;}
.my-30 {margin-top: 30px;margin-bottom: 30px; }
.my-60 {margin-top: 60px;margin-bottom: 60px; }
.p-5 {padding: 5px;}
.p-10 {padding: 10px;}
.p-15 {padding: 15px;}
.p-30 {padding: 30px;}
.p-45 {padding: 45px;}
.p-60 {padding: 60px;}
.py-05 {padding-top:5px;padding-bottom:5px;}
.py-10 {padding-top:10px;padding-bottom:10px;}
.py-15 {padding-top:15px;padding-bottom:15px;}
.py-30 {padding-top:30px;padding-bottom:30px;}
.py-60 {padding-top:60px;padding-bottom:60px;}
.py-60 {padding-top:75px;padding-bottom:75px;}
.py-90 {padding-top:90px;padding-bottom:90px;}
.py-105 {padding-top:105px;padding-bottom:105px;}
.pt-15 {padding-top:15px;}
.pt-30 {padding-top:30px;}
.pt-60 {padding-top:60px;}
.pt-75 {padding-top:75px;}
.pt-90 {padding-top:90px;}
.pt-105 {padding-top:105px;}
.pt-120 {padding-top:120px;}
.pb-15 {padding-bottom: 15px;}
.pb-30 {padding-bottom:30px;}
.pb-60 {padding-bottom: 60px;}
.pb-75 {padding-bottom: 75px;}
.pb-90 {padding-bottom: 90px;}
.pb-105 {padding-bottom: 105px;}
.pl-15 {padding-left: 15px;}
.px-15 {padding-left: 15px; padding-right: 15px;}
.px-30 {padding-left: 30px; padding-right: 30px;}
.px-60 {padding-left: 60px; padding-right: 60px;}

.bg-black {background-color:#000;}
.bg-white {background-color:#fff;}
.bg-grey {background-color:#eeeeee;}
.btn-outline {
	display: inline-block;
	padding: 5px 15px;
	text-align: center;
	text-transform: uppercase;
	line-height: 30px;
	font-size: 24px;
	border: solid 1px #666;
	border-radius: 5px !important;
}
.btn-outline-white {
	display: inline-block;
	padding: 5px 15px;
	text-align: center;
	text-transform: uppercase;
	line-height: 30px;
	font-size: 24px;
	border: solid 1px #fff;
	border-radius: 5px !important;
}
.text-btn,
.text-btn:focus{
	border:none;
	outline: none;
	background-color: transparent;
	color:#4583e5;
}
.text-btn:hover {color:#1a409e;}
.btn-white-pill {
	display: block;
	padding:15px 30px;
	background:#f7f7f7;
	color:#333;
	border-radius: 25px;
}
a.read-more {
	display: inline-block;
	color:#fff !important;
	background-color:#00CBFF;
	text-transform: uppercase;
	padding: 5px 15px;
	border-radius: 2px;
	margin-top: 15px;
}
/* View Heights */
.vh-20 {height: 20vh;}
.vh-25 {height: 25vh;}
.vh-30 {height: 30vh;}
.vh-40 {height: 40vh;}
.vh-50 {height: 50vh;}
.vh-60 {height: 60vh;}
.vh-70 {height: 70vh;}
.vh-80 {height: 80vh;}
.vh-90 {height: 90vh;}
.vh-100 {height: 100vh;}
.vh-110 {height: 110vh;}
.vh-120 {height: 120vh;}
.vh-130 {height: 130vh;}
.vh-140 {height: 140vh;}
.vh-150 {height: 150vh;}

/*  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Layout CSS */
.relative {position: relative;}
.carousel {padding-bottom: 60px;}
.carousel-indicators {z-index: 12;}
/* ================================================== font colors */
.white-font {color:#fff !important;}
.black-font {color:#000;}
.grey-font {color:#666;}
.light-grey-font {color:#e4e4e5;}
.color-accent-blush {color:#ed6058;}
.font-12 {font-size:.75rem;}
.font-13 {font-size:.8125rem;}
.font-14 {font-size:.875rem;}
.font-18 {font-size:1.125rem;}
.font-20 {font-size:1.25rem;}
.font-22 {font-size:1.375rem;}
.font-24 {font-size:1.5rem !important;}
.font-28 {font-size:1.75rem !important;}
.font-30 {font-size:1.875rem !important;}
.font-32 {font-size:2rem !important;}
.font-36 {font-size:2.25rem !important;}
.font-48 {font-size:3rem !important;}
.font-64 {font-size:4rem !important;}
.font-76 {font-size:4.5rem !important;}
.light-weight {font-weight: 300;}
.normal-weight {font-weight: 400;}
.semi-bold {font-weight: 600 !important;}
.italic {font-style: italic;}
.uppercase {text-transform:uppercase;}
.title-case {text-transform: capitalize;}
.underline {border-bottom:solid 1px #000;}
.line-height-1 {line-height: 1;}
.line-height-1-25 {line-height: 1.25;}
.line-height-1-75 {line-height: 1.75;}
.bg-img-cover {
	background-size: cover;
	background-repeat: no-repeat;
}
.bg-img-contain {
	background-size: contain;
	background-repeat: no-repeat;
} 
.left-top {background-position: left top;}
.center-top {background-position: center top;}
.right-top {background-position: right top;}
.left-center {background-position: left center;}
.center-center {background-position: center center;}
.right-center {background-position: right center;}
.left-bottom {background-position: left bottom;}
.center-bottom {background-position:center bottom;}
.right-bottom {background-position: right bottom;}
/*  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx header area CSS */
header {}
/*  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx navbar CSS */
.navbar-toggler {
	position: absolute;
	top:15px;
	right: 15px;
	z-index: 1021;
	width:auto;
	height: auto;
	font-size: 20px
	}
.navbar-toggler .bars {
	display: block;
	width: 30px;
	height: 5px;
	margin-bottom: 5px;
}
#main-nav ul {
	display:inline;
	padding:0;
	width:100%;
}
#main-nav li {
	display:block;
	position: relative;
	border-bottom: solid 1px #e4e4e5;
}
#main-nav li a {
	display: block;
	width: 100%;
	padding:5px 15px;
	color: #fff;
}
#main-nav li a:hover {text-decoration: none;}
	
#main-nav ul ul { /* dropdown */
	display:none;
	position: absolute;
	top:98%;
	left:0;
	z-index: 1021;
	padding: 15px 0;
	text-align: left;
}
#main-nav ul li:hover a > ul {
	display: block;
}
#main-nav ul ul li {
	display: block;
	width: 100%;
	height: unset;
	line-height:30px;
	padding:0px;
}
#main-nav ul ul li a {
	color:#fff;
	padding:5px 15px;
	font-weight: 400;
}
#main-nav ul ul li:hover {
	background-color:rgba(0,0,0,0.15);
}
/*  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx content CSS */
.headline-underline:after { 
	content: "";
	display: block;
	position: absolute;
	width: 50px;
	height: 5px;
	left: 0;
	top: 100%;
	margin-top: 0.5em;
}
.hover-box-shadow:hover {
	box-shadow: 0 19px 38px 0 rgba(0, 0, 0, 0.24), 0 15px 12px 0 rgba(0, 0, 0, 0.12);
}
/*  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Single CSS */
/*  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx sidebar CSS */
/*  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx footer CSS */

} /* END screen media - Start Adaptive CSS */
@media (min-width : 568px) { /* smart phones portrait xs */
	
} /* end 576px -xs- */
@media (max-width: 768px) {
} /* end -sm- */
@media (min-width: 768px) { /* ===================== 768 md ipad portrait */
/* View Heights */
.vh-md-20 {height: 20vh;}
.vh-md-30 {height: 30vh;}
.vh-md-40 {height: 40vh;}
.vh-md-50 {height: 50vh;}
.vh-md-60 {height: 60vh;}
.vh-md-70 {height: 70vh;}
.vh-md-80 {height: 80vh;}
.vh-md-90 {height: 90vh;}
.vh-md-100 {height: 100vh;}
.vh-md-110 {height: 110vh;}
.vh-md-120 {height: 120vh;}
.vh-md-130 {height: 130vh;}
.vh-md-140 {height: 140vh;}
.vh-md-150 {height: 150vh;}
.font-md-12 {font-size:.75rem;}
.font-md-14 {font-size:.875rem;}
.font-md-18 {font-size:1.125rem;}
.font-md-20 {font-size:1.25rem;}
.font-md-22 {font-size:1.375rem;}
.font-md-24 {font-size:1.5rem !important;}
.font-md-30 {font-size:1.875rem !important;}
.font-md-48 {font-size:3rem !important;}
.font-md-72 {font-size:4.5rem !important;}
.p-md-30 {padding: 30px;}
.me-md-30 {margin-right:30px;}
}/* end 768px -md- */
@media (min-width: 992px) { /* LG ========================= ipad landscape */
/* View Heights */
.vh-lg-20 {height: 20vh;}
.vh-lg-30 {height: 30vh;}
.vh-lg-40 {height: 40vh;}
.vh-lg-50 {height: 50vh;}
.vh-lg-60 {height: 60vh;}
.vh-lg-70 {height: 70vh;}
.vh-lg-80 {height: 80vh;}
.vh-lg-90 {height: 90vh;}
.vh-lg-100 {height: 100vh;}
.vh-lg-110 {height: 110vh;}
.vh-lg-120 {height: 120vh;}
.vh-lg-130 {height: 130vh;}
.vh-lg-140 {height: 140vh;}
.vh-lg-150 {height: 150vh;}
h1, .h1 {font-size: 2.5rem;}
h2, .h2 {font-size: 2rem;}
h3, .h3 {font-size: 1.75rem;}
h4, .h4 {font-size: 1.5rem;}
h5, .h5 {font-size: 1.25rem;}
h6, .h6 {font-size: 1rem;}
.font-lg-12 {font-size:.75rem;}
.font-lg-14 {font-size:.875rem;}
.font-lg-18 {font-size:1.125rem;}
.font-lg-20 {font-size:1.25rem;}
.font-lg-22 {font-size:1.375rem;}
.font-lg-24 {font-size:1.5rem !important;}
.font-lg-30 {font-size:1.875rem !important;}
.font-lg-36 {font-size:1.875rem !important;}
.font-lg-48 {font-size:3rem !important;}
.font-lg-72 {font-size:4.5rem !important;}
header {padding:0;}
#main-nav {
	display: block;
	position:relative;
	top:unset;
	left:unset;
	right:unset;
	width: auto;
	padding:0;
	background-color:transparent;
}
#main-nav li {
	display:inline-block;
	border: none;
	float: none;
	transition: all .1s ease-in;
}
#main-nav li:hover {background-color:rgba(0,0,0,0.15);}
#main-nav li a + .fa {display: none;}
#main-nav ul ul {width:300px;}
#main-nav li.current-menu-item > a {background-color:rgba(0,0,0,0.15);}
#main-nav li a {padding:7.5px 15px; font-size: 18px;}
#main-nav li a.clicked + .sub-menu{
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	right:0;
	z-index: 1011;
	text-align:left;
}
#main-nav li:hover ul {	display: block;}
.pb-lg-0 {padding-bottom: 0;}
.px-lg-15 {padding-left: 15px; padding-right: 15px;}
.px-lg-30 {padding-left: 30px; padding-right: 30px;}
.px-lg-60 {padding-left: 60px; padding-right: 60px;}
.pb-lg-30 {padding-bottom: 30px;}
.pb-lg-60 {padding-bottom: 60px;}
.pb-lg-75 {padding-bottom: 75px;}
.pb-lg-105 {padding-bottom: 105px;}
.maxh-lg-100 img {max-height: 100px; width:auto;}
}/* end 992px -lg- */
@media (min-width: 1200px) { /* XL =================== computer monitors */
} /* end 1200px -xl- */
@media (min-width: 1400px) { /* XL =================== computer monitors */
} /* end 1200px -xXl- */
@media print {
.do-not-print { display: none; }
#comments { page-break-before: always; }
body { width: 100% !important; margin: 0 !important; padding: 0 !important; line-height: 1.4; word-spacing: 1.1pt; letter-spacing: 0.2pt; font-family: Garamond,"Times New Roman", serif; color: #000; background: none; font-size: 12pt; }
h1,h2,h3,h4,h5,h6 { font-family: Helvetica, Arial, sans-serif; }
h1 { font-size: 19pt; }
h2 { font-size:17pt; }
h3 { font-size:15pt; }
h4,h5,h6 { font-size:12pt; }
code { font: 10pt Courier, monospace; } 
blockquote { margin: 1.3em; padding: 1em; }
img { display: block; margin: 1em 0; }
a img { border: none; }
table { margin: 1px; text-align:left; }
th { border-bottom: 1px solid #333;  font-weight: bold; }
td { border-bottom: 1px solid #333; }
th, td { padding: 4px 10px 4px 0; }
caption { background: #fff; margin-bottom: 2em; text-align: left; }
thead { display: table-header-group; }
tr { page-break-inside: avoid; } 
a { text-decoration: none; color: black; }
} /* END print media */