@font-face {
    font-family: "monster";
    src: url(../fonts/Montserrat.ttf);
    font-style: normal;
    font-variant: normal;
}
@font-face {
    font-family: "monster";
    src: url(../fonts/Montserrat-Italic.ttf);
    font-style: italic;
    font-variant: italic;
}

@font-face {
    font-family: bootstrap-icons;
    src: url(../fonts/bootstrap-icons.woff) format('woff'), url(../fonts/bootstrap-icons.woff2) format('woff2');
}
:root{
    --Primary-Color:#18a99e;
    --Secondary-Color:#F9F871;
    --Tertiary-Color:#FFFFFF;
    --Fourth-Color:#0f0f0f;
    --Fifth-Color:#007273;
    --Accent-Color:#324B4B;
    --Secondary-Accent:#50357C;
}
.custom-icon{
    font-family: bootstrap-icons !important;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: 500;
}
.custom-icon.envelope:before{
    content:'\f32c';
}
.custom-icon.star-fill:before{
    content:'\F586';
}
.custom-icon.phone:before{
    content:'\F5B4';
}
.custom-icon.whatsapp:before{
    content:'\f618';
}
.custom-icon.skype:before{
    content:'\f656';
}
.custom-icon.burger:before{
    content:'\F479';
    font-size: 1.6rem;
    font-weight: bold;
}

.custom-icon.cross-x:before{
    content:'\F62A';
    font-size: 1.6rem;
    font-weight: bold;
}

.custom-icon.cart:before{
    content:'\F244';
    font-size: 1.3rem;
    color: #fff;
}

.custom-icon.cart{
   background-color: var(--Secondary-Accent);
   border-radius: 4px;
   position: relative;
   display: block;
   padding: 6px 9px;
}
.custom-icon.cart .count{
    padding: 4px 8px;
    border-radius: 50%;
    background-color: #282828;
    color: #fff;
    display: block;
    position: absolute;
    top: -11px;
    right: -13px;
 }

a:link .custom-icon.cart,a:visited .custom-icon.cart,a .custom-icon.cart{
    color:#000;
}


button.custom-icon{
    border:none;
    background-color:transparent;
}

button.custom-icon::before{
    font-size: 1rem !important;
}


p{
    word-break:break-word;
}


.contact{
    display: flex;
    gap:8px;
}

h1,h2,h3,h4,h5,h6,body{
    font-family:'monster';
    font-weight: 600;
}
h1{
    font-size:2.2rem;
}
h2{
    font-size:1.8rem;
}
strong{
    font-weight: 700 !important;
}
.bg-primary{
    background-color: var(--Primary-Color) !important;
}
.bg-fifth{
    background-color:var(--Fifth-Color) !important;
}
.bg-fifth *{
    color: #ffffff;
   transition: color 0.3s ease;
}
.bg-fifth a,.bg-fifth a:visited,.bg-fifth a:active,.bg-fifth a:link{
    color: #ffffff;
 }
.bg-fifth a:hover{
    color: var(--Secondary-Color);
 }
.bg-primary *{
   color: #ffffff;
   transition: color 0.3s ease;
}
.bg-secondary{
    background-color: var(--Accent-Color) !important;
}
.bg-secondary *{
   color: #ffffff !important;
   transition: color 0.3s ease;
}
.bg-secondary a,.bg-secondary a:link,.bg-secondary a:visited{
    color: #ffffff;
    transition:color 0.3s ease;
}
.bg-secondary a:hover{
    color: var(--Secondary-Color);
}
.bg-primary a,.bg-primary a:visited,.bg-primary a:active,.bg-primary a:link{
    color: #ffffff;
 }
.bg-primary a:hover{
    color: var(--Secondary-Color);
 }

.bg-acc-sec{
    background-color: var(--Secondary-Accent);
    color:#fff;
}
.bg-acc-sec a,.bg-acc-sec a:link,.bg-acc-sec a:visited{
    color:#fff !important;
}
.txt-acc-sec{
    color:var(--Secondary-Accent);
}

.notification{
    padding: 15px 25px;
    font-weight: 600;
    border-radius: 12px;
    border:2px solid;
    margin-bottom: 1rem!important;
}
.notification p{
    margin-bottom:0;
}

.h-min-100{
    min-height: 100vh;
}



.notification.warning{
    background-color: #f8d597;
    border-color: #ca9840;
    color:#000;
}
.notification.success{
    background-color: #7cebb7;
    border-color: #1a7249;
    color:#000000;
}


.bg-light{
    background-color: var(--Tertiary-Color) !important;
}
.bg-light *{
   color: var(--Fourth-Color);
   transition: color 0.3s ease;
}
.bg-light a,.bg-light a:visited,.bg-light a:active,.bg-light a:link{
    color: var(--Fourth-Color);
 }
.bg-light a:hover{
    color: var(--Primary-Color);
 }


a,a:visited,a:active,a:link{
    text-decoration: none;
    color: #2786C3;
    transition: color 0.3s ease;
}

a:hover{
    color: var(--Primary-Color);
}

.icon{
    width: 20px;
    display: block;
    height: 20px;
    position: relative;
}
.icon:after{
    content: "";
    width: 20px;
    display: block;
    background-color: var(--Fourth-Color);
    transition: color 0.3s ease;
    transition: background-color 0.3s ease;
    position: absolute;
    z-index: 9999;
    height: 20px;
    transform: rotate(0deg);
    transition: transform 0.3s ease;
    -webkit-mask-size: cover;
    mask-size: cover;
}
.icon.icon-phone:after{
    -webkit-mask: url(../icons/telephone-fill.svg) no-repeat 50% 50%;
    mask: url(../icons/telephone-fill.svg) no-repeat 50% 50%;
}
.icon.icon-wa:after{
    -webkit-mask: url(../icons/whatsapp.svg) no-repeat 50% 50%;
    mask: url(../icons/whatsapp.svg) no-repeat 50% 50%;
}
.icon.icon-mail:after{
    -webkit-mask: url(../icons/envelope-fill.svg) no-repeat 50% 50%;
    mask: url(../icons/envelope-fill.svg) no-repeat 50% 50%;
}
.icon.icon-burger:after{
    -webkit-mask: url(../icons/list.svg) no-repeat 50% 50%;
    mask: url(../icons/list.svg) no-repeat 50% 50%;
}


body.base .background{
    position: absolute;
    top:0px;
    width:100%;
    height: 600px;
    background-color: var(--Primary-Color);
    z-index: -1;
}

a.link-white,a:link.link-white,a:visited.link-white,a:active.link-white{
    color:#ffffff;
}

.main-heading{
    text-align: center;
    margin: 40px auto 60px;
    text-transform: uppercase;
}
.main-heading .sub-heading{
    font-size: 1rem;
    margin-top:8px;
}

.bg-image{
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.btn{
    padding: 12px 18px;
    transition:all 0.2s ease !important;
    border-radius:3px;
}

.btn.btn-primary,a.btn-primary:visited,a.btn-primary:link{
    background-color: var(--Primary-Color);
    color: #fff !important;
    border: var(--Primary-Color);
}

.btn.btn-primary:hover,a.btn-primary:hover:visited,a.btn-primary:hover:link{
    background-color: var(--Fifth-Color);
    color: #fff;
    border: var(--Fifth-Color);
}


.form input,.form textarea{
    border: none;
    border-radius:2px;
    padding:10px 6px;
    margin-bottom: 12px;
    width: 100%;
}
img{
    width: 100%;
    height: auto;
}
.logo{
    max-width: 90px;
}

.slick-list{
    padding: 10px 0;
}
.slick-prev:before, .slick-next:before {

    color: black !important;
}


.btn.bg-acc-sec:hover{
    background-color: #2f1b50;
    color: #fff;
}


.btn.btn-accent{
    background-color: #2f1b50;
    color: #fff;
}
.btn.btn-accent:hover{
    background-color: #120824;
    color: #ffffff;
}

.btn.btn-accent-inverse{
    background-color: #120824;
    color: #fff;
}
.btn.btn-accent-inverse:hover{
    background-color: #2f1b50;
    border:1px solid #fff;
    color: #ffffff;
}


.background-white{
    background-color: #fff;
}

.background-primary{
    background-color: var(--Primary-Color)
}
.background-primary *{
    color: var(--Tertiary-Color)
}

.form-group .form-control{
    margin-bottom: 8px;
}

.loader-overlay{
    position: fixed;
    height: 100vh;
    width: 100vw;
    background-color:#000000d7;
    z-index: 999999;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 15px;
    display: none;
}
body.loading .loader-overlay{
    display: flex;
}
.loader-overlay .message{
    color: #fff;
}

.sp {
	width: 32px;
	height: 32px;
	clear: both;
	margin: 20px auto;
}

/* Spinner Wave */
.sp-wave {
    border-radius: 50%;
    position: relative;
    opacity: 1;
  }
  
  .sp-wave:before, .sp-wave:after {
    content: "";
    border: 1px #fff solid;
    border-radius: 50%;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0px;
  }
  
  .sp-wave:before {
    transform: scale(1, 1);
    opacity: 1;
    -webkit-animation: spWaveBe 0.6s infinite linear;
    animation: spWaveBe 0.6s infinite linear;
  }
  
  .sp-wave:after {
    transform: scale(0, 0);
    opacity: 0;
    -webkit-animation: spWaveAf 0.6s infinite linear;
    animation: spWaveAf 0.6s infinite linear;
  }
  
  @-webkit-keyframes spWaveAf {
    from {
      -webkit-transform: scale(0.5, 0.5);
      opacity: 0;
    }
    to {
      -webkit-transform: scale(1, 1);
      opacity: 1;
    }
  }
  @keyframes spWaveAf {
    from {
      transform: scale(0.5, 0.5);
      opacity: 0;
    }
    to {
      transform: scale(1, 1);
      opacity: 1;
    }
  }
  @-webkit-keyframes spWaveBe {
    from {
      -webkit-transform: scale(1, 1);
      opacity: 1;
    }
    to {
      -webkit-transform: scale(1.5, 1.5);
      opacity: 0;
    }
  }
  @keyframes spWaveBe {
    from {
      -webkit-transform: scale(1, 1);
      opacity: 1;
    }
    to {
      -webkit-transform: scale(1.5, 1.5);
      opacity: 0;
    }
  }


.btn-mini{
    font-size: 0.9rem;
    padding: 5px 7px;
    height: fit-content;
}

.btn.btn-danger{
    color:#fff;
}




/** These are specific for the tag that will be added to the rich text content */
.trix-content .attachment-gallery > .attachment,
.trix-content .attachment-gallery > rich-text-attachment {
    flex: 1 0 33%;
    padding: 0 0.5em;
    max-width: 33%;
}

.trix-content .attachment-gallery.attachment-gallery--2 > .attachment,
.trix-content .attachment-gallery.attachment-gallery--2 > rich-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--4 > .attachment,
.trix-content .attachment-gallery.attachment-gallery--4 > rich-text-attachment {
    flex-basis: 50%;
    max-width: 50%;
}

.trix-content rich-text-attachment .attachment {
    padding: 0 !important;
    max-width: 100% !important;
}

/** These are TailwindCSS specific tweaks */
.trix-content {
    @apply w-full;
}

.trix-content h1 {
    font-size: 1.25rem !important;
    line-height: 1.25rem !important;
    @apply leading-5 font-semibold mb-4;
}

.trix-content a:not(.no-underline) {
    @apply underline;
}

.trix-content ul {
    list-style-type: disc;
    padding-left: 2.5rem;
}

.trix-content ol {
    list-style-type: decimal;
    padding-left: 2.5rem;
}

.trix-content img {
    margin: 0 auto;
}

.seperator{
    content:' ';
    width:100%;
    height:2px;
    margin-top:25px;
    margin-bottom:25px;
    background-color:#c3c3c3;
}
