/*
Theme Name: DLS
Theme URI: 
Author: Fusion Informatics Pvt. Ltd. (Shrikant Gadkar)

/*------------------------------------------------

CSS STRUCTURE:

    
/*--------------------------------------------------------------
/** 1. VARIABLES
--------------------------------------------------------------*/
:root {
  --accent-color: #717171;
  --white-color: #fff;
  --black-color: #0C3642;
  --gray-color: #F3F3F3;
  --gray-color-300: #D8D8D8;
  --gray-color-500: #AEAEAE;
  --gray-color-800: #3A3A3A;
  --light-gray-color: #D7DDDF;
  --primary-color: #C32C1F;
  --bs-primary-rgb: 114, 174, 200;
  --light-color: #f8f9fa;
  --dark-color: #0C3642;
  --light-blue-color: #EDF1F3;
  --navbar-color-color: #0C3642x;
  --swiper-theme-color: #4A4A4A;
  --swiper-pagination-color: #4A4A4A;
  --light-red-color: #FFF2F0;

}

/* on mobile devices below 600px
 */
@media screen and (max-width: 600px) {
  :root {
    --header-height: 100px;
    --header-height-min: 80px;
  }
}

/* Fonts */
:root {
  --body-font: "Poppins", sans-serif;
  --heading-font: "Poppins", sans-serif;
}

/*----------------------------------------------*/
/* 1 GENERAL Font family */
/*----------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

/* 1.1 General Styles
/*----------------------------------------------*/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  box-sizing: border-box;
}

body {
  font-family: var(--body-font);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  margin: 0;
}
.pt-80{
  padding-top: 80px;
}
.pb-70{
  padding-bottom: 70px;
}

p {
  font-size: 1em;
  color: var(--black-color);
}

ul.inner-list li {
  font-size: 1.2em;
}

a {
  color: var(--primary-color);
  text-decoration: none;
  transition: 0.3s color ease-out;
}

a.light {
  color: var(--light-color);
}

a:hover {
  text-decoration: none;
  color: var(--primary-color);
}
.text-primary{
  color: #C32C1F !important;
}
.p-12{
  font-size: 12px;
}
.p-16{
  font-size: 16px;
}
.p-18{
  font-size: 18px;
}
.full-height{
  height: 100vh;
}
.Heading1{
  font-size: 24px !important;
  font-weight: 600 !important;
}
.Heading2{
  font-size: 18px !important;
  font-weight: 500 !important;
}
.Heading3{
  font-size: 16px !important;
  font-weight: 500 !important;
}
.Heading5{
  font-size: 16px !important;
  font-weight: 500 !important;
}
.text-elipsis{
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.text-elipsis3{
  display: block;
  display: -webkit-box;
  max-width: 100%;
  height: 62px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.5;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.form-select-sm-42{
  min-height: 42px !important;
}
.text-justify{
  text-align: justify;
}
.text-success{
  color: #79C942 !important;
}
.border-pink{
  border-color: #EAA48F !important;
}
/*=======================================
Button css
========================================*/
.btn-primary{
  background-color: #0C3642;
  color: #FFF;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 400;
  height: 52px;
  line-height: 42px;
  border-color: #0C3642;
  border-radius: 6px !important;
}
.btn-primary:hover, .btn-primary:focus{
  background-color: #0C3642;
  color: #FFF;
  border-color: #0C3642;
}
.getstarted-btn{
  position: absolute;
  bottom: 20px;
  left: 0;
}
.btn-primary.disabled, .btn-primary:disabled {
  color: #fff;
  background-color: #0C3642;
  border-color: #0C3642;
  opacity: 0.1;
}
.btn-sm {
  padding: 0.15rem 0.3rem !important;
  font-size: .875rem !important;
  border-radius: 0.2rem;
  height: 42px !important;
  line-height: 38px !important;
}
.info-icon-btn{
  top: 3px;
  position: relative;
  margin-left: 5px;
}

/*========================================
Splash Screen CSS
==========================================*/
.light-theme-bg{
  background-color: var(--light-red-color);
}
.intro-wrapper {
  /* background-color: var(--light-red-color); */
  position: relative;
  width: 100%;
  height: 100vh;
}
.intro-wrapper .shape1 {
  position: absolute;
  top: 10%;
  right: 15%;
}
.intro-wrapper .shape2 {
  position: absolute;
  top: 10%;
  right: 60%;
}
.intro-wrapper .shape3 {
  position: absolute;
  bottom: 10%;
  left: 0;
}
.intro-wrapper .shape4 {
  position: absolute;
  bottom: 0;
  left: 15%;
}
.splashscreen-wrapper{
    position: relative;
    width: 100%;
    min-height: 100vh;
    /* background:var(--light-red-color);    */
    z-index: 10;
    overflow-y: auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
    overflow-x: hidden;
}
.splash-title{
  font-size: 22px;
  font-weight: 600;
  text-transform: capitalize;
}
.splashscreen-wrapper::before{
  content: "";
    width: 100%;
    height: 540px;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    background: #FFE8E4;
    border-radius: 0 0 100% 100%;
}

#SplashScreenBanner .getstarted-btn{
  position: absolute;
  bottom: 0px;
  left: auto;
}
/*==========================================
Registration and Login
==========================================*/
.registration-header{
  position: fixed;
  width: 100%;
  min-height: fit-content;
  top: -30px;
  left: 0;
  z-index: 1;
}
.registration-header .image-holder{
  width: 130px;
  height: 130px;
  margin: 30px auto;

}
.registration-header .image-holder img{
  width: 130px;
  height: 130px;
}
.top270{
  padding-top: 270px;
}
.form-group{
  position: relative;
  margin-bottom: 15px;
}
.form-group label{
  color: #0C3642;
  font-size: 15px;
  font-weight: 400;
  margin-bottom: 10px;
}
.form-control {
  display: block;
  width: 100%;
  min-height: 52px;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #C7CED9;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 6px;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-select {
  min-height: 52px; 
  border: 1px solid #C7CED9;
}

.Login-header{
  display: block;
  padding: 30px 0;
}
.Login-header .image-holder{
  display: block;
  text-align: center;
}
.form-control-icon{
  position: absolute;
  top: 46px;
  right: 15px;
  cursor: pointer;
  color: #9e9e9e;
  font-size: 1.2rem;
}
.form-control.is-invalid, .was-validated .form-control:invalid{
  background-image: none;
}
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: .875em;
  color: #C32C1F;
}
.form-check-input:checked {
  background-color: #79C942;
  border-color: #79C942;
}
/*===========================================
Timer circle
============================================*/
circle {
  transition: all 1s linear;
}
#c1 {
  transition: all 1s linear;
  stroke: #CBDDF1;
  stroke-width: 3;
  stroke-linecap: round;
  fill: transparent;
}

#c2 {
  transition: all 1s linear;
  stroke: #79C942;
  stroke-width: 3;
  stroke-linecap: round;
  fill: transparent;
}

#counterText {
  -webkit-animation: heartBeat 1s infinite;
  animation: heartBeat 1s infinite;
}

@-webkit-keyframes heartBeat {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes heartBeat {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/*==========================================
Header CSS
==========================================*/
header{
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #C32C1F;
  padding: 1rem 0;
  margin-bottom: 1rem;
  z-index: 1050;
}
ul.header-user{
  margin: 0;
  padding: 0;
}
ul.header-user li{
  display: inline-block;
  margin-left: 15px;
}
ul.header-user li a{
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 100%;
  background-color: #B51E11;
  text-align: center;
  line-height: 32px;
}
ul.header-user li a .avtar{
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 100%;
  border: 1px solid #FFF;
}
ul.header-user li a .avtar img{
  width: 32px;
  height: 32px;
  object-fit: cover;
  border-radius: 100%;
}
.headerTitle{
  font-size: 20px;
  color: #FFF;
  font-weight: 500;
  text-transform: capitalize;
  margin-bottom: 0;
}
.largeTitle{
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 0;
}
/*============================================
Card Styling
=============================================*/
.flatCard{
  background-color: #F5F4F1;
  border-radius: 12px;
  position: relative;
}
.cardLigtYellow{
  background-color: #EDDCAD;
  border-radius: 12px;
}
.cardLigtSeagreen{
  background-color: #9BE4D7;
  border-radius: 12px;
}
.cardLigtPink{
  background-color: #F6C2D4;
  border-radius: 12px;
}
.cardLigtYellow p, .cardLigtSeagreen p, .cardLigtPink p{
  margin-bottom: 0;
}
.flatCard .arrow, .card .arrow{
  position: absolute;
  top:35%;
  right: 5px;
  font-size: 1.5rem;
}
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0,0,0,.125);
  border-radius: 12px;
}

.completed-icon{
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 2rem;
  color: #79C942;
}
.darkcard{
  background-color: #EDE9DC;
  border-radius: 12px; 
}

/*======================================
Progress bar styling
======================================*/
.progressvalu{
  display: block;
}
.progressvalu .milestone{
  width: 19%;
  color: #0C3642;
  opacity: 0.5;
  display: inline-block;
  text-align: center;
  margin-top: 5px;
}
.progresswrapper{
  position: relative;
  padding-top: 12px;
  margin: 30px 0;
}
.car-icon-0{
  position: absolute;
  top: -4px;
  left: 0;
}
.car-icon-25{
  position: absolute;
  top: -4px;
  left: 20%;
}
.progress {
  height: 1.2rem;
  background-color: #D3E3FD;
  border-radius: 30px
}

.progress-bar {
  background-color: #79C942;
}

@keyframes growProgressBar {
  0%,
  33% {
    --pgPercentage: 0;
  }
  100% {
    --pgPercentage: var(--value);
  }
}

@property --pgPercentage {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}

div[role="progressbar-circle"] {
  --size: 6rem;
  --fg: #79C942;
  --bg: #D3E3FD;
  --pgPercentage: var(--value);
  animation: growProgressBar 3s 1 forwards;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(
      closest-side,
      #F5F4F1 80%,
      transparent 0 99.9%,
      #F5F4F1 0
    ),
    conic-gradient(var(--fg) calc(var(--pgPercentage) * 1%), var(--bg) 0);
  font-size: calc(var(--size) / 5);
  color: #000;
}

div[role="progressbar-circle"]::before {
  counter-reset: percentage var(--value);
  content: counter(percentage) "%";
}
/*==========================================
Mobile swiper slider
==========================================*/
.slider {
  margin: 0 auto;
  max-width: 1200px;
}

.swiper-container {
  padding-bottom: 20px;
}

.swiper-scrollbar {
  background: #d6d6d6;
}

.swiper-container-horizontal > .swiper-scrollbar {
  border-radius: 2px;
  height: 5px;
  width: 200px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.swiper-wrapper img {
  width: 100%;
}
.card-Video{
  width: 160px;
  height: 170px;
  border-radius: 4px;
  position: relative;
}
.card-Video img{
  width: 100%;
  height: 100%;
  border-radius: 4px;
  object-fit:cover;
}
.card-Video .card-overlay{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  transition: .5s ease;
  background-color: rgba(0,0,0,0.15);
  border-radius: 4px;
}
.card-Video .card-overlay .bookmark-action::before{
  position: absolute;
  top: 10px;
  right: 10px;
  color: #FFF;
  content: "\F1A2";
  font-family: "bootstrap-icons";
}
.card-Video .card-overlay .bookmark-action.active::after{
  position: absolute;
  top: 10px;
  right: 10px;
  content: "\F199";
  font-family: "bootstrap-icons";
  color: #FFF;
}
.card-Video .card-overlay .play-btn{
  position: absolute;
  top: 30%;
  left: 40%;
  color: #FFF;
  font-size: 2.5rem;
  right: auto;
}
.card-Video .card-overlay .access-denied{
  position: absolute;
  top: 80%;
  width: 240%;
  left: -30px;
  text-align: center;
  color: #FFF;
  font-size: 12px;
  display: block;
}
.card-Video .card-overlay .video-title{
  position: absolute;
  bottom: 0;
  left: auto;
  width: 100%;
  padding: 12px 15px;
}
.card-Video .card-overlay .video-title p{
  color: #FFF;
  margin-bottom: 0px;
  font-weight: 400;
}
.swiper-button-next, .swiper-button-prev{
  display: none !important;
}
.swiper-scrollbar{
  display: none !important;
}

#video-container {
  /* position: absolute; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  overflow: hidden;
}
.touch #video-container {
  background: url(http://xtianmiller.com/dist/videos/winter_creek.jpg) no-repeat center;
  background-size: cover;
}

video {
  width: 100%;
  height: 100%;
}
.touch video {
  display: none;
}
/*===========================================
Profile setting
===========================================*/
ul.profilenav{
  margin: 0;
  padding: 0;
}
ul.profilenav li{
  display: block;
  margin-bottom: 15px;
}
ul.profilenav li a{
  display: block;
  padding: 15px;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  color: #000;
}

ul.profilenav li a p{
  margin-bottom: 0px;
}
ul.profilenav li a:hover, ul.profilenav li a.active{
 color: #000;
 background-color: #F5F4F1;
}
.profile-image{
  width: 175px;
  height: 175px;
  position: relative;
  border-radius: 100%;
  margin: auto;
  padding: 10px;
  border: 1px dashed #C32C1F;
  margin-bottom: 15px;
}
.profile-image img{
  width: 100%;
  height: 100%;
  border-radius: 100%;
}
.input--file {
  right: 0;
  position: absolute;
  color: #fff;
  bottom: 20px;
  width: 42px;
  height: 42px;
  line-height: 42px;
  text-align: center;
  background: #0C3642;
  border-radius: 50%;
  font-size: 1.5rem;
  cursor: pointer;
  text-align: center;

}

.input--file input[type="file"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 42px;
  cursor: pointer;
}
.avtar64{
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 100%;
}
.avtar64 img{
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  object-fit: cover;
}
.avtar32{
  position: relative;
  width: 32px;
  height: 32px;
  border-radius: 100%;
}
.avtar32 img{
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  object-fit: cover;
}
.avtar40{
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 100%;
}
.avtar40 img{
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  object-fit: cover;
}
/*==========================================
Modal Styling
==========================================*/
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, .2);
  border-radius: 12px;
  outline: 0;
}
.btn-close {
  padding: 0.5rem 0.5rem;
  margin: -0.5rem -0.5rem -0.5rem auto;
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 1.2rem;
  opacity: 1;
  z-index: 1;
}

/*==========================================
Humbergur Menu navigation
===========================================*/
.offcanvas {
  z-index: 9999;
}
.offcanvas-start{
  width: 350px;
}
.offcanvas-backdrop{
  z-index: 1051;
}
.offcanvas-Menuheader{
  display: block;
  background-color: var(--primary-color);
  color: #FFF;
  padding: 30px 15px;
}
.offcanvas-Menuheader p{ 
  color: #FFF;
}
.offcanvas-btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  position: absolute;
  top: 10px;
  right: 10px;
  background: transparent;
  outline: none;
  box-shadow: none;
  border: none;
  font-size: 1.5rem;
}
.humbergurNavigation ul{
  margin: 0;
  padding: 0;
}
.humbergurNavigation ul li{
  display: block;
  margin-bottom: 15px;
}
.humbergurNavigation ul li a {
  display: block;
  padding: 15px;
  color: #0C3642;
  position: relative;
  font-size: 1rem;
}
.humbergurNavigation ul li a::before {
 content: "\F285";
 font-family: "bootstrap-icons";
 position: absolute;
 top: 15px;
 right: 15px;
}
.humbergurNavigation ul li a.active {
  color: var(--primary-color);
  background-color: #FFE2E0;
  border-radius: 6px;
}

/*===========================================
Footer Styling
===========================================*/
footer{
  position: fixed;
  width: 100%;
  bottom: 0;
  background-color: #FFF;
  border-top: 1px solid #C7CED9;
  padding: 15px 0;
  z-index: 1050;
}
.flex-container {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
}
.space-between { 
  justify-content: space-between; 
}
.space-between li {
  display: inline-flex;
}
.space-between li a{
  display: block;
  font-size: 1.5rem;
  color: #0C3642;
}
.space-between li a.active{
  color: #B51E11;
}
/*=========================================
Vertical Center content
=========================================*/
.vcenter-container{  
    position: relative;
    width: 100%;
    height: 350px;
    background-color: gainsboro;
}
.vcenter-box{
  height: 150px;
  width: 150px;
  background-color: lightblue;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/*====================================
File upload with preview
========================================*/
#picture__input {
  display: none;
}
#picture__input2 {
  display: none;
}

.picture {
  width: 100%;
  aspect-ratio: 16/9;
  background: #F5F4F1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  border: 2px dashed #D9D9D9;
  cursor: pointer;
  transition: color 300ms ease-in-out, background 300ms ease-in-out;
  outline: none;
  overflow: hidden;
  border-radius: 6px;
}

.picture:hover {
  color: #777;
  background: #ccc;
}

.picture:active {
  border-color: turquoise;
  color: turquoise;
  background: #eee;
}

.picture:focus {
  color: #777;
  background: #ccc;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.picture__img {
  max-width: 100%;
}
.picture__img2 {
  max-width: 100%;
}
.picture .uploadicon{
  position: absolute;
  top: 50%;
  left: 50%;
}

/*==========================================
Rating & Review
==========================================*/
.star-rating {
  display:flex;
  flex-direction: row-reverse;
  font-size:2em;
  justify-content:space-around;
  text-align:center;
  width:100%;
  margin-left: -8px;
}
.star-rating input {
  display:none;
}
.star-rating label {
  color:#ccc;
  cursor:pointer;
  margin-right: 5px;
}
.star-rating :checked ~ label {
  color:#C32C1F;
}
.star-rating label:hover,
.star-rating label:hover ~ label {
  color:#C32C1F;
}
.totalreviewtext{
  position: absolute;
  font-size: 12px;
  bottom: 50px;
}


ul.Showrating{
  margin: 0;
  padding: 0;
  list-style-type: none;
}
ul.Showrating li{
 display: inline-block;
 padding: 5px;
 color: #B51E11;
 font-size: 1.2rem;
}


/*============================================
Media Query CSS
=============================================*/
@media only screen and (min-width: 1400px) {
  .container {
    max-width: 760px;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media (min-width: 320px) and (max-width: 767px) {
  .container {
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }

}

@media (min-width: 320px) and (max-width: 430px) {
  .splashscreen-wrapper::before{
      width: 130%;
      height: 500px;
  }
}
@media only screen and (min-device-width: 430px) and (max-device-width:480px){
  .splashscreen-wrapper::before{
    width: 130%;
    height: 500px;
}
}
/*Tabnlet Device media query*/
@media only screen and (min-device-width: 768px) and (max-device-width:1024px){
  .container {
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.datepicker.datepicker-dropdown, .datepicker.datepicker-inline {
    padding: 0;
    width: 30%;
    max-width: 500px;
    min-width: 250px;
}

.datepicker > div {
    display: initial;
    padding: .375rem .75rem;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    text-align: center;
    white-space: nowrap;
    border-radius: 2px;
}

.datepicker.datepicker-dropdown .datepicker-days table.table-condensed, .datepicker.datepicker-inline .datepicker-days table.table-condensed {
    width: 100%;
}

.table-bordered > tbody > tr:nth-of-type(odd) > * {
    background-color: #f8f9fa;
    color: #495057;
}

.detail-tbl {
    border: 1px solid #c6c9cb;
}
    .detail-tbl > tbody > tr > td{border-width:1px;}