/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
    position: absolute;
    background-color: var(--color-primary);
    border: none;
    color: #FFF;
}

.carousel2 .flickity-button {
    background-color:#EEE;
    /* border: 1px solid var(--color-primary); */
    height: 55px;
    width: 55px;
    border-radius: 50%;
   /*  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; */
}

body.dark .carousel2 .flickity-button {
    background-color:var(--background-color4);
}

.carousel3 .flickity-button {
    background-color:#FFF;
    /* border: 1px solid var(--color-primary); */
    height: 55px;
    width: 55px;
    border-radius: 50%;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}

.flickity-button:hover {
    background-color: var(--color-primary) !important;
    cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: none;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
    fill: var(--font-color);
    transform: scale(0.5);
}

body.dark .flickity-button-icon {
    fill: var(--color-primary);
}

.carousel2 .flickity-prev-next-button.next .flickity-button-icon {
   /*  transform: rotateY(180deg) scale(0.5);
    -webkit-transform: rotateY(180deg) scale(0.5);
    fill: red !important; */
}





.carousel3 .flickity-button:hover .flickity-button-icon {
    fill: #FFF !important;
}

.carousel2 .flickity-button:hover .flickity-button-icon {
    fill: #FFF !important;
}



/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
    top: 50%;
    width: 44px;
    height: 44px;
    /*border-radius: 50%;*/
    /* vertically center */
    transform: translateY(-50%);
}

.flickity-prev-next-button.previous { 
    left: 200px; 

}
    .flickity-prev-next-button.next {
        right: 200px;
    }


.carousel2 .flickity-prev-next-button.previous {
    left: -150px;
    margin-left:100%;
    position: absolute;
    top:-40px;
    
}

.carousel2 .flickity-prev-next-button.next {
    right: 30px;  
    position: absolute;
    top:-40px;
    
}

.carousel2.chat .flickity-prev-next-button.previous {
    left: -150px;
}


.carousel2.chat .flickity-prev-next-button.next {
    right: 30px;   
}

.carousel2.primary  {
   height:calc(100% - 60px);
}



.carousel2.primary .flickity-prev-next-button.previous {
    left: -120px;
    top:inherit;
    bottom:0px;  
    height: 40px;
    width: 40px;
}


.carousel2.primary .flickity-prev-next-button.next {
    right: 30px; 
    top:inherit;
    bottom:0px;  
    height: 40px;
    width: 40px;
}



.carousel3 .flickity-prev-next-button.previous {
    left: -140px;
    margin-left:100%;
    position: absolute;
    margin-top:-250px;
}

.carousel3 .flickity-prev-next-button.next {
    right: 20px;
    position: absolute;
    margin-top:-250px;
}


/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
    left: auto;
    right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */


.carousel2.primary .flickity-page-dots {
    display:none;
}



.flickity-page-dots {
    position: absolute;
    width: 100%;
    bottom: -50px;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
    display: inline-block;
    width: 40px;
    height: 4px;
    margin: 0;
    background: #C1FF00;
    border-radius: 0;
    opacity: 0.25;
    cursor: pointer;
}

.carousel2 .flickity-page-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 8px;
    background: var(--color-primary);
    border-radius: 50%;
    opacity: 0.25;
    cursor: pointer;
}

.carousel3 .flickity-page-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 8px;
    background: var(--color-primary);
    border-radius: 50%;
    opacity: 0.25;
    cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

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


    .carousel2 .flickity-prev-next-button.previous {
        left: -150px;
      /*   margin-top: -450px; */
    }

    .carousel2 .flickity-prev-next-button.next {
        right: 30px;
      /*   margin-top: -450px; */
    }


}

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

    .carousel2 .flickity-prev-next-button.previous {
        left: -150px;
        margin-left: 100%;
        position: absolute;
       /*  margin-top: -400px; */
    }

    .carousel2 .flickity-prev-next-button.next {
        right: 30px;
        position: absolute;
        /* margin-top: -400px; */
    }

    .carousel2.primary  {
        height: calc(100vh - 495px);
        height: calc(var(--vh, 1vh)* 100 - 495px);
    }

@media screen and
        (max-width:991.98px) and (min-width: 768px) and
        (max-height:700px) {
        
              .carousel2.primary {
                height: calc(100vh - 180px);
                height: calc(var(--vh, 1vh)* 100 - 180px);
            }
}








}

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

    .carousel3 .flickity-prev-next-button.next {
        right: 50px;
        position: absolute;
        margin-top: -220px;
    }

    .carousel3 .flickity-prev-next-button.previous {
        left: -170px;
        margin-left: 100%;
        position: absolute;
        margin-top: -220px;
    }

.carousel2.primary {
    height:calc(100vh - 470px); /* 370px */
    height: calc(var(--vh, 1vh) * 100 - 470px);
}
   

}


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

    .carousel2 .flickity-prev-next-button.previous {
        left: -150px;
        /* margin-top: -350px; */
    }

    .carousel2 .flickity-prev-next-button.next {
        right: 30px;
      /*   margin-top: -350px; */
    }


    section.section-services .carousel3 .flickity-prev-next-button.previous {
        margin-top: -250px;
    }


    section.section-services  .carousel3 .flickity-prev-next-button.next {
        margin-top: -250px;
    }

    .carousel2.primary .flickity-prev-next-button.previous {
        
        bottom:inherit;  
        top:30px;
        height: 35px;
        width: 35px;
        left: -105px;
    }
    
    
    .carousel2.primary .flickity-prev-next-button.next {
        bottom:inherit;  
        top:30px;
        height: 35px;
        width: 35px;
    }


.carousel2.primary {
    height:calc(100vh - 465px); /* 370px */
    height: calc(var(--vh, 1vh) * 100 - 465px);
}


}

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

  .carousel2.primary {
    height: calc(var(--vh, 1vh) * 100 - 450px);
}

.carousel2.primary .flickity-prev-next-button.previous {
        
       
        top:25px;
       
    }
    
    
    .carousel2.primary .flickity-prev-next-button.next {
       
        top:25px;
    
    }



}

@media screen and (max-width: 375.98px) {
    .carousel2.primary {
        height: calc(var(--vh, 1vh) * 100 - 390px);
    }
}