/*
Theme Name: Acuity
Theme URI: http://example.com/acuity/
Description: Child Theme of WP Bootstrap Starter
Author: Ginkgo Leaf Web Solutions LLC
Author URI: https://ginkgoleafweb.com
Template: wp-bootstrap-starter
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: child theme
Text Domain: wp-bootstrap-starter-child
*/

:root {
	--main-black: #000;
	--main-black-hlt: #666;
	--main-white: #fff;
	--brand-primary: #3ab6fc;
	--brand-primary-hlt: #53befc;
	--brand-primary-light: #86d1fc;
	--brand-secondary: #513e89;
	--brand-secondary-hlt: #674fb0; 
	--brand-secondary-light: #8272b0;
}

body, p, li { font-family: "Lato", sans-serif; font-size:1.2rem; font-weight:300; }
h1, h2, h3, h4, h5 { font-family: "Noto Serif", serif; font-weight:500; }
h3.widget-title { font-size:3.25rem; padding:20px 0 10px 0; }
.small-title h3.widget-title { font-size:2.25rem; }
.small-title h3.widget-title { font-size:1.75rem; }
p.lead { font-family: "Noto Serif", serif; font-size:1.4rem; font-weight:500; }
textarea.form-control { height:160px; }
textarea.form-control.small-field { height:80px; }
.ul-styled ul { list-style:none; }
.ul-styled ul li { margin-bottom:15px; background-image:url(https://acuity.dev.jetdm.com/wp-content/uploads/2025/02/bullet.png); background-position:left top; background-repeat:no-repeat; padding:0 0 0 50px; min-height:30px; }
.btn-primary { background-color:var(--brand-secondary); padding:12px; border-radius:0px; height:auto; }
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:hover, .btn-primary:focus { background-color:var(--brand-secondary-hlt); }
.wpcf7 form.invalid .wpcf7-response-output { background-color:var(--main-white); color:var(--main-black); font-weight:bold; }
a { color:var(--brand-primary); }
a:hover { color:var(--brand-primary-hlt); }

header.entry-header, 
footer.entry-footer { display:none; }
.search-results .entry-header { display:block; }
.search-results .page { padding-bottom:45px; }
.search-submit { background-color:var(--brand-primary); color:var(--main-white); }
.search-submit:hover { background-color:var(--brand-primary-hlt); color:var(--main-white); }
.entry-content { margin:0px; }
.bg-light { background:none !important; }
#content.site-content { padding:0; }

header#masthead { background-color:#fff; padding:0px; box-shadow:none; }
header#masthead .container { max-width:92%; }
header#masthead #main-nav { margin-top:71px; }
header#masthead .navbar-brand { padding:0px; padding-top:6px; padding-bottom:18px; }
header#masthead .navbar-brand img { width:150px; height:auto; }

/* -- menu items -- */
body:not(.theme-preset-active) #masthead .navbar-nav > li > a,
body:not(.theme-preset-active) #masthead .navbar-nav > li.current_page_item > a { color:var(--main-black); font-size:16px; font-weight:300; text-transform:uppercase; transition:all 0.4s ease; padding:0 30px; }
body:not(.theme-preset-active) #masthead .navbar-nav > li:last-child > a { padding-right:0px; }
body:not(.theme-preset-active) #masthead .navbar-nav > li > a:hover { color:var(--main-black-hlt); font-weight:300; }

.hero { min-height:700px; }
.hero.autosize { min-height:20px; }
.hero h2 { font-size:3.3rem; line-height:140%; padding:100px 20%; text-shadow:1px 2px 3px rgba(0,0,0,0.3); }

footer#colophon { background:none !important; padding:10px 0; }
footer#colophon p { color:var(--main-black)!important; }
footer#colophon .site-info p { font-size:11px; font-weight:300; text-align:center; }
#footer-widget { padding:.74rem 1rem; }
#footer-widget .container { max-width:92%; }
#footer-widget .row { align-items:center; }
#footer-widget .widget_media_image { text-align:center; }
#footer-widget #block-9.widget_block { display:flex; justify-content:center; }
#footer-widget h3 { text-align:center; }
#footer-widget .widget_nav_menu li a,
#footer-widget .widget_nav_menu li.current_page_item > a { font-size:15px; font-weight:300; text-align:center; color:var(--main-black); padding:2px 0; transition:all 0.4s ease; }
#footer-widget .widget_nav_menu li a:hover { color:var(--main-black-hlt); }

/* -- reusable elements --*/
.padded { padding:25px; }
.padded-top { padding-top:25px; }
.padded-bottom { padding-bottom:25px; }
.padded-extra { padding-top:75px; padding-bottom:75px; }
.padded-extra-top { padding-top:75px; }
.padded-extra-bottom { padding-bottom:75px; }
.overlay-blue { position:relative; }
.overlay-blue::before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background-color:rgba(88,112,128,0.4); z-index:1; }
.overlay-blue .widget { position:relative; z-index:2; }
.overlay-blue h1, .overlay-blue h2, .overlay-blue h3, .overlay-blue h4, .overlay-blue h5, .overlay-blue p, .overlay-blue a { color:var(--main-white); }
.overlay-blue a:hover { color:var(--main-white); text-decoration:underline; }
.overlay-blue.darker::before { background-color:rgba(53, 67, 77, 0.6); }

.feature-boxes { text-align:center; }
.feature-boxes h3.widget-title { font-size:16px; font-weight:300; text-transform:uppercase; text-align:center; background-color:var(--main-white); position:relative; margin:-80px 10% 0px 10%; padding:20px 5px 42px 5px; }

.learn-more { font-family: "Noto Serif", serif; background-color:var(--brand-secondary); color:var(--main-white); text-transform:uppercase; font-weight:300; font-size:14px; padding:16px 30px;  display:inline-block; transition:all 0.4s ease; }
.learn-more:hover { color:var(--main-white); text-decoration:none; background-color:var(--brand-secondary-hlt); }

.block-purple { background-color:var(--brand-secondary); }
.block-purple-light { background-color:var(--brand-secondary-light); }
.block-blue { background-color:var(--brand-primary); }
.block-blue-light { background-color:var(--brand-primary-light); }
.block-white-blue { background-image:linear-gradient(90deg, #fff 50%, var(--brand-primary) 50%); }

.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white p { color:var(--main-white); }
.text-white .learn-more { background-color:var(--main-white); color:var(--main-black); }
.text-white .learn-more:hover { background-color:rgba(255,255,255,.8); text-decoration:none; color:var(--main-black); }

.block-purple .learn-more { background-color:var(--main-white); color:var(--brand-secondary); }
.block-purple .learn-more:hover { background-color:rgba(255,255,255,.8); color:var(--brand-secondary); }
.block-blue .learn-more { background-color:var(--main-white); color:var(--brand-primary); }
.block-blue .learn-more:hover { background-color:rgba(255,255,255,.8); color:var(--brand-primary); }

.full-size-pic-left { position:relative; }
.full-size-pic-left .panel-first-child { position:static; }
.full-size-pic-left .panel-first-child .left-pic-outer { position:absolute; width:50% !important; height:100%; top:0; left:0; overflow:hidden; display:flex; justify-content:center; align-items:center; }
.full-size-pic-left .panel-first-child .left-pic-outer.anchor-top { align-items:flex-start; }
.full-size-pic-left .panel-first-child .left-pic-outer .widget_media_image { position:relative; aspect-ratio : 1 / 1; width:100% !important; display:flex; justify-content:center; }
.full-size-pic-left .widget_media_image img { height:100% !important; width:auto !important; max-width:500% !important; }
.full-size-pic-left .widget_text { margin-left:50%;  }

.full-size-pic-right { position:relative; }
.full-size-pic-right > div:last-child { position:absolute; width:50% !important; height:100% !important; top:0; left:50%; overflow:hidden; display:flex; align-items:center; }
.full-size-pic-right > div:last-child > div { position:relative; aspect-ratio : 1 / 1; width:100% !important; display:flex; justify-content:center; }
.full-size-pic-right img { height:100% !important; width:auto !important; max-width:500% !important; }

.background-right { background-position:right top !important; }
.background-left { background-position:left top !important; }

.pullup { position:relative; z-index:25; margin-top:-140px; }

.faq h4 { position:relative; background-color:var(--brand-secondary); padding:15px 25px; color:var(--main-white); font-size:1.5rem; margin:15px 0; cursor:pointer; }
.faq h4::after { content:'+'; color:var(--main-white); font-size:3rem; position:absolute; top:0; right:0; margin:0 15px; }
.faq h4.box-open::after { content:'\2013'; margin:-4px 17px 0 17px; }
.faq div.faq-answer { background-color:var(--brand-secondary); padding:25px 25px 15px 25px; color:var(--main-white); margin-bottom:45px; display:none; }

.form-control.wpcf7-captchac, .form-control.wpcf7-captchar { width:auto !important; }





@media(min-width:1200px) {
	.container { width:1300px; max-width:100%; }
}

/* -- MOBILE LAYOUT -- */

@media(max-width:1450px) {
	body:not(.theme-preset-active) #masthead .navbar-nav > li > a,
	body:not(.theme-preset-active) #masthead .navbar-nav > li.current_page_item > a { padding:0 12px; font-size:15px; }
} 

@media(max-width:1199px) { 
	header#masthead { padding-left:0px; padding-right:0px; }
	header#masthead .container { max-width:100%; padding-left:0px; padding-right:0px; }
	header#masthead .navbar-brand { margin-left:4%; }
	header#masthead .navbar-brand img { width:120px; height:auto; }
	header#masthead .navbar-toggler { margin-right:4%; }
	header#masthead #main-nav { margin-top:0px; padding:25px 0; background-color:var(--brand-primary); }
	header#masthead.navbar-light .navbar-toggler { border:none; outline:none; }
	header#masthead.navbar-light .navbar-toggler .navbar-toggler-icon { width:40px; height:40px; }
	header#masthead.navbar-light .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon { background-image:url("/wp-content/uploads/2025/02/toggler-open.png"); }
	header#masthead.navbar-light .navbar-toggler[aria-expanded="false"] .navbar-toggler-icon { background-image:url("/wp-content/uploads/2025/02/toggler-closed.png"); }
	
	body:not(.theme-preset-active) #masthead .navbar-nav > li > a,
	body:not(.theme-preset-active) #masthead .navbar-nav > li.current_page_item > a { padding:10px calc(4% + 6px); font-size:20px; color:var(--main-white); }
	body:not(.theme-preset-active) #masthead .navbar-nav > li > a:hover { color:var(--main-white); background-color:var(--brand-primary-hlt); }
	body:not(.theme-preset-active) #masthead .navbar-nav > li:last-child > a { padding-right:4%; }
	.full-size-pic-left .widget_media_image img,
	.full-size-pic-right .widget_media_image img { height:125% !important; }
}

@media(max-width:1024px) {
	.desktop-only { display:none; }
	.mobile-center { text-align:center; }
	
	.hero { min-height:25px; padding-top:85px; padding-bottom:85px; }
	.block-white-blue { background:none; background-color:var(--brand-primary); padding:0px !important; }
	.mobile-blue { background-color:var(--brand-primary); }
	
	.full-size-pic-left { padding:0px !important; }
	.full-size-pic-left .panel-first-child .left-pic-outer { position:relative; width:100% !important; height:auto; top:auto; left:auto; overflow:auto; display:flex; justify-content:center; align-items:center; }
	.full-size-pic-left .panel-first-child .left-pic-outer div { width:100%; }
	.full-size-pic-left .panel-first-child .left-pic-outer .widget_media_image { position:relative; aspect-ratio :auto; width:100% !important; display:flex; justify-content:center; }
.full-size-pic-left .widget_media_image img { width:100% !important; height:auto !important; max-width:500% !important; }
.full-size-pic-left .widget_text { margin-left:0px;  }
	
	.full-size-pic-right { position:relative; padding:0px !important; }
.full-size-pic-right > div:last-child { position:relative; width:100% !important; height:auto !important; top:auto; left:auto; overflow:hidden; }
.full-size-pic-right > div:last-child > div { position:relative; aspect-ratio:auto; width:100% !important; height:auto !important; display:flex; justify-content:center; }
	.full-size-pic-right img { position:relative; top:auto; bottom: auto; left:auto; right:auto; height:auto !important; width:100% !important; max-width:100% !important; }
}

@media(max-width:780px) {
	.hero { min-height:auto; }	
	.hero h2 { padding-left:5%; padding-right:5%; }
}

@media(max-width:767px) {
	.feature-boxes { flex-direction:column !important; }
	.feature-boxes > .panel-grid-cell { width:100% !important; margin-bottom:40px;  }
	.faq h4::after { content:'+'; color:var(--main-white); font-size:3rem; position:absolute; top:0; right:0; margin:3px 15px 0 15px; }
	.faq h4.box-open::after { content:'\2013'; margin:-1px 17px 0 17px; }
	#footer-widget .widget_nav_menu .flex-column { flex-direction:row!important; justify-content:center; }
	.feature-boxes h3.widget-title { margin:-80px 20% 0px 20%; }
	#footer-widget .widget_nav_menu li a,
	#footer-widget .widget_nav_menu li.current_page_item > a { padding:5px 10px; }
}