.product-container {
    max-height: 200px; /* Initial limited height */
    overflow: hidden;
    position: relative;
    transition: max-height 0.6s ease; /* Smooth transition for expanding */
}

.product-container.expanded {
    max-height: 1000px; /* Arbitrary large value to accommodate all products */
    /* You can also use 'max-height: none;' if you are sure it won't create extremely long pages */
}

/* Fading effect */
.product-container::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    background: linear-gradient(rgba(242, 242, 242, 0), #f2f2f2); /* Adjusted to match the grey background */
    pointer-events: none;
}
.load-more-link, .load-less-link {
    display: block; /* Makes the link a block-level element */
    text-align: center; /* Centers the text inside the link */
    margin: 10px auto; /* Centers the link horizontally and adds margin */

    cursor: pointer; /* Ensures the cursor changes to a pointer */
    /* Additional styling as needed */
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="url"] {
    width: calc(100% - 20px);
    padding-left: 10px;
    padding-right: 10px;
    /* box-sizing: border-box; */
}


/* ex full-width-container */

.lg-ct-fw {
    overflow: auto;
}


/* ex standard-container */

.lg-ct-std,
.lg-col-full {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
}

.lg-col-full {
    overflow: unset;
}

[class*='lg-cl-'],
.content-area,
.entry-summary,
.lg-flex-control-nav {
    display: block;
    float: left;
    margin: 6px;
}

.lg-cl-1-1 {
    width: calc(100% - 12px);
}
.lg-cl-1-3 {
    width: calc(33% - 4px)!important;
}
.lg-cl-1-3-nomargin {
    width: 33%;
    margin: 0;
}
.lg-cl-2-3 {
    width: calc(66% - 37px)!important;
}
.lg-cl-1-2 {
    width: calc(50% - 15px);
}
.lg-cl-1-2-nomargin {
    width: 45%;
}
.lg-cl-1-4 {
    width: calc(25% - 12px);
}
.lg-cl-1-5 {
    width: calc(20% - 12px);
}
.lg-cl-1-6 {
    width: calc(16.6% - 12px);
}
.lgcl-3-4 {
    width: calc(75% - 20px);
}
.lgcl-3-4-nomargin {
    width: 74%;
}
.lgcl-pos-invert {
    order: 0;
}
.lg-cl-2-3,
.lg-cl-1-3 {
    margin-right: 0!important;
    margin-bottom: 0!important;
}

/* Positioning */

.lg-pos-rel {
    position: relative;
}

.lg-text-center {
    text-align: center;
}

.lg-text-left {
    text-align: left!important;
}

.lg-text-right {
    text-align: right!important;
}

.lg-flex {
    display: flex;
    flex-wrap: wrap;
}

/* Box styles */

.lg-dsg-box-main {
    background-color: #fff;
    border-radius: 8px;
    padding: 17px 17px;
    box-shadow: 0 5px 10px 0 rgb(65 71 108 / 15%);
    margin-bottom: 30px;
    overflow: unset;
    margin-top: 11px;
    margin-bottom: 11px;
}
/* Box custom styles */

.lg-label-limited {
    border: solid 2px #2669b2!important;
    }
.lg-label-limited:after {
    content: "Limited availability";
    color: #ffff;
    position: absolute;
    top: -13px;
    left: 20px;
    padding: 4px 5px 4px 5px;
    /* width: 147px; */
    text-align: center;
    /* transform-origin: bottom right; */
    text-transform: uppercase;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 1px;
    background-color: #2669b2;
    border-radius: 3px;
    }

.lg-dsg-box-main {
    border: solid 2px #f9f9f9;
    background-color: #f9f9f9;
    transition: all 1.8s cubic-bezier(0.19,1,0.22,1);
    }
.lg-dsg-box-main p {
    color: #000;
    }
.lg-cta-btn-center {
    margin: auto;
    width: fit-content;
    padding: 10px;
    }
.lg-box-des-1:hover {
    background-color: #f8f8f8;
}
.lg-dsg-box-main:hover {
    box-shadow: 0 5px 10px 0 rgb(65 71 108 / 30%);
}

/* Buttons styles */

.lg-cta-btn {
font-size: 16px;
    background: #0055cc;
    background: #2669b2;
    color: #ffffff;
    -moz-border-radius: 4px;
    -webkit-border-radius: 2px;
    line-height: 18px;
    padding: 10px 16px 10px 16px;
    text-decoration: none;
    text-shadow: none;
    text-align: center;
    border: none;
    border-radius: 3px;
    margin-top: 30px;
    width: fit-content;
   margin-left: 11px;
    font-weight: 600;
    transition: .2s ease-in-out;
    background: #00a79d;
    border-radius: 3px;
    padding: 10px;
}

.lg-cta-btn:hover {
cursor: pointer;
background-color:#25476d;
color: #ffff;
text-decoration: none;
    background: #00718b;
    color: #fff;
}

.lg-cta-btn:active {
    background-color: #555;
}
.lg-cta-btn-center {
    margin: auto;
    width: fit-content;
    padding: 10px;
    }

/* Contact Form 7 styles */  

.wpcf7-form-control {
    width: 100%;
    min-height: 34px;
    /* padding: 7px 0 7px 0; */
    margin: 8px 0 3px 0;
    border-color: #eaeaea;
    /* color: aquamarine; */
    color: -internal-light-dark(black, white);
    background-color: -internal-light-dark(rgb(255, 255, 255), rgb(59, 59, 59));
    /* box-shadow: 0px 5px 10px rgb(0 0 0 / 10%); */
    border-radius: 3px;
    caret-color: rgb(233 249 248 / 85%);

}
input.wpcf7-form-control {
    border: 2px solid #ddd;
}
textarea.wpcf7-form-control {
    border: 2px solid #ddd;
}
span.wpcf7-form-control.wpcf7-radio {
    display: flex;
}
.wpcf7-list-item {
    margin: 0!important;
    width: 100%;
        display: inline-block;

    width: -webkit-fill-available;
}

span.wpcf7-list-item-label {
    word-break: normal;
    word-wrap: normal;
        white-space: nowrap;
}
.wpcf7-form-control.wpcf7-submit {
    font-size: 18px;
    font-weight: 600;
    background: #2860a0;
    color: #ffff;
    min-height: 45px;
    /* max-width: 380px; */
    border: none;
    cursor: pointer;
}
.wpcf7-form-control.wpcf7-submit:hover {
    background-color: #25476d;
}
.wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed;
    background: #e0e0e0;
}

.wpcf7-form-control::selection{
  color: #fff;
  background: #58cff1;  
}
.wpcf7-form-control:focus{
    border-color: #78c2be;
}
.wpcf7-form-control::placeholder{
  color: #c4c4c4;
}

.lg-checkbox-list label{
    display: block;
        line-height: 32px;
}
.lg-sidebar {
    height: 100%;
    width: 350px;
    position: fixed;
    z-index: 999;
    top: 0;
    right: -350px;
    background-color: #f9f9f9;
    overflow-x: unset;
    transition: 0.5s;
    padding-top: 60px;
    box-shadow: 0 12px 8px rgb(181 181 181);
    padding-top: 80px;
    overflow-y: auto;
    border-left: solid 9px #0055cc1c;
    border-right: solid 9px #0055cc1c;
}
.lg-footer-menu-button {
    position: fixed;
    right: 19px;
    width: 50px;
    height: 50px;
    background-color: #255a8d;
    background-color: #2669b2;
    border-radius: 100px;
    bottom: 30px;
    z-index: 1000;
    color: white;
    padding: 15px;
    font-weight: 700;
    text-align: -webkit-center;
    transition: .2s ease-in-out;

}
.lg-footer-menu-button svg {
    color: white;
    width: 26px;
    height: 26px;
    margin-left: -5px;
    margin-top: -2px;
}
.lg-footer-menu-button-back-to-top {
    position: fixed;
    right: 78px;
    width: 50px;
    height: 50px;
    background-color: #255a8d;
    background-color: #2669b2;
    border-radius: 100px;
    bottom: 30px;
    z-index: 1000;
    color: white;
    padding: 15px;
    font-weight: 700;
    text-align: -webkit-center;
    display: none;
}
.lg-footer-menu-button-back-to-top svg{
    color: white;
    width: 26px;
    height: 26px;
    margin-left: -5px;
    margin-top: -2px;
}

.lg-sidebar .lg-closebtn {
    position: absolute;
    top: 57px;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

.lg-openbtn {
  font-size: 20px;
  cursor: pointer;
  background-color: #111;
  color: white;
  padding: 10px 15px;
  border: none;
}

.lg-openbtn:hover {
  background-color: #444;
}


.lg-sidebar-bottom {    position: fixed;
    bottom: 21px;
    width: 50px;
    background: #fff;
    box-shadow: 0 1px 0 0 rgb(139 141 157 / 5%), 0 5px 10px 0 rgb(65 71 108 / 15%);
    padding: 15px 7px;
    text-align: center;
    z-index: 21;
    margin-right: 0;
    right: 20px;

}
.lg-cta-btn-quick-request{
    padding-left: 47px;
transition: .2s ease-in-out;
/*transition-delay: 250ms;*/
}
.lg-services-title {
    text-align: center;
    color: #000;
}
.lg-services-container-main {
    transition: all 1.8s cubic-bezier(0.19,1,0.22,1);
}

.lg-services-container-main {
    background-color: #fff;
    -moz-border-radius: 4px;
    text-decoration: none;
    text-shadow: none;
    border: none;
    overflow: auto;
    margin: 40px 0 40px 0;
    border-radius: 0.75rem;
    border: solid 2px #f9f9f9;
    margin: 5px;
    padding-bottom: 100px;
}
.lg-services-container-main-bottom {
    position: absolute;
    bottom: 50px;
    width: -webkit-fill-available;
}
.lg-services-title {
    text-align: center;
}
.lg-services-container-main {
    transition: all 1.8s cubic-bezier(0.19,1,0.22,1);
}
.lg-services-container-main:hover {
    background-color: #f9f9f9!important;
    border: solid 2px #0055cc;
    background-color: #fef7ea!important;
    border: solid 2px #ffffff;

}
.lg-services-price {
    font-size: 40px;
    padding-bottom: 21px;
}
.lg-services-container-2-inner {
    padding: 27px;
}



/* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */
@media screen and (max-height: 450px) {
  .lg-sidebar {padding-top: 15px;}
  .lg-sidebar a {font-size: 18px;}
}
    
@media (max-width: 992px) {
    .lg-cl-1-3 {
        width: calc(33% - 22px);
    }
    .lg-cl-sm-2-3 {
        width: calc(66% - 10px);
    }
    .lg-cl-sm-3-4 {
        width: calc(75% - 22px);
    }
    .lg-cl-1-3-sm-1 {
        width: calc(100% - 22px);
    }
    .lg-cl-1-3-sm-2 {
        width: calc(50% - 22px);
    }
    .lg-cl-1-2-xs-1 {
        width: calc(100% - 22px);
    }
    .lg-cl-1-4,
    .lg-flex-control-nav {
        width: calc(33% - 22px);
    }
    .lg-cl-1-4-sm-1 {
        width: calc(100% - 22px);
    }
    .lg-cl-sm-1-2 {
        width: calc(50% - 12px);
    }
    .lg-cl-sm-1-3 {
        width: calc(33% - 12px);
    }
    .lg-cl-sm-1-4 {
        width: calc(25% - 12px);
    }
    .lg-cl-sm-1-2-nomargin {
        width: 50%;
    }
    .lg-cl-3-4-sm-1 {
        width: 100%;
        max-width: -webkit-fill-available;
    }
    .lg-cl-sm-1 {
        width: 100%!important;
        max-width: -webkit-fill-available;
    }
    .lg-cl-sm-1-4 {
        width: calc(33% - 22px);
    }
    .lg-flex-xs {
        display: flex;
        flex-direction: column;
    }
}

@media (max-width: 767px){
.lg-cl-1-3 {width: calc(50% - 22px);}
.lg-cl-1-3-xs-1 {width:100%;    max-width: -webkit-fill-available;}

.lg-cl-2-3 {width: 100%;     max-width: -webkit-fill-available;}
.lg-cl-xs-1-1 {width:100%!important;    max-width: -webkit-fill-available!important;}
.lg-cl-xs-2-3 {width: calc(66% - 37px);}
.lg-cl-xs-1-2 {width: calc(50% - 12px)!important;}

.lg-cl-1-2 {width: calc(100% - 22px);}
.lg-cl-xs-1-2-nomargin {    width: 50% !important;}
.lg-cl-1-4 {width: calc(50% - 12px);}
.lg-cl-xs-1-3 {width: calc(33% - 12px);}
.lg-cl-3-4 {width: calc(75% - 20px);}
.lg-cl-3-4-xs-1 {width:100%;    max-width: -webkit-fill-available;}
.lg-cl-1-4-xs-1 {width:100%;    max-width: -webkit-fill-available;}
    .lg-cl-sm-1 {width:100%;    max-width: -webkit-fill-available;}}