body {color:#1F2937;background-color:#F9FAFB !important;background-image:none;font-family:'Open Sans';font-weight:400;font-style:normal;font-size:17px;} .sp-el-row{max-width:1100px;}#primary.content-area{max-width:1000px;} h1, h2, h3, h4, h5, h6{color:#1F2937; font-family:'Montserrat';font-weight:700;font-style:normal;}  h1{font-family:'Montserrat';font-weight:700;font-style:normal;font-size:48px;color:#1E3A8A;} h2{font-family:'Montserrat';font-weight:600;font-style:normal;color:#1F2937;} h3{font-family:'Montserrat';font-weight:500;font-style:normal;color:#F97316;} h4{font-family:'Montserrat';font-weight:400;font-style:normal;} a{color:#10B981;} a:hover{color:#0c8a60;} label{color:#43a047;font-family:'Montserrat';font-weight:500;font-style:normal;} ::placeholder{color:rgba(0, 0, 0, 0.5) !important;} .sp-button,  #edd-purchase-button.edd-submit.sp-button, input[type='submit'].edd-submit.sp-button, .edd-add-to-cart, button.edd-submit.sp-button, a.edd-submit.sp-button, .edd-submit, input[type='submit'].edd-submit, #edd-save-cart-button, #edd_next_button, input[type='submit'], .woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .button.wp-element-button,  .widget-content-block input[type='submit']{color:#1E3A8A;background-color:#F97316;font-family:'Montserrat';font-weight:600;font-style:normal;border-radius:10px;border-width:0px;border-style:solid;} .sp-button:hover{color:#1E3A8A;} input[type="text"],  input[type="password"],  input[type="email"], input[type="url"],  input[type="date"],  input[type="month"],  input[type="time"],  input[type="datetime"],  input[type="datetime-local"],  input[type="week"],  input[type="number"],  input[type="search"],  input[type="tel"],  input[type="color"],  select,  textarea, .woocommerce input, .woocommerce select, .woocommerce textarea, .widget-content-block input, .widget-content-block select, .widget-content-block textarea{color:#000000;background-color:#F9FAFB;border:1px solid #CCCCCC;border-radius:4px;padding:2px;font-family:'Open Sans';font-weight:400;font-style:normal;} .btn{background-color:#F97316}@media (max-width: 480px){}/*endmobile*/@media (min-width: 481px) and (max-width: 1024px){}/*endtablet*/

/* Custom CSS */
/* === Forever Awnings – Divi cleanup (v2025-11-10) === */
:root { -brand-red: #D62E31; }

#mobile_menu{background:#D62E31!important;border-top-color:#fff!important;}
.mobile_menu_bar::before{color:#fff!important;}
.nav .ctabutton > a,.ctabutton > a{
  background:#D62E31;border:2px solid #D62E31;color:#fff!important;
}

/* 1) Globals */
body { overflow-x: hidden; }

/* 2) KB Slider (gentler zoom to reduce jank) */
.kbslider { animation: kbsl 45s ease-in-out infinite; will-change: transform; transform-origin: center; }
@keyframes kbsl { 0%,100% { transform: scale(1) } 50% { transform: scale(1.08) } }
@media (prefers-reduced-motion: reduce) { .kbslider { animation: none; transform: none; } }

/* 3) Header & Mobile Menu */
#mobile_menu { background: var(--brand-red) !important; border-top-color: #fff !important; }
.mobile_menu_bar::before { color: #fff !important; } /* hamburger */
@media (min-width: 981px){ .mobile_menu_bar { display: none; } }
/* Remove legacy offsets that misalign hamburger */
.et_pb_module .mobile_menu_bar::before { top: 0 !important; }

/* 4) Menu CTA (add CSS class "ctabutton" to the WP Menu item) */
.nav .ctabutton > a,
.ctabutton > a{
  background: var(--brand-red);
  border: 2px solid var(--brand-red);
  color: #fff !important;
  padding: 10px 14px !important;
  height: 38px;
  line-height: 18px;
  border-radius: 12px;
  font-weight: 700;
}

/* 5) Logo scaling on phones + transparent header fallback */
@media (max-width: 980px){
  .et_header_style_left #logo { max-width: 120px !important; height: auto; }
  .et_non_fixed_nav.et_transparent_nav #main-header { transition: none; background: var(--brand-red); }
}

/* 6) Image rules — safer defaults (avoid fixed heights site-wide) */
.et_pb_image_container img,
.et_pb_post a img{
  max-width: 100%;
  height: auto;          /* prevent distortion */
  vertical-align: bottom;
  object-fit: cover;     /* switch to 'contain' where needed via a wrapper */
}
/* Gallery-only containment (add class 'fa-gallery' to that section/row) */
.fa-gallery .et_pb_image_container img{ object-fit: contain; }

/* Optional: card images with fixed ratio instead of fixed height */
.card-image img{ aspect-ratio: 16/9; width: 100%; height: auto; object-fit: cover; }

/* 7) Contact form alignment */
@media (min-width: 320px){
  .et_pb_contact_right{
    display: block !important;
    min-width: 110px;
    margin: 10px;
    text-align: right;
  }
}
.et_contact_bottom_container{ float: right !important; text-align: left; padding-left: 10px; }

/* 8) Filterable gallery category bar (Divi Supreme) */
.dsm_filterable_gallery_0 .dsm-filterable-category-container{ display: none; }

/* 9) Remove Divi's decorative co*/
/* === Forever Awnings Form Styles === */

