/**
 * Color classes and default styling are in /assets/main.css, focus your efforts there
 * @import external fonts at top of this page before default.css
 * remove comment for dark-mode.css if you want to enable that -- will not be 100%, you will need to fix minor things
 */
@import url("./assets/default-settings.css");
/** @import url("assets/dark-mode.css"); */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap')

html, body { overflow-x: hidden; }
body { font-family: Montserrat, sans-serif; }

a, a:hover { color: #ea0000; text-decoration: none; }
h1, .h1 { text-transform: uppercase; }
.btn { border-radius: 0; }
.font-weight-400 { font-weight: 400; } /* regular */
.font-weight-500 { font-weight: 500; } /* medium */
.font-weight-700 { font-weight: 700; } /* bold */
.font-weight-900 { font-weight: 900; } /* black */
.fa-hang span { display: inline-block; margin: 0 -1rem 0 0.625rem; vertical-align: top; }
.jwbs-callout.all-cap-titles .callout-title { text-transform: uppercase; }

/* colors */
.text-red, .text-primary, h1, .h1 { color: #ea0000 !important; } .bg-red { color: #fff !important; background: #ea0000 !important; } .border-red { border-color: #ea0000 !important; }
.text-ltblue { color: #d2e8f4 !important; } .bg-ltblue { background: #d2e8f4 !important; } .border-ltblue { border-color: #d2e8f4 !important; }
.text-ltgray { color: #f2f2f2 !important; } .bg-ltgray { background: #f2f2f2 !important; } .border-ltgray { border-color: #f2f2f2 !important; }
.text-gray { color: #656565 !important; } .bg-gray { color: #fff !important; background: #656565 !important; } .border-gray { border-color: #656565 !important; }
.bg-gray-grad-vert {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#b2b2b2+1,b2b2b2+100&1+0,0+50 */
	background: linear-gradient(to bottom,  rgba(178,178,178,1) 0%,rgba(178,178,178,0.98) 1%,rgba(178,178,178,0) 50%,rgba(178,178,178,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.bg-gray-grad-horz {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#b2b2b2+1,b2b2b2+100&1+0,0+33 */
	background: linear-gradient(to right,  rgba(178,178,178,1) 0%,rgba(178,178,178,0.97) 1%,rgba(178,178,178,0) 33%,rgba(178,178,178,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.btn-red { color: #fff; background: #ea0000; border-color: #ea0000; }
.btn-red:hover { color: #ea0000; background: transparent; border-color: #ea0000; }

#block-9 .breakout.bg-gray { margin-bottom: 1rem; }
#block-10:where(.wp-block-columns.is-layout-flex) { gap: 1em; }
#block-10 .navbar { display: inline-block; }
#block-10 a { text-decoration: none; }

body > header .navbar { background-color: #ea0000 !important; }
.navbar-nav .nav-link, .navbar-nav .nav-link.active, .navbar-nav .nav-link.show { color: #fff; text-transform: uppercase; }
.dropdown-item.active, .dropdown-item:active { color: var(--bs-dropdown-link-hover-color); background-color: var(--bs-dropdown-link-hover-bg); }
.navbar-collapse form .input-group { margin: 0.5rem 0 !important; }
.navbar-collapse form .btn-primary { color: #ea0000; background-color: #fff; border-color: #fff; border-radius: 0.375rem !important; }
.navbar-toggler { border: 1px solid #ea0000; border-radius: 0.375rem; }

/* home */
.home .carousel-caption { right: 50%; bottom: 18%; left: 5%; }
.home .carousel-caption { text-align: left !important; }
.home .carousel-caption h1 { font-size: calc(1.375rem + 1.5vw); line-height:1; color: #fff !important; text-transform: uppercase; text-shadow: 0 0 1rem #212529; }
.home #metaslider-id-266 .flex-viewport { margin: 0 3rem; }
.home #metaslider-id-266.metaslider .flexslider .flex-direction-nav li a { opacity: 1 !important; }

#service-links .wp-block-column { display: flex; flex-wrap: wrap !important; gap: 2em; }
#service-links .service { width: 100%; }
#service-links .service .wp-block-group__inner-container { position: relative; cursor: pointer; }
#service-links .overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: none; width: 100%; height: 100%; align-items: center; justify-content: center; text-transform: uppercase; color: #fff; background-color: rgba(0, 0, 0, 0.6); }
#service-links .overlay a { font-size: 1.75rem; font-weight: 500; color: #fff; text-decoration: none; }
#service-links .overlay span { position: absolute; right: 0; bottom: 0rem; left: 0; text-align: center; font-size: 1.5rem; font-weight: 500; line-height: 2; background-color: #ea0000; }
#service-links figure { margin: 0; }
#service-links figure img { width: 100%; }
#service-links figure figcaption { margin: 0; padding: 0.5rem 0; font-size: 1.25rem; font-weight: 500; color: #ea0000; text-transform: uppercase; }
#service-links figure figcaption .svg-inline--fa { color: var(--bs-body-color); }
#service-links .btn-red { padding-right: 2rem; padding-left: 2rem; font-size: 1.5rem; text-transform: uppercase; border-width: 2px; }
#service-links .btn-red { padding-right: 2rem; padding-left: 2rem; font-size: 1.5rem; text-transform: uppercase; border-width: 2px; }

#promise { font-size: 1.25rem; background: #d2e8f4; }
#promise .h2 { font-weight: 900; }
#promise .card-body { width: 100%; }

/* blog */
.blog .btn-link, .blog .btn:first-child:active { padding: 0.25rem 0.5rem; color: #fff; background-color: #ea0000; text-decoration: none; }
.wp-block-latest-posts li { margin-bottom: 1rem;}

/* search */
form.search-form .input-group { position: relative; border-radius: 0.375rem; overflow: hidden; transition: 400ms ease-in-out; }
form.search-form input.search-field { position: absolute; margin-left: 1.25rem; top: 0; left: 0; width: 100%; height: 100%; }
form.search-form button.btn { margin-left: auto !important; border-radius: 0.375rem; z-index: 5; }
form.search-form.active { width: 12.5rem; }
.search-results .card { border-color: #ea0000 !important; }
.search-results .meta { display: none !important; }
.search-results .card-footer .btn-primary { background-color: #ea0000 !important; border-color: #ea0000 !important; }

/* forms */
.wpcf7-checkbox .wpcf7-list-item { margin: 0; }
#wpcf7-f292-p11-o1 .wpcf7-checkbox .wpcf7-list-item:nth-child(odd) { width: 52%; }
#wpcf7-f292-p11-o1 .wpcf7-checkbox .wpcf7-list-item:nth-child(even) { width: 45%; }

.wp-block-media-text .wp-block-separator { width: 10%; opacity: .85; }

body main footer .breakout.bg-ltblue { background-color: #d2e8f5; }
body main footer .breakout.bg-ltblue .lead { font-weight: 400; }
body main footer .breakout.bg-gray { color: #212529 !important; background-color: #d5d5d5 !important; }
body main footer a { color: #212529; text-decoration: none; }
body main footer a:hover { text-decoration: underline; }
body main footer .breakout.bg-gray #menu-footer-nav { margin: 0; padding: 0; list-style: none; }
body main footer .breakout.bg-gray #menu-footer-nav a { font-size: 1.25rem; font-weight: 700; text-transform: uppercase; }
body main footer .breakout.bg-gray .wp-image-860 { max-width: 100%; }
body main footer .breakout.bg-gray .wp-image-40 { max-width: 11.625rem; }

/** media queries */
/** Small devices (landscape phones, 576px and up) [-sm] */
@media only screen and (min-width : 576px) {
}

/** Medium devices (tablets, 768px and up) [-md] */
@media only screen and (min-width : 768px) {
	#service-links .service { width: calc(50% - 2em); }
}

/** Medium devices (tablets, 768px and up) [-md] */
@media only screen and (min-width : 769px) and (max-width : 1199px) {
	.text-md-left { text-align: left !important; }
	.home .carousel-caption { text-align: center !important; }
	.home .carousel-caption h1 { font-size: 4rem; }
	#home-services .overlay a { font-size: 1.25rem; }
	#home-services figure figcaption { font-size: 1.125rem; }
	body main footer .breakout.bg-gray .wp-image-860 { max-width: 19.125rem; }
}

/** Large devices (desktops, 992px and up) [-lg] */
@media only screen and (min-width : 992px) {
	.h4-lg { font-size: 1.5rem; }
	.w-lg-66 { width: 66.67% !important; }
	.w-lg-75 { width: 75% !important; }
	.lead-lg { font-size: 1.25rem; }
	#block-10 img { max-width: 23.125rem; }
	.home .carousel-caption { left: 15%; }
	.home #service-links .service { width: calc(34.15% - 2em); }
	#service-links .service { width: calc(51.125% - 2em); }
	#promise .card-body { padding: 0; }
}

/** X-Large devices (large desktops, 1200px and up) [-xl] */
@media only screen and (min-width : 1200px) {
	.navbar-expand-lg .navbar-nav .nav-link { margin-right: 3.125rem; }
}

/** larger desktops, 1400px and up [-xxl] */
@media only screen and (min-width : 1400px) {
}