@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
:root{--system-font: "Poppins", sans-serif;--primary:#B1D90F;--accent:#4499DC;--shadow:rgba(0,0,0,0.2) 0 0 10px;--black:#000;--white:#fff;--big-shadow:#C9D4D9 0 0 90px;--grey:#7070705C;--silver:#f3f6fa;}

iframe {vertical-align: middle;}
body,html{overflow-x:hidden;font-family:var(--system-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height: 100%;}
.small-shadow {box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.1);}
.primary-text {color: var(--primary);}
.white-text, .light-text {color: var(--white);}
.primary {background-color: var(--primary);}
.accent {background-color: var(--accent);}
.white {background-color: var(--white);}
.black {background-color: var(--black);}
.black-text {color: var(--black);}
.silver {background-color: var(--silver);}
.mh100p {min-height: 100%;}
.mask {background-color: var(--black); opacity: 0.6;position: absolute;top:0;left:0;width: 100%; height: 100%;}
body{font-family:var(--system-font);font-size:16px;font-weight:500;-webkit-animation:fadeinout .3s ease-in 1 forwards;animation:fadeinout .3s ease-in 1 forwards;}
@-webkit-keyframes fadeinout{0%{opacity:0}
100%{opacity:1}
;}
@keyframes fadeinout{0%{opacity:0}
100%{opacity:1}
;}
.flex-col{float:none !important;flex-direction:row;}
.flex-row{display:flex;}
.flex1 {flex: 1;}
.v-center{top:50%;position:relative;transform:translateY(-50%);}
.vcenter-items {align-items: center;}
.lngbar{position:relative;top:0px;right:0px;z-index:30;-o-transition:all .2s linear;-moz-transition:all .2s linear;-webkit-transition:all .2s linear;transition:all .2s linear;}
.lngbar .lng{width:30px;height:30px;text-align:center;line-height:30px;color:var(--white);font-weight:600;background-color:var(--accent); font-size: 0.9em;}
.lngbar ul{list-style:none;position:absolute;top:30px;left:0;background-color:var(--silver);width:30px;text-align:center;opacity:0;height:0px;overflow:hidden;-o-transition:all .2s ease;-moz-transition:all .2s ease;-webkit-transition:all .2s ease;}
.lngbar ul.open{opacity:100;-o-transition:all .2s ease;-moz-transition:all .2s ease;-webkit-transition:all .2s ease;height:auto;}
.lngbar ul li{color:#000;cursor:pointer;height:30px;line-height:30px;-o-transition:all .2s ease;-moz-transition:all .2s ease;-webkit-transition:all .2s ease;}
.lngbar ul li:hover{color:var(--black);background-color:var(--primary);-o-transition:all .2s ease;-moz-transition:all .2s ease;-webkit-transition:all .2s ease;}
.lngbar ul li:hover a{color:var(--white);}
.lngbar ul li a{text-decoration:none;color:#000;font-size:0.8em;font-weight:400;}
.lngbar .select{border-color:var(--primary) transparent;border-style:solid solid none;border-width:5px 5px medium;height:5px;right:-12px;position:absolute;top:12px;width:0;text-decoration:none;color:var(--black);}
.editable {display: contents;}
.cmspage .wraper {margin: auto;}
.cmspage p {margin-bottom: 10px;}
/* .cmspage ul, .cmspage ol {margin-bottom: 10px; padding-left: 20px; line-height: 1.5;}
.cmspage h2 {margin-bottom: 30px;}
.cmspage h3 {margin-bottom: 15px; font-size: 1.4em; font-weight: 700;} */
.cmspage table {border: solid 1px var(--silver); border-collapse: collapse; width: 100%; margin-bottom: 20px;}
.cmspage table  td {padding: 10px; border: solid 1px var(--silver);}


span[typeof="v:Breadcrumb"]:last-of-type {
    color: var(--accent);
}

header {position: sticky;top: 0;}
header#header nav > ul {display: flex; justify-content: space-between;}
#header nav ul li:hover>a {font-weight: 600; color: var(--primary);}
header nav ul li {display: inline-block; margin-left: 10px; margin-right: 10px; position: relative;color: var(--white);}
header nav ul li a {display: block; line-height: 35px;}
header nav ul li ul {position: absolute; display: none; padding: 20px; background-color: var(--white); border-radius: 10px; box-shadow: var(--shadow); z-index: 50;  width: max-content; transform: translate(-30%, 0);}
header nav ul li ul li {color: var(--black);}
header nav ul li:hover ul {display: flex; flex-direction: column; align-items: center; flex-wrap: wrap;column-gap:30px; row-gap: 5px;}
.header-hidden {position: fixed; top: -200px; transition: top 2s;}
.header-visible {position: fixed; top: 0px; transition: top 2s;}
.mobile-menu, .menu-call {display: none}

footer nav ul {display: flex; font-weight: 800; gap: 20px;align-items: end;flex-wrap:wrap}
footer nav ul li ul {display: none;}

.primary-button{
    display: inline-block;
    border-radius: 0.75rem;
    background-color: var(--primary);
    padding: 0.625rem 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #ffffff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);

    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.primary-button:hover {
    background-color: var(--accent);
    transform: scale(1.05);
}

.home-baners .slick-dots {
    position: absolute;
    bottom: 20px;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    z-index: 10;
}

.home-baners .slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}


.home-baners .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}


.home-baners .slick-dots li button:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 6px;
    height: 6px;
    background-color: var(--white);
    border-radius: 50%;
    box-shadow: 0 0 4px rgba(255, 255, 255, 0.6);
    opacity: 0.5;
    transition: all 0.3s ease;
}


.home-baners .slick-dots li.slick-active button:before {
    width: 10px;
    height: 10px;
    opacity: 1;
     background-color: var(--primary);
}

.home-baners .slick-dots li.slick-active button:before {

    width: 14px;
    height: 14px;
    background-color: var(--primary);


    clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    box-shadow: none;
}




   .mission-slider .slick-dots {
    position: absolute;
    bottom: 20px;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    z-index: 10;
}

.mission-slider .slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.mission-slider .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.mission-slider .slick-dots li button:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background-color: var(--white);
    border-radius: 50%;
    box-shadow: 0 0 4px rgba(255, 255, 255, 0.6);
    opacity: 0.5;
    transition: all 0.3s ease;
}

/* Merged the active dot styles into one clean block */
.mission-slider .slick-dots li.slick-active button:before {
    width: 14px;
    height: 14px;
    opacity: 1;
    background-color: var(--silver);
    border-radius: 0; /* Removed standard circle radius to allow the clip-path to work perfectly */
    clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    box-shadow: none;
}

   .product-gallery-slider .slick-dots {
    position: absolute;
    bottom: 20px;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    z-index: 10;
}

.product-gallery-slider .slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.product-gallery-slider .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.product-gallery-slider .slick-dots li button:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background-color: var(--white);
    border-radius: 50%;
    box-shadow: 0 0 4px rgba(255, 255, 255, 0.6);
    opacity: 0.5;
    transition: all 0.3s ease;
}

/* Merged the active dot styles into one clean block */
.product-gallery-slider .slick-dots li.slick-active button:before {
    width: 14px;
    height: 14px;
    opacity: 1;
    background-color: var(--primary);
    border-radius: 0; /* Removed standard circle radius to allow the clip-path to work perfectly */
    clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    box-shadow: none;
}



@media (max-width:1024px){

    header nav, header .pc-contacts {display:none;}
    .menu-call {display: inherit;}
    .menu-call{width:30px;position:relative;z-index:101;cursor:pointer;}
    .menu-call span{width:100%;height:2px;background-color:var(--primary);top:0;right:0;display:block;-moz-transition:all .2s linear;-webkit-transition:all .2s linear}
    .menu-call span:before{content:'';height:2px;width:100%;margin-bottom:5px;display:block;background-color:var(--black);position:absolute;top:7px;-moz-transition:all .2s linear;-webkit-transition:all .2s linear}
    .menu-call span:after{content:'';height:2px;width:100%;margin-top:5px;display:block;background-color:var(--black);position:absolute;bottom:7px;-moz-transition:all .2s linear;-webkit-transition:all .2s linear}
    .menu-call.open span{-o-transition:all .2s linear;-moz-transition:all .2s linear;-webkit-transition:all .2s linear;width:0}
    .menu-call.open span:before, .menu-call.open span:after{content:'';height:2px;width:100%;display:block;position:absolute;top:0;-webkit-transform:rotate(45deg);-moz-transition:all .2s linear;-webkit-transition:all .2s linear}
    .menu-call.open span:before { transform:rotate(45deg);}
    .menu-call.open span:after { transform:rotate(-45deg); margin-top: 0px;}
    .menu-call span:before,.menu-call span:after,.menu-call.open span:before,.menu-call.open span:after{background-color:var(--primary);}
    .mobile-menu {display:block;position: fixed; width:100%; height:100%;background-color: var(--primary); z-index:99;transform:perspective(50em) rotateX(-90deg);transform-origin:50% 0;-o-transition:all .8s ease;-moz-transition:all .8s ease;-webkit-transition:all .8s ease;transition:all .8s ease}
    .mobile-menu .logo{max-width:70%;float:left;margin-top:-8px;}
    .mobile-menu *{opacity:0;-o-transition:all .8s ease;-moz-transition:all .8s ease;-webkit-transition:all .8s ease;transition:all .8s ease}
    .mobile-menu.open{ overflow-x: scroll; left:0;right:0; transform:perspective(50em) rotatey(0deg);min-height: -webkit-fill-available; -o-transition:all .8s ease;-moz-transition:all .8s ease;-webkit-transition:all .8s ease;transition:all .8s ease}
    .mobile-menu.open *{opacity:100;-o-transition:all .8s ease;-moz-transition:all .8s ease;-webkit-transition:all .8s ease;transition:all .8s ease}
    .mobile-menu ul{list-style:none;padding-top:80px;padding-bottom:20px; display: flex; flex-direction: column; gap: 40px;}
    .mobile-menu ul li > ul{padding:10px;display:none; color: var(--primary);}
    .mobile-menu > nav  ul  li  a {text-align: start;}
    .mobile-menu > nav > ul > li {border-bottom: 2px solid #ffffff5e;;}
    .mobile-menu ul a{z-index:99; font-size:1em;line-height:30px;position:relative;display:block; background: var(--white);-webkit-background-clip: text;-webkit-text-fill-color: transparent;font-weight:500;text-decoration:none;text-align:center;margin-bottom:10px}
    .mobile-menu ul a:after{content:'';height:1px;width:0;background-color:var(--white);bottom:0;left:0;position:absolute;-o-transition:all .2s linear;-moz-transition:all .2s linear;-webkit-transition:all .2s linear;transition:all .2s linear}
    .mobile-menu ul a:hover{color:var(--orange);-o-transition:all .2s linear;-moz-transition:all .2s linear;-webkit-transition:all .2s linear;transition:all .2s linear;}
    .mobile-menu ul ul li a::after{position:absolute;height:2px;width:0%;margin:auto;content:'';display:block;background-color:var(--darkYellow);left:1%;right:1%;-o-transition:all .2s linear;-moz-transition:all .2s linear;-webkit-transition:all .2s linear;transition:all .2s linear;}
    .mobile-menu ul ul li a:hover::after,.mobile-menu ul ul li a:active::after{width:50%;-o-transition:all .2s linear;-moz-transition:all .2s linear;-webkit-transition:all .2s linear;transition:all .2s linear;}
    .mobile-menu ul ul a {font-size: 1em; opacity: 100%; }
    .mobile-menu ul ul a:hover {font-weight: bold;}
    .mobile-menu > nav > ul > li:has(ul) > a{pointer-events: none;}


    footer nav ul {flex-direction: column; align-items: center;}

    .wraper
    {
        min-width: unset;
    }
        .configure-mobile-rows {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .configure-mobile-rows [class*="col-"] {
        width: 100%;
        margin-left: 0;
    }
}

/* 1. The Container */
.responsive-row {
  display: flex;
  flex-wrap: wrap; /* Allows items to drop to the next line */
  align-items: stretch;
  gap: 30px;
  width: 100%;
  box-sizing: border-box;

}

.responsive-row.row:after {
    content: none;
}

/* 2. Base Column Logic */
.responsive-row > [class*="col-"] {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;

  /* The Magic:
     - flex-grow: 1 (fills the remaining row space)
     - flex-shrink: 1 (shrinks if the screen is tiny)
     - flex-basis: 280px (The "Break Point": below this width, it stacks)
  */
  flex: 1 1 280px;
  margin-left: 0;
}

/* 3. Specific Width Overrides (Desktop/Tablet)
   We wrap these in a media query so they only apply
   when there is actually enough room to show them side-by-side.
*/
@media (min-width: 768px) {
  .col-15 { flex: 0 0 calc(15% - 50px); }
  .col-20 { flex: 0 0 calc(20% - 50px);  }
  .col-25 { flex: 0 0 calc(25% - 50px); max-width: 25%; }
  .col-33 { flex: 0 0 calc(33.33% - 50px);}
  .col-50 { flex: 0 0 calc(50% - 50px);  }
}

/* 4. Mobile Reset
   On very small screens, force every column to 100%
*/
@media (max-width: 480px) {
  .responsive-row > [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

