/*
Theme Name: Betheme Child
Theme URI: https://themes.muffingroup.com/betheme
Author: Muffin group
Author URI: https://muffingroup.com
Description: Child Theme for Betheme
Template: betheme
Version: 1.6.2
*/

/* =====================================================================
   Stahr Landscaping: the 2017 STRYV (YOOtheme Warp) design, ported to Betheme.
   Layout, spacing, backgrounds and card borders live in BeBuilder (section/wrap
   settings and each element's Advanced > Margin). This file holds type, colour
   and component looks only, through these classes:

   Set in a section's or wrap's "Classes" field
     stahr-hero               home banner section
     stahr-cta                navy "free estimate" strip (home, residential, commercial)
     stahr-intro              home intro section (heading, lead, two cards, photo)
     stahr-card               bordered panel wrap (home cards, service cards, contact boxes): smaller body text
     stahr-testimonials-band  about page: navy quote panel beside the truck photo
     stahr-tile               services page image tile (navy overlay lightens on hover)
     stahr-form               contact page column holding the Gravity Form
     stahr-footer             footer template: main band
     stahr-copyright-band     footer template: copyright strip

   Set in an element's "Custom CSS class" field
     stahr-hero-kicker    "Est. 2002" line           stahr-hero-title   banner title with rules
     stahr-hero-sub       "Serving Central PA"       stahr-cta-title    strip text
     stahr-btn-outline    white outline pill button  stahr-lead         red lead line
     stahr-small          14px body text in cards    stahr-signature / stahr-signoff  About sign-off
     stahr-testimonials-title / stahr-testimonials   About quotes
     stahr-tile-title     services tile title (whole tile clickable)
     stahr-card-title     contact box heading        stahr-contact-list phone/email list
     stahr-hours          opening hours box          stahr-map          grey map
     stahr-footer-title / stahr-footer-text / stahr-footer-sub / stahr-social / stahr-footer-menu / stahr-copyright
   ===================================================================== */

:root {
	--stahr-navy: #1A3356;
	--stahr-red: #D80000;
	--stahr-lead: #D10000;
	--stahr-ink: #2F2F2F;
	--stahr-dark: #1B1B1B;
	--stahr-rule: rgba(255, 255, 255, .2);
}

/* ---------- header ---------- */
#Action_bar { font-size: 12px; }
#Action_bar .contact_details li { padding-right: 0; }
#Action_bar .contact_details li + li::before { content: "|"; margin: 0 14px 0 6px; color: #fff; }
#Action_bar .contact_details i { margin-right: 6px; }
#Action_bar .social li a { font-size: 13px; }
@media (max-width: 767px) { #Action_bar .social { display: none; } }
#Top_bar .menu > li > a span:not(.description) { text-transform: uppercase; letter-spacing: 0; }
/* the old navbar highlighted the whole bar height, square */
#Top_bar .menu > li > a { margin: 0 !important; border-radius: 0 !important; }
.menu-highlight #Top_bar .menu > li > a span:not(.description) { line-height: 100px; }
#Top_bar .menu > li > a span:not(.description) { border-radius: 0; }
#Top_bar .menu > li:hover > a { background-color: #FAFAFA; }
#Top_bar .menu > li:hover > a span:not(.description) { color: var(--stahr-navy); }

/* inner page banner: page title between two soft rules */
#Subheader { background-color: transparent; }
#Subheader .column { text-align: center; }
.subheader-both-center #Subheader .title, #Subheader .title {
	display: inline-block; text-transform: uppercase; color: #fff;
	border-top: 5px solid var(--stahr-rule); border-bottom: 5px solid var(--stahr-rule);
	padding: 10px 15px; text-shadow: 0 1px 3px rgba(0, 0, 0, .35);
	float: none; width: auto; max-width: 100%;
}
@media (max-width: 767px) { #Subheader .title { font-size: 34px; line-height: 44px; letter-spacing: 1px; } }

/* ---------- buttons ---------- */
.button, a.button, input[type="submit"] { text-transform: uppercase; }
a.button.stahr-btn-outline {
	background: transparent !important; color: #fff !important;
	box-shadow: inset 0 0 0 2px #fff; padding-top: 14px; padding-bottom: 14px;
}
a.button.stahr-btn-outline:hover, a.button.stahr-btn-outline:focus-visible { background: #fff !important; color: var(--stahr-red) !important; }

/* ---------- cards: panels in a row share one height, as in the old grid ---------- */
.mcb-wrap.stahr-card { display: flex; }
.mcb-wrap.stahr-card > .mcb-wrap-inner { flex: 1 1 auto; align-content: flex-start; }

/* ---------- home ---------- */
.stahr-hero .title { color: #fff; text-shadow: 0 1px 4px rgba(0, 0, 0, .35); }
.stahr-hero-kicker .title { font-size: 18px; line-height: 40px; font-weight: 300; text-transform: uppercase; }
.stahr-hero-title { text-align: center; }
.stahr-hero-title .title {
	display: inline-block; color: #FAFAFA; text-transform: uppercase;
	border-top: 2px solid var(--stahr-rule); border-bottom: 5px solid var(--stahr-rule); padding: 8px 15px 15px;
}
.stahr-hero-sub .title { font-size: 30px; line-height: 42px; font-weight: 300; }
@media (max-width: 767px) {
	.stahr-hero-title .title { font-size: 34px; line-height: 42px; letter-spacing: 1px; }
	.stahr-hero-sub .title { font-size: 24px; line-height: 34px; }
}
.stahr-cta-title .title { color: #fff; font-weight: 300; }
@media (max-width: 767px) { .stahr-cta-title .title { text-align: center; font-size: 24px; line-height: 34px; } }
.stahr-lead .title { color: var(--stahr-lead); font-size: 18px; line-height: 30px; font-weight: 400; }
.stahr-small .column_attr, .stahr-small p, .stahr-card .column_attr p { font-size: 14px; line-height: 25px; }
.stahr-intro .column_divider hr, .stahr-intro hr { background-color: #F3F3F3; height: 2px; }

/* ---------- about ---------- */
.stahr-signature .title, .stahr-signoff .title { font-size: 16px; line-height: 26px; color: var(--stahr-ink); }
.stahr-signature .title { font-weight: 300; }
.stahr-signoff .title { font-weight: 400; color: #1B1B1B; }
.stahr-testimonials-title .title { color: #fff; font-size: 24px; line-height: 34px; font-weight: 400; }
.stahr-testimonials .testimonials_slider { text-align: left; }
.stahr-testimonials .testimonials_slider .single-photo-img,
.stahr-testimonials .testimonials_slider .hr_dots,
.stahr-testimonials .mfn-blockquote-icon { display: none; }
.stahr-testimonials .testimonials_slider .testimonials_slider_ul li .bq_wrapper { position: relative; padding: 0 0 0 20px; margin: 0; max-width: none; text-align: left; }
.stahr-testimonials .bq_wrapper::before {
	content: "\201C"; position: absolute; left: -6px; top: -30px; font: 700 110px/1 Georgia, serif; color: rgba(255, 255, 255, .06);
}
.stahr-testimonials .testimonials_slider .testimonials_slider_ul li blockquote { color: #fff; font-style: normal; font-size: 16px; line-height: 29px; font-weight: 300; margin: 0; padding: 0; text-align: left; }
.stahr-testimonials blockquote::before, .stahr-testimonials blockquote::after { display: none; }
.stahr-testimonials .testimonials_slider .testimonials_slider_ul li .author { text-align: left; padding: 24px 0 0 20px; margin: 0; }
.stahr-testimonials .testimonials_slider .testimonials_slider_ul li .author .title { color: #fff; font-size: 16px; font-weight: 700; margin: 0; }
.stahr-testimonials .testimonials_slider_ul { padding: 0 0 56px; }
.stahr-testimonials .slick-dots { text-align: left; bottom: 0; left: 20px; width: auto; margin: 0; }
.stahr-testimonials .slick-dots li button, .stahr-testimonials .slick-dots li button::before { background: rgba(255, 255, 255, .45); }
.stahr-testimonials .slick-dots li.slick-active button { background: #fff; }
.stahr-testimonials .slider_prev, .stahr-testimonials .slider_next {
	top: auto !important; bottom: 0; transform: none; margin: 0 !important; width: 46px; height: 46px; line-height: 46px; padding: 0;
	background: rgba(255, 255, 255, .1) !important; color: #fff !important; border-radius: 0; box-shadow: none;
}
.stahr-testimonials .slider_prev { left: auto !important; right: 47px !important; }
.stahr-testimonials .slider_next { right: 0 !important; }
.stahr-testimonials .slider_prev i, .stahr-testimonials .slider_next i { color: #fff; }

/* ---------- services ---------- */
.stahr-tile > .mcb-wrap-inner { position: relative; }
.stahr-tile .mcb-column.stahr-tile-title { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; }
.stahr-tile .stahr-tile-title .mcb-column-inner { position: static; margin: 0; }
.stahr-tile .mcb-wrap-background-overlay { transition: opacity .3s ease; }
.stahr-tile:hover .mcb-wrap-background-overlay { opacity: .25 !important; }
.stahr-tile-title .title { color: #fff; text-transform: uppercase; font-size: 40px; line-height: 1.2; font-weight: 400; }
.stahr-tile-title .title a { color: #fff; display: inline-block; border: 5px solid var(--stahr-rule); border-width: 5px 0; padding: 10px 15px; }
.stahr-tile-title .title a::after { content: ""; position: absolute; inset: 0; }
.stahr-tile-title .title a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 767px) { .stahr-tile-title .title { font-size: 30px; } }

/* ---------- contact ---------- */
.stahr-card-title .title, .stahr-hours .opening_hours .title { font-size: 24px; line-height: 34px; font-weight: 400; color: var(--stahr-navy); }
.stahr-contact-list .mfn-list-item { padding: 2px 0; }
.stahr-contact-list .mfn-list-icon i { color: #1B1B1B; }
.stahr-contact-list a { color: var(--stahr-navy); }
.stahr-contact-list a:hover { color: var(--stahr-red); }
.stahr-hours .opening_hours { background: none; padding: 0; border: 0; text-align: left; }
.stahr-hours .opening_hours .title { margin-bottom: 16px; }
.stahr-hours .opening_hours_wrapper { display: flex; flex-direction: column; background: none; padding: 0; border: 0; }
.column.stahr-hours .opening_hours .opening_hours_wrapper ul { order: 1; margin: 0; padding: 0; list-style: none; }
.column.stahr-hours .opening_hours .opening_hours_wrapper li { display: flex; padding: 4px 0; margin: 0; border: 0; background: none; text-align: left; }
.column.stahr-hours .opening_hours .opening_hours_wrapper li label { flex: 0 0 45%; margin: 0; padding: 0; border: 0; line-height: 25px; font-weight: 300; font-size: 15px; color: var(--stahr-ink); }
.column.stahr-hours .opening_hours .opening_hours_wrapper li span { padding: 0; margin: 0; border: 0; line-height: 25px; font-size: 15px; font-weight: 300; color: var(--stahr-ink); }
.column.stahr-hours .opening_hours .ohw-desc { order: 2; display: block; margin-top: 24px; font-style: italic; color: var(--stahr-ink); }
.stahr-map iframe { display: block; width: 100%; filter: grayscale(1) contrast(.9) brightness(1.08); }
.stahr-form .gform_wrapper .gform_button, .stahr-form .gform_wrapper input[type="submit"] {
	background: var(--stahr-navy); color: #fff; border: 0; border-radius: 50px; padding: 14px 24px; font: 400 14px/1 Montserrat, sans-serif;
	letter-spacing: .5px; text-transform: uppercase; cursor: pointer; transition: background-color .2s ease;
}
.stahr-form .gform_wrapper .gform_button:hover, .stahr-form .gform_wrapper input[type="submit"]:hover { background: var(--stahr-red); }
.stahr-form .gform_wrapper .gfield_label { font-weight: 400; color: #1B1B1B; }
.stahr-form .gform_wrapper .gfield_required { color: var(--stahr-lead); }

/* ---------- footer template ---------- */
.stahr-footer .stahr-footer-title .title { color: #fff; font-size: 24px; line-height: 34px; font-weight: 400; padding-bottom: 20px; border-bottom: 2px solid rgba(255, 255, 255, .2); }
.stahr-footer-text p, .stahr-footer-text .column_attr { color: #fff; font-size: 14px; line-height: 25px; margin: 0; }
.stahr-footer .stahr-footer-sub .title { color: #fff; font-size: 20px; line-height: 28px; font-weight: 400; }
.stahr-social .mfn-icon-2 {
	width: 30px; height: 30px; line-height: 30px; font-size: 15px; text-align: center; border: 2px solid rgba(255, 255, 255, .75);
	color: rgba(255, 255, 255, .75) !important; background: transparent; border-radius: 0; transition: color .2s ease, border-color .2s ease;
}
.stahr-social .mfn-icon-2 i, .stahr-social a.mfn-icon-2 i { color: inherit !important; }
.stahr-social .mfn-icon-2:hover { color: #fff !important; border-color: #fff; }
.stahr-footer-menu .mfn-footer-menu { margin: 0; }
.stahr-footer-menu .mfn-footer-menu > li { display: block; margin: 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.stahr-footer-menu .mfn-footer-menu > li:last-child { border-bottom: 0; }
.mfn-footer .stahr-footer-menu .mfn-footer-menu > li > a { display: block; padding: 8px 0; color: #BBB; font-size: 14px; letter-spacing: .5px; font-weight: 400; }
.mfn-footer .stahr-footer-menu .mfn-footer-menu > li > a:hover, .mfn-footer .stahr-footer-menu .mfn-footer-menu > li.current-menu-item > a { color: #fff; }
.stahr-footer-menu .sub-menu { display: none; }
.stahr-copyright p, .stahr-copyright .column_attr { color: #fff; font-size: 14px; line-height: 25px; letter-spacing: .5px; font-weight: 400; margin: 0; }
.mfn-footer .stahr-copyright .column_attr a { color: #BBB; text-transform: uppercase; text-decoration: underline; }
.mfn-footer .stahr-copyright .column_attr a:hover { color: #fff; }
