.text-default {
    color: #7a6ad8 !important;
}
.text-bold{
    font-weight: bold !important;
}
.text-normal{
    font-weight: normal !important;
}
.text-justify{ text-align: justify !important; }
.font-10 { font-size: 10px; }
.font-11 { font-size: 11px; }
.font-12 { font-size: 12px; }
.font-13 { font-size: 13px; }
.font-14 { font-size: 14px; }
.font-15 { font-size: 15px; }
.font-16 { font-size: 16px; }
.font-17 { font-size: 17px; }
.font-18 { font-size: 18px; }
.font-19 { font-size: 19px; }
.font-20 { font-size: 20px; }

@media (max-width: 992px) {
    .mb-100 {
        margin-bottom: 100px;
    }
    .owl-testimonials .item {
        min-height: 510px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
}
/* pre loader css */
#preloader{
    display:none;
    position:fixed;
    inset:0;
    background:#fff;
    z-index:999999;
    justify-content:center;
    align-items:center;
}
#preloader.hide{
    opacity:0;
    visibility:hidden;
}
.preloader-content{
    text-align:center;
}
.preloader-logo{
    width:220px;
    max-width:80%;
    margin-bottom:20px;
    animation:logoPulse 1.8s infinite ease-in-out;
}
.loading-dots{
    display:flex;
    justify-content:center;
    gap:10px;
}
.loading-dots span{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#7a6ad8;
    animation:dotBounce 1.2s infinite ease-in-out;
}
.loading-dots span:nth-child(2){
    animation-delay:.2s;
}
.loading-dots span:nth-child(3){
    animation-delay:.4s;
}
.loading-dots span:nth-child(4){
    animation-delay:.6s;
}
@keyframes dotBounce{
    0%,80%,100%{
        transform:scale(.5);
        opacity:.3;
    }
    40%{
        transform:scale(1.3);
        opacity:1;
    }
}
@keyframes logoPulse{
    0%,100%{
        transform:scale(1);
    }
    50%{
        transform:scale(1.05);
    }
}
/* pre loader css end */
/* appointment time slot css */
.time-slots{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.time-slot{ cursor:pointer; }
.time-slot input{ display:none; }
.time-slot span{
    display:block;
    padding:8px 5px;
    text-align:center;
    border:1px solid #7a6ad8;
    border-radius:25px;
    font-size:13px;
    font-weight:500;
    background:rgba(249, 235, 255, 0.15);
    transition:.2s;
    color: white;
}
.time-slot:hover span{ border-color:#7a6ad8; color:#7a6ad8; }
.time-slot input:checked + span{ background:#0d6efd; color:#fff; border-color:#0d6efd; }
@media(max-width:768px){
    .time-slots{ grid-template-columns:repeat(2,1fr); }
    .time-slot span{ font-size:12px; }
}
/* appointment time slot css end */
/* map section */
.map-container {
    padding: 8px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08), 0 15px 40px rgba(0, 0, 0, 0.12);
    transition: all .3s ease;
}
.map-container:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.12), 0 25px 50px rgba(0, 0, 0, 0.18);
}
.map-container iframe {
    width: 100%;
    height: 400px;
    border: none;
    border-radius: 12px;
}
/* map section end */
.contact-section {
  margin-top: 50px;
  position: relative;
  padding: 30px 0px;
}
@media (max-width: 992px) {
    .contact-section {
        margin-top: 20px;
    }
}
.contact-section:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: #f1f0fe;
  content: '';
  border-top-right-radius: 500px;
  border-bottom-right-radius: 500px;
}
.contact-section  .section-heading {
  margin-right: 0px;
  margin-bottom: 0px;
}
.contact-section  .section-heading p {
  margin-top: 50px;
}
.contact-section .special-offer {
  background-color: #fff;
  border-radius: 25px;
  padding: 30px 30px;
  /* padding: 30px 120px; */
  /* display: inline-block; */
  position: relative;
}
.contact-section .special-offer h6 {
  font-size: 15px;
  color: #4a4a4a;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 15px;
}
.contact-section .special-offer h4 {
  font-size: 22px;
  font-weight: 600;
}
/* footer section */
.footer p, .footer li, .footer small {
    line-height: 1.8;
}
.footer h5 {
    font-weight: 600;
    margin-bottom: 20px;
}
.footer-links {
    padding: 0;
    margin: 0;
}
.footer-links li {
    margin-bottom: 10px;
}
.footer-links a {
    color: #cbd5e1;
    text-decoration: none;
    transition: .3s;
}
.footer-links a:hover {
    color: #ffffff;
    padding-left: 5px;
}
.footer hr {
    opacity: .15;
}
.footer_left img {
    height: 43px;
    width: 172px;
}
@media (max-width: 767.98px) {
    .footer_left img {
        display: block;
        margin: 0 auto;
    }
}
.footer_left p {
    text-align: left;
}
.footer_right ul li {
    color: white !important;
}
@media (max-width: 767px) {
    .footer_left p, .footer {
        text-align: center;
    }
    .footer img {
        display: block;
    }
    .footer h5 {
        margin-top: 10px;
    }
}
/* footer section end */
