  /***       Target 480px and lower */
  /***       @media (max-width:480px) {}  */
  /***       Target 980px and lower */
  /***       @media (max-width:980px) {}  */
  /***       Target 980px and higher */
  /***       @media (min-width:980px) {}  */


  /***      **       Main menu  **********************/
  /***       nav background */
  /*html.js div.layout-container main div.layout-content::before {*/
  /*  content: ""; */
  /*  position: absolute; */
  /*  top: 0;*/
  /*  left: 0;*/
  /*  right: 0;*/
  /*  height: 75px; */
  /*  background-color: white;*/
  /*  opacity: .5;*/
  /*  z-index: 0; */
  /*}*/

:root {
  --primary-color: oklch(0.547 0.246 262.866); /* Global variable */
}






  @media screen and (max-width:480px) {
    html.js div.layout-container main div.layout-content::before {
      height:65px;
    }

    .navbar--hamburger-container .navbar--hamburger  {
      margin-left: 10px;
      padding-bottom: 5px;
    }
  }



nav ul li:hover {

}

nav ul li a.menu__link {
padding:5px 20px!important;  
}

nav ul li a.menu__link--active-trail {
padding:5px 20px!important;
}

nav ul li a:hover {
  text-decoration: none;  
  border-radius: 5px;
  background-color: var(--primary-color);
  color:white;
  z-index: 100000;
  opacity:1;
}

nav ul li a.is-active {
  background-color: var(--primary-color);
  border-radius: 5px;
  color:white;
}

  .hero-billboard {
    min-height: 350px;
  }


@media screen and (max-width:768px) {
    
  .navbar:before {
    content:"All Pro Windows";
    font-size:30px;
    
  }
}


@media screen and (max-width:480px) {
    
  .navbar:before {
    content:"All Pro Windows";
    font-size:22px;
    position: relative;
    left:-10px;
    top:3px;
  }
  
    .navbar--hamburger-container:before {
      content:"Menu";
      font-size:20px!important;
      margin:0 10px 0px 0px;
      padding: 0 0 0px 0;
      z-index: 10;
      position: relative;
      top:-4px;
      left:10px;
      /*     left:15px; */
    }
}


  @media screen and (min-width:1537px) {
    .relative.p-6.bg-muted.text-muted-foreground.transition.duration-300.rounded-xl {
      min-height: 255px;
    }

    .w-full h3 {
      font-size: 27px;
    }
  }

  @media screen and (min-width:1280px) and (max-width:1536px) {
    .relative.p-6.bg-muted.text-muted-foreground.transition.duration-300.rounded-xl {
      min-height: 255px;
    }

    .w-full h3 {
      font-size: 19px;
    }
  }


  /***       Nav font size larger on desktop size */
  @media screen and (min-width:1030px) {
    nav ul li a {
      font-size:20px;
      padding:0px;
      margin:0px;
      padding:4px 5px !important;
    }
  }



  @media screen and (min-width:754px) and (max-width:1030px) { 
    nav ul li a {
      padding:8px 5px;
      font-size: 14px;
    }
  }



  /***       Prevents brief white background on navbar at limited specific resolutions */
  @media screen and (min-width:768px) and (max-width:775px) { 
    html.js div.layout-container main .navbar {
      min-width: 730px;
    }
  }

  /***      **    prevents nav from wrapping down to second line   ***/
  @media screen and (min-width:768px) and (max-width:1024px) {
    html.js div.layout-container main .navbar {
      min-width: 780px;
    }
  }

  @media screen and (min-width:768px) and (max-width:1280px) {
    .bg-none.p-4 {
      padding:unset;
    }

    .\[\&_\.cq-full\]\:mx-0 {
      width: 100%;
      padding: 1% 1%;
    }

    div.p-6:nth-child(1) {
      width: 50%;    
    }
    .w-full {
      padding:0px 10px;
    }

    .relative.p-6.bg-muted.text-muted-foreground.transition.duration-300.rounded-xl {
      padding:0px;
      min-width:230px;
      min-height: 215px;
    }

    .w-full svg {
      width: 30px;
      height: 30px;
      margin-top:20px;
    }

    .w-full h3 {
      font-size: 19px;
    }
  }




@media screen and (max-width:768px) { 

    /***       Label on Mobile menu hamburger */
    .navbar--hamburger-container:before {
      content:"Menu";
      font-size:25px;
      margin:0 10px 0px 0px;
      padding: 0 0 0px 0;
      z-index: 10;
      position: relative;
      top:-4px;
      /*     left:15px; */
    }

    /***         vertical center mobile menu and hamburger   ***/
    .navbar--hamburger-container {
      padding-top: 6px;
    }

    nav {
      /*! margin-top:-35px; */
    }

    nav ul {
      padding-top: 20px;
      padding-left: 20px;
    }

    /***       nav:before {
    content:"Menu";
    font-size: 35px;
  } */

  nav ul li {
    width:100%;
  }

  nav ul li a {
    padding:5px 5px;
    font-size: 25px;
    border-bottom: .5px solid lightgray;
    margin-right:20px;
  }

  nav ul li a:hover {
    text-decoration: none;  
    background:lightgray;
    border-radius: 5px;
  }

  /***      **    Reduce height of hero image on homepage   ***/
  .h-dvh {
    max-height:600px !important;
  }

  .\[\&_\.cq-full\]\:mx-0 {
    width: 90%;
    padding: 2% 3%;
  }

  .grid.w-full {
    align-items:flex-start;
    /***         background: red; */
  }

  .relative.p-6.bg-muted.text-muted-foreground.transition.duration-300.rounded-xl {
    padding:0% 10%;
  }

  .w-full p {
    font-size: 20px;
  }

  /***       buttons   ***/
  button.group {
    padding:3% 5%;  
    font-size:1.5em;
  }
  a.group.flex.w-full {
    padding:3% 5%;  
    font-size:1.5em;
    /***       end buttons   ***/
  }

  section.cq-full .container.mx-auto.px-4 .relative {
    padding:0 5%;
  }

  section.cq-full .text-xl {
    font-size:1.7em;
  }

  .relative.mx-auto.text-foreground.cq-full p {
    font-size: 1.4em;
  }
}
/***        END Main menu **********************/
@media screen and (max-width:480px) {
  .path-frontpage section.cq-full .container.mx-auto.px-4 .relative h2 {
      text-align: center;
   }
}

/***      header background color to 48% opacity   ***/
.bg-black\/40 {
  background-color: color-mix(in oklab,var(--color-black)47%,transparent);
}

/***         START HOMEPAGE **********************/
.h-dvh {
  max-height:800px;
}

.flex.bg-secondary a {
  padding: 1% 4%;
}

.flex.bg-secondary a svg {
  margin: 0;
}


/***      **    top align img   ***/
.w-full .cq-full img  {
  object-position: 50% 0%;
}


@media screen and (max-width:768px) {

  footer .relative.mx-auto.flex.flex-col.mb-8.pt-0.pb-0.text-foreground.cq-full {
    /***         background: lightskyblue; */
    padding:0;
  }


  footer .relative.mx-auto.flex.flex-col.mb-8.pt-0.pb-0.text-foreground.cq-full div.px-4 div.flex {
    /***         background: green; */
    padding:20px 0px;
  }
}


/***       END HOMEPAGE **********************/





/***     Services Page   *************************/
.page-services .hero-billboard {
  min-height: 400px;
}
.page-services .relative.flex.rounded-xl {
  margin-bottom: 30px;
}

.page-services .relative.flex.rounded-xl div {
  margin-top: 20px;
}


.page-services .flex.w-full.flex-col.gap-1 {
  margin: 0px Auto 20px Auto;

}








/***      START Credentials page *********************/
@media screen and (max-width:768px) {
  .page-credentials main section .img-card {
  margin-bottom: 30px;
  }
  .page-credentials main section .img-card p {
    padding-bottom: 30px;
  }
  .page-credentials main section .img-card img {
    padding-top: 20px;
    
  }
}

.page-credentials main section .img-card img {
  object-fit:contain;
}










/***    FAQ PAGE   ********************/

@media screen and (max-width:680px) {
  .page-faq .hero-billboard h1 {
    font-size: 38px;
  }
  .page-faq .hero-billboard div.text-background > p:nth-child(1) {
    font-size: 25px;
  }
}

.page-faq {
  /*   background-color: rgba(234 235 111 / .1); */
  /*   background-color: #1F160E; */
}

.page-faq section.relative div.container.px-4 div.accordion {
  border:none;
}

.page-faq section.relative div.container.px-4 div.accordion h3 button {
  background-color: #11111130;
}

.page-faq section.relative.text-foreground.cq-full div.container.px-4 .grid.w-full.min-w-0.gap-4 .accordion--content {
  /*     background: #293022; */
  background-color: #11111110;
/*   min-height: 190px; */
  vertical-align: bottom;
}

.page-faq section.relative.text-accent-foreground { 
  background: #11111150;
}

.page-faq section.relative.text-accent-foreground.cq-full div.container.px-4 .grid.w-full.min-w-0.gap-4 .accordion--content {
  /*   background: darkblue; */
}



  .flex.bg-secondary a:first-child {
    padding: 0% 0%;
    margin-left: 0px;
  }


@media screen and (max-width:1280px) {
  
  body.page-products section.cq-full div.gap-4.rounded-xl.p-4 {
  padding: 20px 2px 20px 0px;
  }

  body.page-products section.cq-full div.gap-4.rounded-xl.p-4 a.bg-primary {
  margin:0 0 0 20px;
  }

  body.page-products section.cq-full div.gap-4.rounded-xl.p-4 h2 ,
  body.page-products section.cq-full div.gap-4.rounded-xl.p-4 p {
/*     min-height: 700px; */
  padding:0px 15px 0px 15px;
  }
  
    body.page-products section.cq-full div.gap-4.rounded-xl.p-4 img {
  padding:0;

  }
  
   body.page-products section.cq-full .container.mx-auto.px-4 .relative div section div div div div h2 a,
   body.page-products section.cq-full .container.mx-auto.px-4 .relative div section div div div div p {
     padding:0px 15px;
  }
  
  body.page-products section.cq-full .container.mx-auto.px-4 .relative div section div div div div a.text-primary-foreground {
    width:90%;
    font-size: 22px;
    padding:10px 0px;
    margin:0px auto 20px auto;
  }
  
    body.page-products section.cq-full .container.mx-auto.px-4 .relative div section div div div div img {
/*       padding: 0px  0px; */
      margin-top: 20px;
  }
  
  body.page-products section.cq-full .container.mx-auto.px-4 .relative  {
    padding:0px;
    margin:0px;    
  }
  
  body.page-products section.cq-full .container.mx-auto.px-4  {
  padding:0px;
    margin:0px;
  }
}

/***    Products page   ****************/
@media screen and (max-width:768px) {
  
  body.page-products section.cq-full div.gap-4.rounded-xl.p-4 {
    margin-bottom: 30px;
  }
  
  body.page-products section.cq-full .container.mx-auto.px-4 .relative {
    padding:0 1%;
  }

  body.page-products section div  {
    width:100%;
  }
  
   body.page-products section.cq-full .container.mx-auto.px-4 .relative div section div div div div h2 a,
   body.page-products section.cq-full .container.mx-auto.px-4 .relative div section div div div div p {
     padding:0px 0px;
  }

  header.mb-6 {
    padding:0px 20px;
    padding-top:30px;
  }
}

section.\@container:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) {
vertical-align: top;
  position: relative;
  top:-43px;
}


@media screen and (max-width:768px) {
  section.\@container:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) {
  vertical-align: top;
    position: relative;
    top:0px;
  }
}













/***      **       Contact page confirm *********************/

@media screen and (max-width:768px) {
    .page-contact-us section.cq-full h2.heading-responsive-7xl {
    height:400px;
    align-content: center;
  }
}


.webform-confirmation__message {
  background: lightgreen;
  padding:30px;
  font-size: 18px;
}

form.webform-submission-contact-us-canvas-page-4-add-form {
  .form-item-address-city,
  .form-item-address-state-province,
  .form-item-address-postal-code {
    padding-top:30px;
  }
}










/***      **      ** Login page ********************/
body > div.page-wrapper.dialog-off-canvas-main-canvas > div > div.user-form-page__user-form > header > div > a
Specificity: (0,3,7)
{
  display: none;
}





/***      Fast Quote page ********************/
html.js body.page-fast-quote {
  /***       File button color */
  label.webform-button--submit.button.button--primary.js-form-submit.form-submit.webform-file-button {
    background-color:gray;
  }

  label.webform-button--submit.button.button--primary.js-form-submit.form-submit.webform-file-button:hover {
    background-color:lightgray;
    color:#555;
  }

  .webform-type-managed-file {
    background-color: #F4F4F7;
    padding:20px;
  }

  /***       Target 1200px and higher */
  @media (min-width:1200px) {

    html.js body.canvas-page.path-page div.dialog-off-canvas-main-canvas  {
      background-color:#E1E1E4;
    }

    .\[\&_\.cq-full\]\:mx-0 {
      width:50%;
      padding:2% 3%;
    }

    div.\@container {
    }

    form#webform-submission-fast-quote-canvas-page-6-add-form.webform-submission-form {
      /***         margin: 40px auto; */ 
    }

    /***       Target the containers that hold the 50/50 elements */
    #edit-left-col-50,
    #edit-right-col-50 {
      flex: 1 calc(50% - 1em); /***       This sets the flex-basis to nearly 50%, accounting for gaps */
      box-sizing: border-box; /***       Ensures padding/borders don't exceed the 50% width */
    }

    /***       Ensure the parent container of your webform elements is a flex container */
    /***       You may need to inspect the form's HTML to find the correct parent selector */
    #webform-submission-fast-quote-canvas-page-6-add-form {
      flex-direction: row;
      flex-wrap: wrap;
    }
    .\[\&_\.cq-full\]\:mx-0 {
      background-color: white;
    }

    /***       Change label color when the input inside the form-item is focused */
    .webform-submission-form .form-item-name:focus-within label,
    .webform-submission-form .form-item-email:focus-within label,
    form#webform-submission-fast-quote-canvas-page-6-add-form input#edit-phone-phone.form-tel:focus-within label,
    .form-item-address-address:focus-within label,
    .webform-submission-form .form-item-address-city:focus-within label,
    .webform-submission-form .form-item-address-postal-code:focus-within label,
    .webform-submission-form .form-item-subject:focus-within label,
    .webform-submission-form .form-item-message:focus-within label {
      color: black; /***       Replace with your desired focus color */
      font-weight: bold; /***       Optional: make label bold on focus */
    }

    .js-webform-type-webform-address {
      margin-top: 0;
      margin-bottom: 0;
    }

    .form-item-address-city,
    .form-item-address-postal-code {
      padding-top:8%;
    }

    #edit-bottom-col-100 {
      flex: 1 calc(50% - 1em); /***       This sets the flex-basis to nearly 50%, accounting for gaps */
      box-sizing: border-box; /***       Ensures padding/borders don't exceed the 50% width */
    }

    fieldset.webform-composite-hidden-title {
      margin-top: 0;
      margin-bottom: 0;
    }

    #edit-file--description {
      padding-top: 0px;
      margin-top: 0px;
      /***         display:none; */
    }

    /***       button size */
    #edit-file {
      width:100%;
      margin:0 auto;
    }

    /***       File container */
    div.js-webform-type-managed-file.webform-type-managed-file.js-form-item.form-item.form-type-managed-file.js-form-type-managed-file.form-item-file.js-form-item-file  {
        /***         width:60%;
        margin:0 auto; */
      }

      #ajax-wrapper .description {
        margin:0 auto;
        width: 100%;
      }
      #edit-file--label  {
        margin:0 auto;
        width: 100%;    
      }

      div#block-1e0761eb-b70c-4e21-994b-113e647102f6 form#webform-submission-fast-quote-canvas-page-6-add-form fieldset#edit-bottom-col-100 legend {
      }

      label.webform-button--submit{
        text-align: center;
      }

      #edit-actions-submit {
        width:100%;
        padding:1.5% 10%;
        font-size: 20px;
      }
    } /***       end min-width:1200px */
  }
  /***      **       END Fast Quote page *******************************/






/***    Photo Gallery Page   *****************************/

.page-photo-gallery figcaption {
  font-size: 30px;
  background:#00000010;
  padding:10px;
}

@media screen and (max-width:768px) {
  .page-photo-gallery .hero-billboard h2 {
    font-size: 40px;
  }
  .page-photo-gallery .hero-billboard p {
    font-size: 27px;
    line-height: 1.2em;
  }
  .page-photo-gallery figcaption {
    font-size: 20px;
    background:#00000010;
    padding:10px;
    margin-bottom:20px;
  }
}






/***      **       Target 480px and lower ****************/

@media only screen and (max-width:500px) {

  .\[\&_\.cq-full\]\:mx-0 {
    background-color: white;
  }

  #edit-actions-submit {
    width: 100%;
    padding: 1.5% 10%;
    font-size: 20px;
  }
} /***       end max-width:500px */


@media only screen and (max-width:480px) {
  .\[\&_\.cq-full\]\:mx-0 {
    width:100%;
    padding:2% 3%;
  }

  .relative.p-6.bg-muted.text-muted-foreground.transition.duration-300.rounded-xl {
   padding: 0% 5%;
   min-height: 350px !important;
 }

 .relative.p-6.bg-muted.text-muted-foreground.transition.duration-300.rounded-xl div {
  padding-top: 30px;
}

.flex.h-full.flex-col.justify-center {
 padding-top:30px;
}
}










