/*
Theme Name: Pisole
Author: pixydrops
Author URI: https://themeforest.net/user/pixydrops
Description: Pisole - Digital Creative Agency Html Template 
Version: 1.0.0
*/
/*CSS Table Of Content Ends Here*/
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed: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");
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap");

/* YaldeviColombo Font Face */
@font-face {
  font-family: 'YaldeviColombo';
  src: url('../webfonts/YaldeviColombo-Regular.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

/* AF-Sigiri Font Face */
@font-face {
  font-family: 'AF-Sigiri';
  src: url('../webfonts/AF-Sigiri.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root {
  --body: #fff;
  --black: #000;
  --white: #fff;
  --theme: #ed3b3b;
  --theme2: #ed3b3b;
  --header: #171717;
  --text: #777777;
  --border: #d7d7d7;
  --border-2: #D4DCED;
  --bg: #F3F7FB;
  --box-shadow: 0px 4px 25px 0px rgba(0, 0, 0, 0.06);
}

.theme-btn {
  background-color: var(--theme);
  color: var(--white);
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  padding: 24px 50px;
  border-radius: 0;
  text-transform: uppercase;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  position: relative;
  z-index: 1;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Barlow Condensed", sans-serif;
  text-align: center;
}
.theme-btn::before {
  content: "";
  background-color: var(--header);
  width: 0;
  height: 50%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  z-index: -1;
}
.theme-btn::after {
  content: "";
  background-color: var(--header);
  width: 0;
  height: 50%;
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  z-index: -1;
}
.theme-btn:hover {
  color: var(--white);
}
.theme-btn:hover::before, .theme-btn:hover::after {
  width: 100%;
}

.link-btn {
  text-transform: uppercase;
  color: var(--text);
  font-weight: 500;
  display: inline-block;
  font-size: 12px;
}
.link-btn i {
  margin-right: 5px;
}
.link-btn:hover {
  color: var(--header);
}

/* --------------------------------------------
    Template Default Fonts & Fonts Styles
 ---------------------------------------------- */
body {
  font-family: 'Manrope', "Noto Sans Sinhala", sans-serif;
  font-size: 20px;
  font-weight: normal;
  line-height: 28px;
  color: var(--text);
  background-color: var(--white);
  padding: 0;
  margin: 0;
  overflow-x: hidden;
}

ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

button {
  border: none;
  background-color: transparent;
  padding: 0;
}

input:focus {
  color: var(--white);
  outline: none;
}

input {
  color: var(--white);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Barlow Condensed', "Noto Sans Sinhala", sans-serif;
  margin: 0px;
  padding: 0;
  color: var(--header);
  text-transform: uppercase;
  transition: all 0.4s ease-in-out;
}

h1 {
  font-size: 110px;
  font-weight: 700;
  line-height: 123%;
}

h2 {
  font-size: 60px;
  line-height: 125%;
  font-weight: 600;
  font-family: 'AF-Sigiri', sans-serif;
}
@media (max-width: 1199px) {
  h2 {
    font-size: 50px;
  }
}
@media (max-width: 767px) {
  h2 {
    font-size: 44px;
  }
}
@media (max-width: 575px) {
  h2 {
    font-size: 36px;
  }
}

h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 140%;
}
@media (max-width: 575px) {
  h3 {
    font-size: 20px;
  }
}

h4 {
  font-size: 20px;
  font-weight: 700;
  line-height: 130%;
}

h5 {
  font-size: 18px;
  font-weight: 700;
}

h6 {
  font-size: 16px;
  font-weight: 600;
  line-height: 145%;
}

a {
  text-decoration: none;
  outline: none !important;
  cursor: pointer;
  color: var(--header);
  transition: all 0.4s ease-in-out;
}

p {
  font-family: 'YaldeviColombo', 'Noto Sans Sinhala', sans-serif;
  margin: 0px;
  transition: all 0.4s ease-in-out;
}

span {
  margin: 0px;
  transition: all 0.4s ease-in-out;
}

.about-wrapper .about-image {
  position: relative;
  max-width: 475px;
}
@media (max-width: 1199px) {
  .about-wrapper .about-image {
    max-width: 900px;
  }
}
.about-wrapper .about-image img {
  width: 100%;
  height: 100%;
}
.about-wrapper .about-image .left-shape {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}
.about-wrapper .about-image .about-image-2 {
  position: absolute;
  bottom: 0;
  right: -28%;
}
@media (max-width: 1199px) {
  .about-wrapper .about-image .about-image-2 {
    right: 0;
  }
}
.about-wrapper .about-image .about-image-2 .title {
  position: absolute;
  right: 0;
  top: -115px;
}
@media (max-width: 1199px) {
  .about-wrapper .about-image .about-image-2 .title {
    display: none;
  }
}
.about-wrapper .about-image .about-image-2 .title .arrow-image {
  margin-bottom: 10px;
  animation: rounded 5s linear infinite;
}
.about-wrapper .about-image .about-image-2 .title h5 {
  text-transform: uppercase;
}
.about-wrapper .about-content {
  margin-left: 70px;
}
@media (max-width: 1199px) {
  .about-wrapper .about-content {
    margin-left: 0;
  }
}
.about-wrapper .about-content .about-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 25px;
}
@media (max-width: 1199px) {
  .about-wrapper .about-content .about-area {
    flex-wrap: wrap;
    gap: 30px;
  }
}
.about-wrapper .about-content .about-area .about-items .title {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.about-wrapper .about-content .about-area .about-items .title .number {
  position: relative;
  padding-right: 30px;
  margin-right: 5px;
  color: var(--theme);
  font-size: 18px;
  font-weight: 700;
}
.about-wrapper .about-content .about-area .about-items .title h5 {
  position: relative;
}
.about-wrapper .about-content .about-area .about-items .title h5::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  width: 23px;
  height: 2px;
  display: inline-block;
  background-color: var(--theme);
  top: 50%;
  left: -28px;
}
.about-wrapper .about-content .pro-items {
  margin-top: 30px;
  margin-bottom: 30px;
}
.about-wrapper .about-content .pro-items .pro-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.about-wrapper .about-content .pro-items .pro-head .title {
  font-size: 20px;
  font-weight: 600;
  color: var(--header);
}
.about-wrapper .about-content .pro-items .pro-head .point {
  font-size: 16px;
  font-weight: 400;
  color: var(--header);
}
.about-wrapper .about-content .pro-items .progress {
  background: transparent;
  justify-content: flex-start;
  border-radius: 100px;
  align-items: center;
  position: relative;
  display: flex;
  height: 18px;
  width: 100%;
  border-radius: 0;
  border: 1px solid var(--border);
}
.about-wrapper .about-content .pro-items .progress-value {
  animation: load 3s normal forwards;
  border-radius: 0;
  background: var(--theme);
  height: 10px;
  width: 0;
  border-radius: 0;
}
.about-wrapper .about-content .pro-items .style-two {
  animation: load2 3s normal forwards;
}
.about-wrapper .about-content .pro-items .style-three {
  animation: load3 3s normal forwards;
}
.about-wrapper .about-content .pro-items .style-four {
  animation: load4 3s normal forwards;
}
@keyframes load {
  0% {
    width: 0;
  }
  100% {
    width: 80%;
  }
}
@keyframes load2 {
  0% {
    width: 0;
  }
  100% {
    width: 70%;
  }
}
@keyframes load3 {
  0% {
    width: 0;
  }
  100% {
    width: 85%;
  }
}
@keyframes load4 {
  0% {
    width: 0;
  }
  100% {
    width: 90%;
  }
}

.about-wrapper-2 .about-image {
  position: relative;
}
@media (max-width: 1199px) {
  .about-wrapper-2 .about-image {
    max-width: 900px;
  }
  .about-wrapper-2 .about-image img {
    width: 100%;
    height: 100%;
  }
}
.about-wrapper-2 .about-image .about-image-2 {
  position: absolute;
  right: 0;
  bottom: -170px;
  border: 20px solid var(--white);
  z-index: 9;
}
@media (max-width: 1199px) {
  .about-wrapper-2 .about-image .about-image-2 {
    bottom: 0;
  }
}
@media (max-width: 767px) {
  .about-wrapper-2 .about-image .about-image-2 {
    max-width: 330px;
  }
}
@media (max-width: 575px) {
  .about-wrapper-2 .about-image .about-image-2 {
    max-width: 230px;
  }
}
.about-wrapper-2 .about-image .border-shape {
  position: absolute;
  left: -68px;
  bottom: -50px;
}
@media (max-width: 1199px) {
  .about-wrapper-2 .about-image .border-shape {
    display: none;
  }
}
.about-wrapper-2 .about-content {
  margin-left: 50px;
}
@media (max-width: 1199px) {
  .about-wrapper-2 .about-content {
    margin-left: 0;
  }
}
.about-wrapper-2 .about-content .list-items {
  margin-top: 30px;
  border-bottom: 1px solid #d7d7d7;
  padding-bottom: 40px;
}
.about-wrapper-2 .about-content .list-items li {
  font-weight: 600;
  font-size: 18px;
  color: var(--header);
}
.about-wrapper-2 .about-content .list-items li i {
  color: var(--theme);
  margin-right: 10px;
}
.about-wrapper-2 .about-content .list-items li:not(:last-child) {
  margin-bottom: 10px;
}
.about-wrapper-2 .about-content .about-author {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 40px;
  justify-content: space-between;
}
@media (max-width: 1199px) {
  .about-wrapper-2 .about-content .about-author {
    flex-wrap: wrap;
  }
}
.about-wrapper-2 .about-content .about-author .author-image {
  display: flex;
  align-items: center;
  gap: 30px;
}
.about-wrapper-2 .about-content .about-author .author-image .content h3 {
  text-transform: uppercase;
  font-weight: 500;
  color: var(--theme);
}
.about-wrapper-2 .about-content .about-author .author-image .author-img {
  position: relative;
}
.about-wrapper-2 .about-content .about-author .author-image .author-img::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 2px solid var(--theme);
  width: 85px;
  height: 85px;
  border-radius: 50%;
  content: "";
}
.about-wrapper-2 .about-content .about-author .counter-content {
  background-color: #f4f4f4;
  padding: 15px;
  min-width: 230px;
  justify-content: center;
}
.about-wrapper-2 .about-content .about-author .counter-content .content-2 {
  display: flex;
  align-items: center;
  gap: 20px;
  border-style: solid;
  border-width: 2px;
  border-image-source: linear-gradient(to left, #ed3b3b, #171717);
  border-image-slice: 1;
  background-color: #fff;
  padding: 20px 30px;
}
.about-wrapper-2 .about-content .about-author .counter-content h2 {
  font-size: 50px;
  font-weight: 600;
}
.about-wrapper-2 .about-content .about-author .counter-content p {
  font-size: 16px;
  color: var(--text);
  text-transform: uppercase;
  font-weight: 500;
}

@media (max-width: 470px) {
  .about-wrapper-3 {
    margin-bottom: -20px;
  }
}
.about-wrapper-3.style-border {
  border-bottom: 1px solid #d7d7d7;
  padding-bottom: 120px;
}
@media (max-width: 1199px) {
  .about-wrapper-3.style-border {
    padding-bottom: 100px;
  }
}
@media (max-width: 991px) {
  .about-wrapper-3.style-border {
    padding-bottom: 80px;
  }
}
.about-wrapper-3 .about-image {
  position: relative;
}
.about-wrapper-3 .about-image img {
  width: 100%;
  height: 100%;
}
.about-wrapper-3 .about-image .border-shape {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -15%;
}
@media (max-width: 1199px) {
  .about-wrapper-3 .about-image .border-shape {
    display: none;
  }
}
.about-wrapper-3 .about-image .about-image-2 {
  position: absolute;
  bottom: 0;
  left: -38%;
}
@media (max-width: 1199px) {
  .about-wrapper-3 .about-image .about-image-2 {
    left: 0;
  }
}
@media (max-width: 575px) {
  .about-wrapper-3 .about-image .about-image-2 {
    max-width: 200px;
  }
}
.about-wrapper-3 .about-image-3 img {
  width: 100%;
  height: 100%;
}
.about-wrapper-3 .about-content {
  margin-left: 50px;
}
@media (max-width: 1199px) {
  .about-wrapper-3 .about-content {
    margin-left: 0;
  }
}
.about-wrapper-3 .about-content b {
  color: var(--theme);
  font-size: 20px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.about-wrapper-3 .about-content .about-icon-items {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
}
@media (max-width: 1199px) {
  .about-wrapper-3 .about-content .about-icon-items {
    flex-wrap: wrap;
    gap: 30px;
  }
}
.about-wrapper-3 .about-content .about-icon-items .about-icon {
  display: flex;
  align-items: center;
  gap: 20px;
}
.about-wrapper-3 .about-content .about-icon-items .about-icon .icon {
  width: 80px;
  height: 80px;
  line-height: 80px;
  border-radius: 50px;
  text-align: center;
  background-color: var(--theme);
  transition: all 0.4s ease-in-out;
}
.about-wrapper-3 .about-content .about-icon-items .about-icon .content h4 {
  font-weight: 600;
}
.about-wrapper-3 .about-content .about-icon-items .about-icon:hover .icon {
  background-color: var(--header);
}
.about-wrapper-3 .about-content .about-btn {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 30px;
}
@media (max-width: 1199px) {
  .about-wrapper-3 .about-content .about-btn {
    flex-wrap: wrap;
    gap: 30px;
  }
}
.about-wrapper-3 .about-content .about-btn .text span {
  color: #808080;
  font-size: 14px;
}

.best-company-wrapper {
  margin-top: -10px;
}
.best-company-wrapper .best-company-content {
  margin-top: 110px;
}
@media (max-width: 1199px) {
  .best-company-wrapper .best-company-content {
    margin-top: 100px;
  }
}
@media (max-width: 991px) {
  .best-company-wrapper .best-company-content {
    margin-top: 80px;
  }
}
.best-company-wrapper .best-company-content .check-list {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 30px;
}
@media (max-width: 1199px) {
  .best-company-wrapper .best-company-content .check-list {
    flex-wrap: wrap;
  }
}
.best-company-wrapper .best-company-content .check-list li {
  background-color: #f4f4f4;
  padding: 16px 30px;
  text-transform: uppercase;
  font-size: 18px;
  font-family: "Barlow Condensed", sans-serif;
  color: var(--header);
  font-weight: 500;
}
.best-company-wrapper .best-company-content .check-list li i {
  color: var(--theme);
  margin-right: 7px;
}
.best-company-wrapper .best-company-content .text {
  max-width: 520px;
  font-weight: 500;
  margin-top: 30px;
}
.best-company-wrapper .best-company-content .list-items {
  margin-top: 30px;
}
.best-company-wrapper .best-company-content .list-items li {
  display: flex;
  align-items: center;
  gap: 20px;
}
.best-company-wrapper .best-company-content .list-items li:not(:last-child) {
  margin-bottom: 40px;
}
.best-company-wrapper .best-company-content .list-items li .icon {
  width: 47px;
  height: 47px;
  line-height: 47px;
  text-align: center;
  border-radius: 50%;
  background-color: var(--theme);
  color: var(--white);
  font-size: 18px;
  transition: all 0.4s ease-in-out;
}
.best-company-wrapper .best-company-content .list-items li .content h4 {
  font-weight: 600;
}
.best-company-wrapper .best-company-content .list-items li .content p {
  font-weight: 500;
  margin-top: 5px;
}
.best-company-wrapper .best-company-content .list-items li:hover .icon {
  background-color: var(--header);
}
.best-company-wrapper .best-company-image {
  margin-right: -25px;
  position: relative;
  z-index: 9;
}
@media (max-width: 1199px) {
  .best-company-wrapper .best-company-image {
    margin-right: 0;
  }
}
.best-company-wrapper .best-company-image img {
  width: 100%;
  height: 100%;
  margin-top: -10px;
}
@media (max-width: 1199px) {
  .best-company-wrapper .best-company-image img {
    margin-top: 0;
  }
}
.best-company-wrapper .best-company-image::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--theme);
  z-index: -1;
  left: -60px;
  height: calc(100% + 70px);
  width: 63%;
}
@media (max-width: 1199px) {
  .best-company-wrapper .best-company-image::before {
    display: none;
  }
}
.best-company-wrapper .best-company-image .video-btn {
  display: inline-block;
  width: 115px;
  line-height: 115px;
  background-color: var(--theme);
  color: var(--white);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-size: 20px;
  transition: all 0.4s ease-in-out;
}
.best-company-wrapper .best-company-image .video-btn:hover {
  background-color: var(--header);
}
.best-company-wrapper .best-company-image .text-shape {
  position: absolute;
  top: 50px;
  left: -40px;
}
@media (max-width: 1199px) {
  .best-company-wrapper .best-company-image .text-shape {
    display: none;
  }
}
.best-company-wrapper .best-company-image .text-shape img {
  width: initial;
  height: initial;
}

.about-section-2 {
  position: relative;
}
.about-section-2::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #f4f4f4;
  width: 30%;
  height: 45%;
}
@media (max-width: 1199px) {
  .about-section-2::before {
    display: none;
  }
}

@-webkit-keyframes rippleOne {
  70% {
    -webkit-box-shadow: 0 0 0 40px rgba(244, 68, 56, 0);
    box-shadow: 0 0 0 40px rgba(244, 68, 56, 0);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(244, 68, 56, 0);
    box-shadow: 0 0 0 0 rgba(244, 68, 56, 0);
  }
}
@keyframes rippleOne {
  70% {
    -webkit-box-shadow: 0 0 0 40px rgba(244, 68, 56, 0);
    box-shadow: 0 0 0 40px rgba(244, 68, 56, 0);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(244, 68, 56, 0);
    box-shadow: 0 0 0 0 rgba(244, 68, 56, 0);
  }
}
@keyframes cir36 {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes rounded {
  50% {
    transform: rotate(15deg);
  }
}
@-webkit-keyframes spinner {
  to {
    -webkit-transform: rotateZ(360deg);
    transform: rotateZ(360deg);
  }
}
@keyframes spinner {
  to {
    -webkit-transform: rotateZ(360deg);
    transform: rotateZ(360deg);
  }
}
@-webkit-keyframes letters-loading {
  0%, 75%, 100% {
    opacity: 0;
    transform: rotateY(-90deg);
  }
  25%, 50% {
    opacity: 1;
    transform: rotateY(0deg);
  }
}
@keyframes letters-loading {
  0%, 75%, 100% {
    opacity: 0;
    transform: rotateY(-90deg);
  }
  25%, 50% {
    opacity: 1;
    transform: rotateY(0deg);
  }
}
@keyframes loaderspin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes tpswing {
  0% {
    -webkit-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
@keyframes width {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes width {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes loaderspin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes loaderpulse {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
@keyframes rounded {
  50% {
    transform: rotate(20deg);
  }
}
@keyframes cir36 {
  100% {
    transform: rotate(360deg);
  }
}
.float-bob-y {
  -webkit-animation-name: float-bob-y;
  animation-name: float-bob-y;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
}

@-webkit-keyframes float-bob-y {
  0% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  50% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
}
@keyframes float-bob-y {
  0% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  50% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
}
.float-bob-x {
  -webkit-animation-name: float-bob-x;
  animation-name: float-bob-x;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
}

@-webkit-keyframes float-bob-x {
  0% {
    -webkit-transform: translateX(0px);
    transform: translateX(30px);
  }
  50% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
}
@keyframes float-bob-x {
  0% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
  50% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
}
@keyframes bounce-x {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.bounce-x {
  -webkit-animation: bounce-x 7s infinite linear;
  animation: bounce-x 7s infinite linear;
}

@keyframes criss-cross-left {
  0% {
    left: -20px;
  }
  50% {
    left: 50%;
    width: 20px;
    height: 20px;
  }
  100% {
    left: 50%;
    width: 375px;
    height: 375px;
  }
}
@keyframes criss-cross-right {
  0% {
    right: -20px;
  }
  50% {
    right: 50%;
    width: 20px;
    height: 20px;
  }
  100% {
    right: 50%;
    width: 375px;
    height: 375px;
  }
}
@keyframes rotated2 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes wave {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-25%);
  }
  100% {
    transform: translateX(-50%);
  }
}
.img-custom-anim-left {
  animation: img-anim-left 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s;
  opacity: 0;
}

@keyframes img-anim-left {
  0% {
    transform: translateX(-5%);
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.img-custom-anim-right {
  animation: img-anim-right 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s;
  opacity: 0;
}

@keyframes img-anim-right {
  0% {
    transform: translateX(5%);
    clip-path: inset(0 0 0 100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.img-custom-anim-left {
  animation: img-anim-left 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s;
  opacity: 0;
}

@keyframes img-anim-left {
  0% {
    transform: translateX(-5%);
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.img-custom-anim-top {
  animation: img-anim-top 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1);
  opacity: 0;
}

@keyframes img-anim-top {
  0% {
    transform: translateY(-5%);
    clip-path: inset(0 0 100% 0);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.img-custom-anim-bottom {
  animation: img-anim-bottom 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1);
  opacity: 0;
}

.brand-items {
  margin-bottom: 30px;
  margin-top: 30px;
  padding-bottom: 30px;
}
.brand-items .array-button {
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}
.brand-items .array-button::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  height: 1px;
  width: 44%;
  top: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.brand-items .array-button::after {
  position: absolute;
  content: "";
  width: 44%;
  top: 50%;
  height: 1px;
  right: 0;
  background: rgba(255, 255, 255, 0.2);
}
.brand-items .brand-image {
  padding: 20px;
  transition: all 0.4s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: 0;
  backdrop-filter: none;
  border: none;
}
.brand-items .brand-image img {
  opacity: 1;
  transition: all 0.4s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.brand-items .brand-image:hover {
  background: transparent;
  transform: translateY(-5px);
  box-shadow: none;
  border-color: transparent;
}
.brand-items .brand-image:hover img {
  opacity: 1;
  transform: scale(1.05);
}
.brand-items .swiper-wrapper {
  align-items: center;
}

/* Web Screen - Reduce Logo Size */
@media (min-width: 1024px) {
  .brand-items .brand-image img {
    max-width: 70%;
    height: auto;
  }
}

/* Responsive Adjustments */
@media (max-width: 991px) {
  .brand-items {
    margin-bottom: 20px;
    margin-top: 20px;
    padding-bottom: 20px;
  }
  .brand-items .brand-image {
    padding: 15px;
  }
  .brand-items .brand-image img {
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .brand-items {
    margin-bottom: 15px;
    margin-top: 15px;
    padding-bottom: 15px;
  }
  .brand-items .array-button {
    margin-bottom: 15px;
  }
  .brand-items .brand-image {
    padding: 10px;
  }
  .brand-items .brand-image img {
    max-width: 50%;
    height: auto;
  }
}
@media (max-width: 575px) {
  .brand-items .brand-image {
    padding: 10px;
  }
  .brand-items .brand-image img {
    max-width: 40%;
    height: auto;
  }
}

.brand-items.style-2 {
  padding-bottom: 0;
  margin-bottom: 0;
  margin-top: 0;
}
.brand-items.style-2 .brand-image {
  min-height: 100px;
  padding: 30px;
  transition: all 0.4s ease-in-out;
}
.brand-items.style-2 .brand-image img {
  transition: all 0.4s ease-in-out;
  display: inline-block;
}
.brand-items.style-2 .brand-image:hover {
  background-color: #f4f4f4;
}
.brand-items.style-2 .brand-image:hover img {
  opacity: 1;
}
.brand-items.style-2 .swiper-slide.swiper-slide-active .brand-image {
  background-color: #f4f4f4;
}
.brand-items.style-2 .swiper-slide.swiper-slide-active .brand-image img {
  opacity: 1;
}
.brand-items .swiper-slide.swiper-slide-active .brand-image {
  background-color: transparent;
}
.brand-items .swiper-slide.swiper-slide-active .brand-image img {
  opacity: 1;
}

.brand-wrapper {
  padding: 90px 0 60px;
}
.brand-wrapper .brand-image {
  text-align: center;
  filter: grayscale(100%);
  transition: all 0.4s ease-in-out;
  opacity: 0.4;
}
.brand-wrapper .brand-image:hover {
  filter: initial;
  opacity: 1;
}
.brand-wrapper .swiper-slide.swiper-slide-active .brand-image {
  filter: initial;
  opacity: 1;
}
.brand-wrapper .content {
  border-top: 2px solid #e56060;
  margin-top: 90px;
  padding-top: 90px;
  padding-bottom: 30px;
}
.brand-wrapper .content h2 {
  color: var(--white);
}

/* Service Section Improvements */
.service-section {
  position: relative;
  overflow: hidden;
}
.service-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.service-section .container {
  position: relative;
  z-index: 2;
}
.service-section .section-title h2 {
  color: #ffffff;
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
  font-size: 42px;
  font-weight: 700;
}
@media (max-width: 767px) {
  .service-section .section-title h2 {
    font-size: 32px;
  }
}
@media (max-width: 575px) {
  .service-section .section-title h2 {
    font-size: 28px;
  }
}

.brand-section-3 {
  background-position: bottom !important;
}

.contact-wrapper .faq-content {
  padding-top: 200px;
  padding-bottom: 200px;
  margin-right: 30px;
}
@media (max-width: 1399px) {
  .contact-wrapper .faq-content {
    padding-top: 180px;
    padding-bottom: 180px;
  }
}
@media (max-width: 1199px) {
  .contact-wrapper .faq-content {
    margin-right: 0;
    padding-top: 150px;
    padding-bottom: 150px;
  }
}
@media (max-width: 991px) {
  .contact-wrapper .faq-content {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.contact-wrapper .faq-content .form-clt input, .contact-wrapper .faq-content .form-clt textarea {
  width: 100%;
  outline: none;
  border: none;
  background-color: var(--white);
  padding: 16px 20px;
  font-size: 14px;
  font-weight: 400;
  color: var(--text);
  text-transform: capitalize;
}
.contact-wrapper .faq-content .form-clt input::placeholder, .contact-wrapper .faq-content .form-clt textarea::placeholder {
  color: #777777;
}
.contact-wrapper .faq-content .form-clt textarea {
  padding-bottom: 100px;
  resize: none;
}
/* Contact Section Image - Perfect Alignment on All Screens */
.contact-section {
  position: relative;
  overflow: hidden;
  padding: 0;
}

.contact-section .contact-wrapper {
  position: relative;
  min-height: 500px;
}

.contact-section .contact-wrapper .row {
  align-items: center;
  min-height: 500px;
}

.contact-section .contact-wrapper .col-lg-6:first-child {
  display: flex;
  align-items: center;
  padding: 40px 0;
}

.contact-wrapper .faq-image {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.contact-wrapper .faq-image img {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* Desktop Screens - Image Sticks to Section */
@media (min-width: 1400px) {
  .contact-section {
    padding: 0;
  }
  .contact-section .contact-wrapper .row {
    min-height: 600px;
  }
  .contact-wrapper .faq-image {
    min-height: 500px;
  }
  .contact-wrapper .faq-image img {
    max-width: 95%;
  }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  .contact-section {
    padding: 0;
  }
  .contact-section .contact-wrapper .row {
    min-height: 550px;
  }
  .contact-wrapper .faq-image {
    min-height: 450px;
  }
  .contact-wrapper .faq-image img {
    max-width: 98%;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .contact-section {
    padding: 0;
  }
  .contact-section .contact-wrapper .row {
    min-height: 500px;
  }
  .contact-wrapper .faq-image {
    min-height: 400px;
  }
  .contact-wrapper .faq-image img {
    max-width: 100%;
  }
}

/* Tablet and Mobile - Responsive Stack */
@media (max-width: 991px) {
  .contact-section {
    padding: 60px 0;
  }
  .contact-section .contact-wrapper {
    min-height: auto;
  }
  .contact-section .contact-wrapper .row {
    min-height: auto;
  }
  .contact-section .contact-wrapper .col-lg-6:first-child {
    padding: 20px 0;
    justify-content: center;
  }
  .contact-wrapper .contact-content {
    text-align: center;
  }
  .contact-wrapper .contact-content .section-title h2,
  .contact-wrapper .contact-content .section-title p {
    text-align: center;
  }
  .contact-wrapper .contact-info-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .contact-wrapper .contact-info-item {
    justify-content: center;
    text-align: center;
  }
  .contact-wrapper .faq-image {
    margin-top: 40px;
    min-height: 300px;
    padding: 0 15px;
  }
  .contact-wrapper .faq-image img {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .contact-section {
    padding: 50px 0;
  }
  .contact-wrapper .faq-image {
    margin-top: 30px;
    min-height: 250px;
    padding: 0 10px;
  }
}

@media (max-width: 575px) {
  .contact-section {
    padding: 40px 0;
  }
  .contact-wrapper .faq-image {
    margin-top: 20px;
    min-height: 200px;
    padding: 0;
  }
}

.contact-wrapper-2 .contact-content {
  padding: 51px 60px;
  background-repeat: initial;
}
@media (max-width: 991px) {
  .contact-wrapper-2 .contact-content {
    padding: 40px 30px;
  }
}
.contact-wrapper-2 .contact-content.bg-cover {
  background-size: initial;
}
.contact-wrapper-2 .contact-content .form-clt input, .contact-wrapper-2 .contact-content .form-clt textarea {
  width: 100%;
  outline: none;
  border: none;
  background-color: var(--white);
  padding: 16px 20px;
  font-size: 14px;
  font-weight: 400;
  color: var(--text);
}
.contact-wrapper-2 .contact-content .form-clt input::placeholder, .contact-wrapper-2 .contact-content .form-clt textarea::placeholder {
  color: var(--text);
}
.contact-wrapper-2 .contact-content .form-clt textarea {
  padding-bottom: 100px;
  resize: none;
}
.contact-wrapper-2 .contact-image {
  position: relative;
}
.contact-wrapper-2 .contact-image img {
  width: 100%;
  height: 100%;
}
.contact-wrapper-2 .contact-image .video-btn {
  width: 100px;
  height: 100px;
  line-height: 100px;
  text-align: center;
  background-color: var(--theme);
  color: var(--white);
  bottom: 0;
  right: 0;
  position: absolute;
  font-size: 22px;
}
.contact-wrapper-2 .contact-image .video-btn:hover {
  background-color: var(--header);
}
@media (max-width: 767px) {
  .contact-wrapper-2 .contact-image .video-btn {
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 18px;
  }
}
.contact-wrapper-2 .contact-box {
  margin-top: 30px;
  background-color: var(--theme);
  padding: 60px 60px;
  text-align: center;
  position: relative;
}
.contact-wrapper-2 .contact-box .bg-shape {
  position: absolute;
  right: 0;
  bottom: 0;
  opacity: 0.1;
}
.contact-wrapper-2 .contact-box .icon {
  margin-bottom: 20px;
  position: relative;
  z-index: 9;
  transition: all 0.4s ease-in-out;
}
.contact-wrapper-2 .contact-box .content {
  position: relative;
  z-index: 9;
}
.contact-wrapper-2 .contact-box .content h3 {
  color: var(--white);
  font-weight: 600;
}
.contact-wrapper-2 .contact-box.style-2 {
  background-color: var(--header);
  transition: all 0.4s ease-in-out;
}
.contact-wrapper-2 .contact-box.style-2:hover {
  background-color: var(--theme);
}
.contact-wrapper-2 .contact-box.style-2:hover .icon {
  filter: grayscale(100%) brightness(300%);
}

.map-items .googpemap iframe {
  width: 100%;
  height: 490px;
}

.map-items-2 .googpemap iframe {
  width: 100%;
  height: 485px;
}
.map-items-2 .map-contact-info-wrapper {
  background-color: var(--white);
  position: relative;
  padding: 45px 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.1);
  border-top: 10px solid var(--theme);
  margin-top: -80px;
  z-index: 9;
}
@media (max-width: 1199px) {
  .map-items-2 .map-contact-info-wrapper {
    flex-wrap: wrap;
    gap: 30px;
  }
}
.map-items-2 .map-contact-info-wrapper .icon-items {
  display: flex;
  align-items: center;
  gap: 20px;
}
.map-items-2 .map-contact-info-wrapper .icon-items .content p {
  text-transform: uppercase;
  font-family: "Barlow Condensed", sans-serif;
}
.map-items-2 .map-contact-info-wrapper .icon-items .content h3 {
  font-size: 18px;
  font-weight: 600;
}
.map-items-2 .map-contact-info-wrapper .social-icon {
  gap: 10px;
  position: relative;
  z-index: 9;
}
.map-items-2 .map-contact-info-wrapper .social-icon a {
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 16px;
  display: block;
  background: #f4f4f4;
  color: var(--header);
  border-radius: 50%;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  text-align: center;
}
.map-items-2 .map-contact-info-wrapper .social-icon a:hover {
  background-color: var(--theme);
  color: var(--white);
}

.contact-form-123 .form-clt input, .contact-form-123 .form-clt textarea {
  border: none;
  outline: none;
  line-height: 1;
  padding: 22px 30px;
  background-color: #f4f4f4;
  width: 100%;
  text-transform: capitalize;
  color: var(--text);
}
.contact-form-123 .form-clt textarea {
  padding-bottom: 130px;
}

.cta-discuss-wrapper {
  background-color: #171717;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 9;
  overflow: hidden;
  min-height: 150px;
  border-radius: 15px;
  margin-top: 10%;
}
@media (max-width: 1199px) {
  .cta-discuss-wrapper {
    padding: 40px 30px;
    min-height: 150px;
  }
}
@media (max-width: 991px) {
  .cta-discuss-wrapper {
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
    text-align: center;
    padding: 40px 30px;
    min-height: auto;
  }
}
@media (max-width: 575px) {
  .cta-discuss-wrapper {
    padding: 30px 20px;
    gap: 20px;
  }
}
.cta-discuss-wrapper .icon-items {
  display: flex;
  align-items: center;
  gap: 25px;
  justify-content: center;
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 180px;
}
@media (max-width: 1399px) {
  .cta-discuss-wrapper .icon-items {
    padding: 0 160px;
  }
}
@media (max-width: 1199px) {
  .cta-discuss-wrapper .icon-items {
    max-width: 100%;
    gap: 20px;
    padding: 0;
  }
}
@media (max-width: 991px) {
  .cta-discuss-wrapper .icon-items {
    flex-wrap: wrap;
    gap: 20px;
  }
}
@media (max-width: 575px) {
  .cta-discuss-wrapper .icon-items {
    gap: 15px;
  }
}
.cta-discuss-wrapper .icon-items .icon {
  width: 95px;
  height: 95px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--white);
  flex-shrink: 0;
}
@media (max-width: 991px) {
  .cta-discuss-wrapper .icon-items .icon {
    width: 85px;
    height: 85px;
    margin: 0 auto;
  }
}
@media (max-width: 575px) {
  .cta-discuss-wrapper .icon-items .icon {
    width: 75px;
    height: 75px;
  }
}
.cta-discuss-wrapper .icon-items .icon img {
  max-width: 65%;
  height: auto;
}
.cta-discuss-wrapper .icon-items h2 {
  font-size: 36px;
  color: var(--white);
  margin: 0;
  line-height: 1.4;
  font-weight: 700;
}
@media (max-width: 1199px) {
  .cta-discuss-wrapper .icon-items h2 {
    font-size: 32px;
  }
}
@media (max-width: 991px) {
  .cta-discuss-wrapper .icon-items h2 {
    font-size: 28px;
  }
}
@media (max-width: 575px) {
  .cta-discuss-wrapper .icon-items h2 {
    font-size: 24px;
    line-height: 1.3;
  }
}
.cta-discuss-wrapper .theme-btn::before, .cta-discuss-wrapper .theme-btn::after {
  background-color: var(--white);
}
.cta-discuss-wrapper .theme-btn:hover {
  color: var(--header);
}
.cta-discuss-wrapper .cta-thumb {
  position: absolute;
  bottom: 0;
  left: 0;
  top: 0;
  z-index: -1;
  margin: -3px;
}
@media (max-width: 1199px) {
  .cta-discuss-wrapper .cta-thumb {
    display: none;
  }
}
.cta-discuss-wrapper .cta-thumb img {
  width: 100%;
  height: 100%;
}

/* CTA Button Wrapper - Right Side */
.cta-discuss-wrapper .cta-button-wrapper {
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.cta-discuss-wrapper .cta-button-wrapper .theme-btn {
  padding: 15px 35px;
  font-size: 16px;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}

.cta-discuss-wrapper .cta-button-wrapper .theme-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

.cta-discuss-wrapper .cta-button-wrapper .theme-btn i {
  margin-left: 8px;
  transition: transform 0.3s ease;
}

.cta-discuss-wrapper .cta-button-wrapper .theme-btn:hover i {
  transform: translateX(5px);
}

@media (max-width: 1399px) {
  .cta-discuss-wrapper .cta-button-wrapper {
    right: 30px;
  }
}

@media (max-width: 1199px) {
  .cta-discuss-wrapper .cta-button-wrapper {
    display: none !important;
  }
}

.cta-wrapper {
  padding: 120px 0;
  position: relative;
  background-attachment: fixed;
  z-index: 9;
  margin: 80px 100px 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 20px;
}
@media (max-width: 1399px) {
  .cta-wrapper {
    margin: 70px 80px 0;
  }
}
@media (max-width: 1199px) {
  .cta-wrapper {
    margin: 60px 60px 0;
    padding: 100px 0;
    border-radius: 16px;
  }
}
@media (max-width: 991px) {
  .cta-wrapper {
    margin: 50px 40px 0;
    padding: 80px 0;
  }
}
@media (max-width: 767px) {
  .cta-wrapper {
    margin: 40px 25px 0;
    padding: 70px 0;
    border-radius: 14px;
  }
}
@media (max-width: 575px) {
  .cta-wrapper {
    margin: 35px 15px 0;
    padding: 60px 0;
    border-radius: 12px;
  }
}
@media (max-width: 479px) {
  .cta-wrapper {
    margin: 30px 10px 0;
    padding: 50px 20px;
    border-radius: 10px;
  }
}
.cta-wrapper .cta-content {
  text-align: center;
}
.cta-wrapper .cta-content h2 {
  font-size: 60px;
  color: var(--white);
  margin-bottom: 20px;
  line-height: 1;
}
@media (max-width: 991px) {
  .cta-wrapper .cta-content h2 {
    font-size: 50px;
  }
}
@media (max-width: 767px) {
  .cta-wrapper .cta-content h2 {
    font-size: 40px;
    margin-bottom: 15px;
  }
}
@media (max-width: 575px) {
  .cta-wrapper .cta-content h2 {
    font-size: 32px;
  }
}
@media (max-width: 479px) {
  .cta-wrapper .cta-content h2 {
    font-size: 26px;
    margin-bottom: 12px;
  }
}
.cta-wrapper .cta-content p {
  font-size: 20px;
  color: #ffc9c9;
}
@media (max-width: 991px) {
  .cta-wrapper .cta-content p {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .cta-wrapper .cta-content p {
    font-size: 16px;
  }
}
@media (max-width: 575px) {
  .cta-wrapper .cta-content p {
    font-size: 14px;
  }
}
@media (max-width: 479px) {
  .cta-wrapper .cta-content p {
    font-size: 13px;
  }
}
.cta-wrapper .cta-content .theme-btn {
  background-color: var(--header);
  margin-top: 50px;
}
@media (max-width: 767px) {
  .cta-wrapper .cta-content .theme-btn {
    margin-top: 35px;
    padding: 18px 35px;
    font-size: 13px;
  }
}
@media (max-width: 575px) {
  .cta-wrapper .cta-content .theme-btn {
    margin-top: 30px;
    padding: 16px 30px;
    font-size: 12px;
  }
}
@media (max-width: 479px) {
  .cta-wrapper .cta-content .theme-btn {
    margin-top: 25px;
    padding: 14px 25px;
  }
}
.cta-wrapper .cta-content .theme-btn::before, .cta-wrapper .cta-content .theme-btn::after {
  background-color: var(--white);
}
.cta-wrapper .cta-content .theme-btn:hover {
  color: var(--header);
}

.cta-agency-content {
  margin-bottom: 50px;
}
.cta-agency-content h2 {
  font-size: 60px;
}
@media (max-width: 767px) {
  .cta-agency-content h2 {
    font-size: 52px;
  }
}
@media (max-width: 575px) {
  .cta-agency-content h2 {
    font-size: 40px;
  }
}
.cta-agency-content .theme-btn {
  background-color: var(--header);
  margin-top: 50px;
}
@media (max-width: 575px) {
  .cta-agency-content .theme-btn {
    margin-top: 30px;
  }
}
.cta-agency-content .theme-btn::before, .cta-agency-content .theme-btn::after {
  background-color: var(--white);
}
.cta-agency-content .theme-btn:hover {
  color: var(--header);
}

.cta-agency-section {
  position: relative;
  z-index: 9;
}
.cta-agency-section .cta-shape {
  position: absolute;
  top: -4px;
  bottom: -2px;
  left: 0;
  z-index: -1;
  width: 1310px;
}
@media (max-width: 1199px) {
  .cta-agency-section .cta-shape {
    display: none;
  }
}
.cta-agency-section .cta-shape img {
  width: 100%;
  height: 100%;
}
.cta-agency-section .shape-cicrle {
  position: absolute;
  top: 22%;
  left: 55%;
}
@media (max-width: 1399px) {
  .cta-agency-section .shape-cicrle {
    display: none;
  }
}
.cta-agency-section .shape-cicrle .animation-circle {
  animation: cir36 10s linear infinite;
}
.cta-agency-section .shape-cicrle .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.cta-wrapper-2 {
  padding: 0 0 120px;
  position: relative;
  background-attachment: fixed;
}
.cta-wrapper-2::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #171717;
  opacity: 0.7;
}
.cta-wrapper-2 h2 {
  font-size: 60px;
  font-weight: 600;
  color: var(--white);
  position: relative;
  text-align: center;
}
@media (max-width: 767px) {
  .cta-wrapper-2 h2 {
    font-size: 40px;
  }
}
@media (max-width: 575px) {
  .cta-wrapper-2 h2 {
    font-size: 32px;
  }
}
.cta-wrapper-2 .cta-button {
  margin: 50px auto 0;
  text-align: center;
}
.cta-wrapper-2 .list-items {
  display: flex;
  align-items: center;
  position: relative;
  justify-content: space-between;
  background-color: var(--theme);
  padding: 16px 35px;
  margin-bottom: 102px;
}
@media (max-width: 1899px) {
  .cta-wrapper-2 .list-items {
    padding: 16px 20px;
    flex-wrap: wrap;
    gap: 20px;
  }
}
.cta-wrapper-2 .list-items .text-move {
  font-size: 16px;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 3.6px;
  font-weight: 500;
}

.cta-wrapper-3 {
  text-align: center;
}
.cta-wrapper-3 .circle-image {
  margin-bottom: 20px;
  position: relative;
}
.cta-wrapper-3 .circle-image .animation-circle {
  animation: cir36 10s linear infinite;
}
.cta-wrapper-3 .circle-image .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.cta-wrapper-3 .cta-content {
  position: relative;
}
.cta-wrapper-3 .cta-content h2 {
  font-size: 60px;
  color: var(--white);
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .cta-wrapper-3 .cta-content h2 {
    font-size: 50px;
  }
}
@media (max-width: 575px) {
  .cta-wrapper-3 .cta-content h2 {
    font-size: 40px;
  }
}

.cta-bg-section-3 {
  position: relative;
  background-attachment: fixed;
}

.cta-section-2 {
  position: relative;
}
.cta-section-2::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #f4f4f4;
  height: 50%;
}

.cta-agency-section {
  background-attachment: fixed;
}

.faq-wrapper .faq-items {
  margin-top: 30px;
}
.faq-wrapper .faq-items .faq-image {
  height: 425px;
}
.faq-wrapper .faq-items .faq-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.faq-wrapper .faq-items .faq-image-2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.faq-wrapper .faq-items .counter-box {
  background-color: var(--theme);
  padding: 20px;
  padding-left: 30px;
  margin-bottom: 15px;
}
.faq-wrapper .faq-items .counter-box .inner-icon {
  text-align: right;
}
.faq-wrapper .faq-items .counter-box .inner-icon .icon {
  width: 54px;
  height: 54px;
  line-height: 54px;
  font-size: 24px;
  border-radius: 50%;
  text-align: center;
  background: var(--header);
  color: #e40013;
  display: inline-block;
  transition: all 0.4s ease-in-out;
}
.faq-wrapper .faq-items .counter-box .text span {
  color: var(--white);
}
.faq-wrapper .faq-items .counter-box .text h3 a {
  color: var(--white);
}
.faq-wrapper .faq-items .counter-box:hover .inner-icon .icon {
  background: #fff;
  color: var(--theme);
}
.faq-wrapper .faq-content {
  margin-top: 30px;
}
.faq-wrapper .faq-content .faq-accordionss {
  margin-left: 20px;
}
@media (max-width: 1199px) {
  .faq-wrapper .faq-content .faq-accordionss {
    margin-left: 0;
  }
}
.faq-wrapper .faq-content .faq-accordionss .accordion-item {
  border: 0;
  background-color: #f4f4f4;
  border: 1px solid var(--border);
  border-radius: 0;
  box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.05);
  margin-bottom: 25px;
}
.faq-wrapper .faq-content .faq-accordionss .accordion-item:not(:first-of-type) {
  border: none;
}
.faq-wrapper .faq-content .faq-accordionss .accordion-item .accordion-header {
  border: none;
}
.faq-wrapper .faq-content .faq-accordionss .accordion-item .accordion-header .accordion-button {
  font-weight: 600;
  color: var(--header);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background-color: var(--white);
  padding: 25px 30px;
  text-transform: uppercase;
  font-size: 18px;
  padding-bottom: 25px;
  border-radius: 0;
  border: none;
}
.faq-wrapper .faq-content .faq-accordionss .accordion-item .accordion-header .accordion-button::after {
  content: "\f077";
  font-family: "Font Awesome 6 Pro";
  background: transparent;
  font-weight: 500;
  transition: all 0.3s ease-in-out !important;
  color: var(--theme);
}
.faq-wrapper .faq-content .faq-accordionss .accordion-item .accordion-header .accordion-button:not(.collapsed)::after {
  content: "\f078";
  font-family: "Font Awesome 6 Pro";
  background: transparent;
  font-weight: 500;
  color: var(--theme);
  transform: rotate(0);
}
.faq-wrapper .faq-content .faq-accordionss .accordion-item .accordion-header .accordion-button.collapsed {
  background-color: transparent;
  padding: 25px 30px;
  color: var(--header);
}
.faq-wrapper .faq-content .faq-accordionss .accordion-item .accordion-collapse .accordion-body {
  padding-left: 30px;
  padding-top: 25px;
  color: var(--text);
  background-color: var(--white);
  border-top: 1px solid var(--border);
  font-weight: 500;
  padding-bottom: 25px;
}
.faq-wrapper .faq-content .faq-items .accordion-item:first-of-type {
  box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.05);
}
.faq-wrapper .faq-content .faq-items .accordion .accordion-item {
  border: none;
  border-radius: 0px;
  background: #fff;
  margin-bottom: 20px;
}
.faq-wrapper .faq-content .faq-items .accordion .accordion-item h2 button {
  padding: 30px 40px;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 18px;
  line-height: 1;
  box-shadow: none;
  border-radius: 0;
  font-family: "Barlow Condensed", sans-serif;
  color: var(--header);
  border: 1px solid #d7d7d7;
}
@media (max-width: 575px) {
  .faq-wrapper .faq-content .faq-items .accordion .accordion-item h2 button {
    font-size: 17px;
  }
}
.faq-wrapper .faq-content .faq-items .accordion .accordion-item .accordion-body {
  padding: 25px 40px 26px;
  border: 1px solid #d7d7d7;
  border-top: none;
}
.faq-wrapper .faq-content .faq-items .accordion .accordion-item .accordion-body p {
  color: var(--text);
  font-size: 16px;
  line-height: 32px;
  font-weight: 500;
}
@media (max-width: 575px) {
  .faq-wrapper .faq-content .faq-items .accordion .accordion-item .accordion-body p {
    width: 100%;
    font-size: 14px;
    line-height: 28px;
  }
}
.faq-wrapper .faq-content .faq-items .accordion .accordion-button {
  background-color: transparent;
  color: var(--header);
}
.faq-wrapper .faq-content .faq-items .accordion .accordion-button::after {
  display: none;
}
.faq-wrapper .faq-content .faq-items .accordion .accordion-button::before {
  content: "\f078";
  font-family: "Font Awesome 6 Pro";
  background: transparent;
  font-weight: 500;
  transition: all 0.3s ease-in-out !important;
  color: var(--theme);
  position: absolute;
  top: 28px;
  right: 40px;
}
.faq-wrapper .faq-content .faq-items .accordion .accordion-button.collapsed {
  background-color: #f4f4f4;
  color: var(--header);
  position: relative;
  z-index: 7;
  box-shadow: none;
}
.faq-wrapper .faq-content .faq-items .accordion .accordion-button.collapsed::before {
  content: "\f077";
  font-family: "Font Awesome 6 Pro";
  font-weight: 500;
  color: var(--theme);
}

.funfact-wrapper {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (max-width: 1399px) {
  .funfact-wrapper {
    flex-wrap: wrap;
  }
}
.funfact-wrapper .funfact-box-items {
  transition: all 0.4s ease-in-out;
}
.funfact-wrapper .funfact-box-items .icon {
  background-color: var(--white);
  box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.05);
  width: 145px;
  height: 145px;
  line-height: 145px;
  text-align: center;
  transition: all 0.4s ease-in-out;
}
.funfact-wrapper .funfact-box-items .icon img {
  transition: all 0.4s ease-in-out;
}
.funfact-wrapper .funfact-box-items .content {
  margin-top: 20px;
  text-align: center;
}
.funfact-wrapper .funfact-box-items .content h2 {
  font-size: 36px;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 500;
}
.funfact-wrapper .funfact-box-items .content h2 span {
  font-family: "Barlow Condensed", sans-serif;
}
.funfact-wrapper .funfact-box-items .content p {
  font-weight: 500;
  margin-top: 5px;
}
.funfact-wrapper .funfact-box-items:hover .icon {
  background-color: var(--theme);
}
.funfact-wrapper .funfact-box-items:hover .icon img {
  filter: grayscale(100%) brightness(300%);
}

.feature-card-items .feature-image {
  position: relative;
  overflow: hidden;
}
.feature-card-items .feature-image::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-image: -moz-linear-gradient(90deg, rgb(23, 23, 23) 0%, rgba(23, 23, 23, 0) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(23, 23, 23) 0%, rgba(23, 23, 23, 0) 100%);
}
.feature-card-items .feature-image img {
  width: 100%;
  height: 100%;
}
.feature-card-items .feature-image .feature-title {
  color: var(--white);
  position: absolute;
  text-align: center;
  left: 20px;
  bottom: 20px;
  right: 20px;
  text-transform: uppercase;
  font-weight: 500;
  border-bottom: 10px solid var(--theme);
  padding-bottom: 30px;
  line-height: 1;
}
.feature-card-items .feature-image .content {
  text-align: center;
  background-color: var(--white);
  padding: 30px;
  position: absolute;
  bottom: -100px;
  left: 20px;
  right: 20px;
  transition: all 0.4s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
.feature-card-items .feature-image .content h3 {
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 10px;
  line-height: 1;
}
.feature-card-items .feature-image .content p {
  max-width: 200px;
  margin: 0 auto;
}
.feature-card-items .feature-image .content .icon {
  width: 55px;
  height: 55px;
  line-height: 55px;
  text-align: center;
  border-radius: 50%;
  background-color: var(--theme);
  color: var(--white);
  display: inline-block;
  margin-top: 20px;
}
.feature-card-items .feature-image .content .icon:hover {
  background-color: var(--header);
}
.feature-card-items:hover .feature-image .content, .feature-card-items .active .feature-image .content {
  opacity: 1;
  visibility: visible;
  bottom: 20px;
}

.work-section-2 {
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover;
}

.counter-wrapper-2 {
  margin-top: -50px;
  position: relative;
  z-index: 9;
}
.counter-wrapper-2 .counter-box {
  background: var(--white);
  padding: 30px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.counter-wrapper-2 .counter-box.bg-1 {
  background: linear-gradient(90deg, #fefdfd 0%, #f4f4f4 100%);
}
.counter-wrapper-2 .counter-box.bg-2 {
  background: linear-gradient(90deg, #fefdfd 0%, #f4f4f4 100%);
}
.counter-wrapper-2 .counter-box .icon {
  width: 118px;
  height: 118px;
  line-height: 118px;
  background-color: var(--theme);
  text-align: center;
  border-radius: 50%;
  transition: all 0.4s ease-in-out;
}
.counter-wrapper-2 .counter-box .content h2 {
  font-weight: 500;
}
.counter-wrapper-2 .counter-box .content p {
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
}
.counter-wrapper-2 .counter-box:hover .icon {
  background-color: var(--header);
}

.work-process-area {
  padding: 60px 0;
  max-width: 1050px;
  margin: 0 auto;
}
.work-process-area .work-process-box {
  position: relative;
}
.work-process-area .work-process-box .icon {
  width: 170px;
  height: 170px;
  line-height: 170px;
  text-align: center;
  border-radius: 50%;
  background-color: #f4f4f4;
  position: relative;
  margin: 0 auto;
  transition: all 0.4s ease-in-out;
}
.work-process-area .work-process-box .icon img {
  transition: all 0.4s ease-in-out;
}
.work-process-area .work-process-box .icon::before {
  width: 170px;
  height: 170px;
  content: "";
  position: absolute;
  top: 10px;
  left: -8px;
  bottom: 0;
  background-color: var(--theme);
  border-radius: 50%;
  z-index: -1;
  transition: all 0.4s ease-in-out;
}
.work-process-area .work-process-box .icon .number {
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  border-radius: 50%;
  background-color: #171717;
  display: inline-block;
  font-weight: 600;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 18px;
  color: var(--white);
  position: absolute;
  bottom: 0;
  left: 0;
}
.work-process-area .work-process-box .content {
  text-align: center;
  max-width: 250px;
  margin: 30px auto 0;
}
.work-process-area .work-process-box .content h3 {
  font-weight: 600;
  font-size: 24px;
  margin-bottom: 5px;
}
.work-process-area .work-process-box .shape-img {
  position: absolute;
  top: 30%;
  right: -80px;
  transform: translateY(-50%);
}
@media (max-width: 1199px) {
  .work-process-area .work-process-box .shape-img {
    display: none;
  }
}
.work-process-area .work-process-box:hover .icon {
  background-color: var(--theme);
}
.work-process-area .work-process-box:hover .icon img {
  filter: grayscale(100%) brightness(300%);
}
.work-process-area .work-process-box:hover .icon::before {
  background-color: #f4f4f4;
}

.work-text {
  border: 2px solid var(--theme);
  max-width: 700px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  width: 100%;
  padding: 9px 18px;
  padding-right: 9px;
  margin-bottom: -8px;
}
@media (max-width: 1199px) {
  .work-text {
    margin-bottom: 0;
  }
}
@media (max-width: 767px) {
  .work-text {
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    text-align: center;
    padding: 16px 25px;
  }
}
.work-text h6 {
  font-size: 16px;
}
.work-text span {
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--white);
  background-color: var(--theme);
  padding: 6px 24px;
}
.work-text span:hover {
  background-color: var(--header);
}

.feature-section-2 {
  position: relative;
}
.feature-section-2::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #f4f4f4;
  width: 30%;
}

.feature-wrapper-4 .icon-box-items {
  background-color: #f4f4f4;
  padding: 30px 40px;
  transition: all 0.4s ease-in-out;
}
.feature-wrapper-4 .icon-box-items .icon {
  margin-bottom: 20px;
  transition: all 0.4s ease-in-out;
}
.feature-wrapper-4 .icon-box-items h6 {
  font-size: 20px;
  font-weight: 600;
}
.feature-wrapper-4 .icon-box-items:hover {
  background-color: var(--theme);
}
.feature-wrapper-4 .icon-box-items:hover .icon {
  filter: grayscale(100%) brightness(300%);
}
.feature-wrapper-4 .icon-box-items:hover h6 {
  color: var(--white);
}
.feature-wrapper-4 .hire-text-items {
  border-top: 1px solid #d7d7d7;
  margin-top: 30px;
  padding-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1199px) {
  .feature-wrapper-4 .hire-text-items {
    flex-wrap: wrap;
    gap: 30px;
  }
}
.feature-wrapper-4 .hire-text-items .content span {
  font-size: 16px;
}
.feature-wrapper-4 .hire-text-items .content h3 {
  font-size: 24px;
  font-weight: 500;
  text-transform: uppercase;
}
.feature-wrapper-4 .hire-text-items .contact-content {
  display: flex;
  align-items: center;
  gap: 20px;
}
.feature-wrapper-4 .hire-text-items .contact-content .icon {
  width: 54px;
  height: 54px;
  line-height: 54px;
  text-align: center;
  background-color: var(--theme);
  color: var(--white);
  font-size: 18px;
}
.feature-wrapper-4 .hire-text-items .contact-content .info-content h6 {
  font-size: 12px;
  font-weight: 500;
  color: var(--text);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.feature-wrapper-4 .hire-text-items .contact-content .info-content h3 {
  font-size: 18px;
  font-weight: 500;
}
.feature-wrapper-4 .choose-us-image {
  margin-top: -200px;
  position: relative;
  z-index: 9;
  margin-left: 40px;
}
@media (max-width: 1199px) {
  .feature-wrapper-4 .choose-us-image {
    margin-left: 0;
  }
  .feature-wrapper-4 .choose-us-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media (max-width: 991px) {
  .feature-wrapper-4 .choose-us-image {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .feature-wrapper-4 .choose-us-image {
    height: 550px;
  }
}
@media (max-width: 575px) {
  .feature-wrapper-4 .choose-us-image {
    height: 450px;
  }
}

.footer-widgets-wrapper {
  padding: 70px 0 100px;
}
@media (max-width: 991px) {
  .footer-widgets-wrapper {
    padding: 50px 0 80px;
  }
}
.footer-widgets-wrapper .single-footer-widget {
  margin-top: 30px;
}
.footer-widgets-wrapper .single-footer-widget .widget-head {
  margin-bottom: 30px;
}
.footer-widgets-wrapper .single-footer-widget .widget-head h3 {
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  color: var(--white);
}
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-sub-title {
  font-size: 22px;
  color: var(--theme);
  font-weight: 400;
}
.footer-widgets-wrapper .single-footer-widget .footer-content .social-icon {
  margin-top: 40px;
  gap: 10px;
  position: relative;
  z-index: 9;
}
@media (max-width: 575px) {
  .footer-widgets-wrapper .single-footer-widget .footer-content .social-icon {
    margin-top: 20px;
  }
}
.footer-widgets-wrapper .single-footer-widget .footer-content .social-icon a {
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 16px;
  display: block;
  background: #2a2a2a;
  color: var(--white);
  border-radius: 50%;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  text-align: center;
}
.footer-widgets-wrapper .single-footer-widget .footer-content .social-icon a:hover {
  background-color: var(--theme);
  color: var(--white);
}
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-input {
  position: relative;
  margin-bottom: 25px;
}
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-input input {
  width: 100%;
  border: none;
  background-color: var(--white);
  color: var(--text);
  position: relative;
  padding: 20px;
  text-transform: capitalize;
  line-height: 1;
}
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-input input::placeholder {
  color: var(--text);
}
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-input .newsletter-button {
  position: absolute;
  right: 4px;
  top: 10px;
  bottom: 4px;
  color: var(--theme);
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 50%;
  font-size: 14px;
  color: var(--white);
  background-color: var(--theme);
}
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li {
  font-size: 15px;
  font-weight: 500;
}
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li:not(:last-child) {
  margin-bottom: 15px;
}
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li a {
  color: var(--white);
}
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li i {
  color: var(--theme);
  margin-right: 10px;
}
.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item:not(:last-child) {
  margin-bottom: 10px;
}
.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb {
  position: relative;
  width: 100px;
}
.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb img {
  width: 100%;
  height: 100%;
}
.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  text-align: center;
  transition: 0.3s;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb .icon::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(237, 59, 59, 0.85);
  transition: 0.4s;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb .icon i {
  color: var(--white);
  font-size: 22px;
  z-index: 99;
  position: relative;
  margin-top: 30px;
}
.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb:hover .icon {
  opacity: 1;
}
.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb:hover .icon::after {
  opacity: 1;
}
.footer-widgets-wrapper .single-footer-widget .list-area li {
  font-weight: 500;
}
.footer-widgets-wrapper .single-footer-widget .list-area li:not(:last-child) {
  margin-bottom: 15px;
}
.footer-widgets-wrapper .single-footer-widget .list-area li a {
  color: var(--white);
  position: relative;
  transition: all 0.3s ease;
}
.footer-widgets-wrapper .single-footer-widget .list-area li a::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 6px;
  height: 6px;
  content: "";
  border-radius: 50%;
  background-color: var(--theme);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease-in-out;
}
.footer-widgets-wrapper .single-footer-widget .list-area li a:hover {
  padding-left: 20px;
  color: var(--theme) !important;
}
.footer-widgets-wrapper .single-footer-widget .list-area li a:hover::before {
  opacity: 1;
  visibility: visible;
}

.footer-bottom {
  padding-bottom: 40px;
}
.footer-bottom .footer-wrapper {
  background-color: #0e0e0e;
  text-align: center;
  padding: 35px 0;
  border-top: 2px solid var(--theme);
}
.footer-bottom .footer-wrapper p {
  color: var(--white);
  margin: 0;
  font-size: 15px;
  letter-spacing: 1px;
}
.footer-bottom .footer-wrapper p a {
  color: var(--white);
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer-bottom .footer-wrapper p a:hover {
  color: #ed3b3b;
}

/* Footer Responsive Fixes */
@media (max-width: 1199px) {
  .footer-widgets-wrapper {
    padding: 60px 0 80px;
  }

  .footer-widgets-wrapper .single-footer-widget {
    margin-top: 25px;
  }

  .footer-widgets-wrapper .single-footer-widget .widget-head h3 {
    font-size: 17px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-sub-title {
    font-size: 20px;
  }
}

@media (max-width: 991px) {
  .footer-widgets-wrapper {
    padding: 50px 0 60px;
  }

  .footer-widgets-wrapper .single-footer-widget {
    margin-top: 30px;
  }

  .footer-widgets-wrapper .single-footer-widget .widget-head {
    margin-bottom: 20px;
  }

  .footer-widgets-wrapper .single-footer-widget .widget-head h3 {
    font-size: 16px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-sub-title {
    font-size: 18px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .social-icon {
    margin-top: 25px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb {
    width: 90px;
  }

  .footer-bottom {
    padding-bottom: 30px;
  }

  .footer-bottom .footer-wrapper {
    padding: 25px 15px;
  }
}

@media (max-width: 767px) {
  .footer-widgets-wrapper {
    padding: 40px 0 50px;
  }

  .footer-widgets-wrapper .single-footer-widget {
    margin-top: 35px;
  }

  .footer-widgets-wrapper .single-footer-widget .widget-head {
    margin-bottom: 18px;
  }

  .footer-widgets-wrapper .single-footer-widget .widget-head h3 {
    font-size: 16px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-sub-title {
    font-size: 16px;
    line-height: 1.5;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .social-icon {
    margin-top: 20px;
    gap: 8px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .social-icon a {
    width: 38px;
    height: 38px;
    line-height: 38px;
    font-size: 15px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-input input {
    padding: 16px;
    font-size: 14px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-input .newsletter-button {
    width: 36px;
    height: 36px;
    line-height: 36px;
    font-size: 13px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li {
    font-size: 14px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb {
    width: 85px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb .icon i {
    font-size: 18px;
    margin-top: 25px;
  }

  .footer-widgets-wrapper .single-footer-widget .list-area li a {
    font-size: 14px;
  }

  .footer-bottom .footer-wrapper {
    padding: 20px 10px;
  }

  .footer-bottom .footer-wrapper p {
    font-size: 13px;
  }
}

@media (max-width: 575px) {
  .footer-widgets-wrapper {
    padding: 35px 0 40px;
  }

  .footer-widgets-wrapper .single-footer-widget {
    margin-top: 30px;
  }

  .footer-widgets-wrapper .single-footer-widget .widget-head {
    margin-bottom: 15px;
  }

  .footer-widgets-wrapper .single-footer-widget .widget-head h3 {
    font-size: 15px;
    letter-spacing: 1.2px;
  }

  .footer-widgets-wrapper .single-footer-widget .widget-head img {
    max-height: 80px !important;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-sub-title {
    font-size: 15px;
    line-height: 1.4;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .social-icon {
    margin-top: 18px;
    gap: 7px;
    flex-wrap: wrap;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .social-icon a {
    width: 36px;
    height: 36px;
    line-height: 36px;
    font-size: 14px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-input {
    margin-bottom: 20px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-input input {
    padding: 14px;
    font-size: 13px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-input .newsletter-button {
    width: 34px;
    height: 34px;
    line-height: 34px;
    top: 8px;
    font-size: 12px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li {
    font-size: 13px;
    word-break: break-word;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li:not(:last-child) {
    margin-bottom: 12px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li i {
    margin-right: 8px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item {
    gap: 8px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb {
    width: 75px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb .icon i {
    font-size: 16px;
    margin-top: 20px;
  }

  .footer-widgets-wrapper .single-footer-widget .list-area li {
    font-size: 14px;
  }

  .footer-widgets-wrapper .single-footer-widget .list-area li:not(:last-child) {
    margin-bottom: 12px;
  }

  .footer-bottom {
    padding-bottom: 25px;
  }

  .footer-bottom .footer-wrapper {
    padding: 18px 10px;
  }

  .footer-bottom .footer-wrapper p {
    font-size: 12px;
    line-height: 1.6;
  }
}

@media (max-width: 480px) {
  .footer-widgets-wrapper .single-footer-widget .widget-head img {
    max-height: 70px !important;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-sub-title {
    font-size: 14px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .social-icon a {
    width: 34px;
    height: 34px;
    line-height: 34px;
    font-size: 13px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb {
    width: 70px;
  }

  .footer-bottom .footer-wrapper p {
    font-size: 11px;
  }
}

@media (min-width: 1400px) {
  .footer-widgets-wrapper {
    padding: 80px 0 110px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-sub-title {
    font-size: 24px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb {
    width: 105px;
  }
}

.header-1 .header-right-items {
  display: flex;
  align-items: center;
  gap: 30px;
  border-left: 1px solid rgba(255, 255, 255, 0.102);
  padding-left: 20px;
}
@media (max-width: 1399px) {
  .header-1 .header-right-items {
    padding: 0;
    border-left: none;
  }
}
.header-1 .header-right-items .search-icon {
  color: var(--white);
}
.header-1 .header-right-items .contact-content {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (max-width: 1399px) {
  .header-1 .header-right-items .contact-content {
    display: none;
  }
}
.header-1 .header-right-items .contact-content .icon {
  width: 56px;
  height: 56px;
  line-height: 56px;
  text-align: center;
  background-color: var(--theme);
  color: var(--white);
  font-size: 18px;
  transition: all 0.4s ease-in-out;
}
.header-1 .header-right-items .contact-content .info-content h6 {
  font-size: 12px;
  font-weight: 500;
  color: var(--white);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 0;
}
.header-1 .header-right-items .contact-content .info-content h3 {
  font-size: 18px;
  font-weight: 500;
}
.header-1 .header-right-items .contact-content .info-content h3 a {
  color: var(--white);
}
.header-1 .header-right-items .contact-content:hover .icon {
  background-color: var(--header);
}
.header-1 .header-logo-2 {
  display: none;
}
.header-1 .header-main {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1019607843);
}
.header-1 .sidebar__toggle {
  color: var(--white);
}
.header-1.header-2 {
  position: relative;
}
.header-1.header-2::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--theme);
  z-index: -1;
  width: calc(100% - 1430px);
  left: initial;
}
@media (max-width: 1899px) {
  .header-1.header-2::before {
    display: none;
  }
}
.header-1.header-2 .header-main .main-menu ul li a {
  color: #777777;
}
.header-1.header-2 .header-main .main-menu ul li a:hover {
  color: var(--header) !important;
}
.header-1.header-2 .header-main .header-right {
  gap: 40px;
}
@media (max-width: 1399px) {
  .header-1.header-2 .header-main .header-right {
    gap: 20px;
  }
}
.header-1.header-2 .header-main .sidebar__toggle {
  color: var(--header);
}
.header-1.header-2 .header-button {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media (max-width: 1199px) {
  .header-1.header-2 .header-button {
    display: none;
  }
}
.header-1.header-2 .header-button .theme-btn {
  background-color: var(--white);
  color: var(--header);
  padding: 21px 45px;
}
@media (max-width: 1899px) {
  .header-1.header-2 .header-button .theme-btn {
    background-color: var(--theme);
    color: var(--white);
  }
}
.header-1.header-2 .header-button .theme-btn:hover {
  color: var(--white);
}
.header-1.header-2 .header-button .contact-content .icon {
  background-color: var(--header);
}
.header-1.header-2 .header-button .contact-content:hover .icon {
  background-color: var(--theme) !important;
}
.header-1.header-2 .header-right-items {
  gap: 60px;
  border-left: 1px solid #d7d7d7;
}
@media (max-width: 1899px) {
  .header-1.header-2 .header-right-items {
    border-left: none;
    gap: 20px;
  }
  .header-1.header-2 .header-right-items .info-content h6 {
    color: var(--header);
  }
  .header-1.header-2 .header-right-items .info-content h3 a {
    color: var(--header);
  }
}
.header-1.header-2 .header-right-items .search-icon {
  color: var(--header);
}
.header-1.header-2 .header-left {
  display: flex;
  align-items: center;
  gap: 160px;
}
@media (max-width: 1600px) {
  .header-1.header-2 .header-left {
    gap: 50px;
  }
}
.header-1.header-3 {
  background-color: #161616;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1019607843);
}
.header-1.header-3 .header-main {
  border: none;
}
.header-1.header-3::before {
  display: none;
}
.header-1.header-3 .sidebar__toggle {
  color: var(--white) !important;
}
.header-1.header-3 .header-right-items {
  gap: 20px;
  border-left: 1px solid #2f2f2f;
}
@media (max-width: 1399px) {
  .header-1.header-3 .header-right-items {
    border-left: none;
  }
}
@media (max-width: 1899px) {
  .header-1.header-3 .header-right-items .info-content h6 {
    color: var(--white);
  }
  .header-1.header-3 .header-right-items .info-content h3 a {
    color: var(--white);
  }
}
.header-1.header-3 .header-right-items .search-icon {
  color: var(--white);
}
.header-1.header-3 .header-right-items .theme-btn {
  background-color: var(--black);
  color: var(--white);
}
.header-1.header-3 .header-right-items .theme-btn::before, .header-1.header-3 .header-right-items .theme-btn::after {
  background-color: var(--theme);
}
.header-1.header-3 .header-right-items .contact-content .icon {
  background-color: var(--theme);
}
.header-1.header-3 .header-right-items .contact-content:hover .icon {
  background-color: var(--header) !important;
}

.header-top {
  background-color: #171717;
  padding: 12px 0;
}
@media (max-width: 991px) {
  .header-top {
    display: none;
  }
}

.header-top-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-top-wrapper .header-left {
  display: flex;
  align-items: center;
  gap: 30px;
}
.header-top-wrapper .header-left li {
  font-size: 15px;
  font-weight: 500;
  color: #727272;
}
.header-top-wrapper .header-left li a {
  color: #727272;
}
.header-top-wrapper .header-left li i {
  color: var(--theme);
  margin-right: 10px;
}
.header-top-wrapper .header-top-right {
  display: flex;
  align-items: center;
  gap: 40px;
}
.header-top-wrapper .header-top-right .top-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header-top-wrapper .header-top-right .top-right li {
  color: #6d6d6d;
  font-size: 14px;
}
.header-top-wrapper .header-top-right .top-right li a {
  color: #6d6d6d;
}
.header-top-wrapper .header-top-right .top-right li a:hover {
  color: var(--theme);
}
.header-top-wrapper .header-top-right .social-icon {
  gap: 25px;
  font-size: 14px;
}
.header-top-wrapper .header-top-right .social-icon a {
  color: var(--white);
}
.header-top-wrapper .header-top-right .social-icon a:hover {
  color: var(--theme);
}

.header-section-1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}
.header-section-1.header-section-2 {
  position: static;
}
.header-section-1.header-section-2 .container-fluid {
  padding: 0 60px;
}
@media (max-width: 1600px) {
  .header-section-1.header-section-2 .container-fluid {
    padding: 0 50px;
  }
}
@media (max-width: 1399px) {
  .header-section-1.header-section-2 .container-fluid {
    padding: 0 40px;
  }
}
@media (max-width: 1199px) {
  .header-section-1.header-section-2 .container-fluid {
    padding: 0 30px;
  }
}

.header-section .container-fluid {
  padding: 0 120px;
}
@media (max-width: 1600px) {
  .header-section .container-fluid {
    padding: 0 50px;
  }
}
@media (max-width: 1399px) {
  .header-section .container-fluid {
    padding: 0 40px;
  }
}
@media (max-width: 1199px) {
  .header-section .container-fluid {
    padding: 0 30px;
  }
}

@media (max-width: 1199px) {
  .menu-thumb {
    display: none !important;
  }
}

.header-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
}
.header-main .logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.header-main .logo img {
  display: block;
  height: 60px;
  width: auto;
  object-fit: contain;
}
.header-main .header-logo {
  display: flex;
  align-items: center;
  line-height: 1;
}
.header-main .header-logo-2 {
  display: none;
  align-items: center;
  line-height: 1;
}
.header-main .header-logo img,
.header-main .header-logo-2 img {
  vertical-align: middle;
}
.header-main .main-menu ul {
  margin-bottom: 0;
}
.header-main .main-menu ul li {
  position: relative;
  list-style: none;
  display: inline-block;
  margin-inline-end: 70px;
}
.header-main .main-menu ul li:last-child {
  margin-inline-end: 0;
}
.header-main .main-menu ul li a {
  display: inline-block;
  font-size: 16px;
  font-weight: 500;
  color: var(--white);
  padding: 20px 0;
  text-align: left;
  position: relative;
  text-transform: uppercase;
  font-family: "Barlow Condensed", sans-serif;
  transition: all 0.4s ease-in-out;
}
.header-main .main-menu ul li a i {
  margin-left: 4px;
  font-size: 14px;
}
.header-main .main-menu ul li a:hover {
  color: var(--theme2) !important;
}
.header-main .main-menu ul li .submenu {
  position: absolute;
  top: 115%;
  inset-inline-start: 0;
  min-width: 240px;
  background: var(--white);
  padding: 20px 0;
  z-index: 99999;
  visibility: hidden;
  opacity: 0;
  transform-origin: top center;
  color: var(--header);
  transform: translateY(-10px);
  transition: all 0.4s ease-in-out;
  border-top: 6px solid var(--theme);
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.header-main .main-menu ul li .submenu li {
  display: block;
  width: 100%;
  margin: 0;
}
.header-main .main-menu ul li .submenu li a {
  position: relative;
  z-index: 11;
  font-size: 16px;
  font-weight: 500;
  color: var(--header);
  line-height: 38px;
  padding: 0px 0px 0px 32px;
  width: 100%;
}
.header-main .main-menu ul li .submenu li a::before {
  content: "";
  position: absolute;
  width: 0px;
  height: 2px;
  background: var(--theme);
  left: 14px;
  bottom: 18px;
  transition: all 0.4s ease-in-out;
}
.header-main .main-menu ul li .submenu li a:hover {
  color: var(--theme) !important;
}
.header-main .main-menu ul li .submenu li:last-child a {
  border: none;
}
.header-main .main-menu ul li .submenu li .submenu {
  inset-inline-start: 100%;
  top: 0;
  visibility: hidden;
  opacity: 0;
}
.header-main .main-menu ul li .submenu li:hover > a {
  color: var(--theme) !important;
  margin-left: 10px;
}
.header-main .main-menu ul li .submenu li:hover > a::before {
  width: 10px;
}
.header-main .main-menu ul li .submenu li:hover > a::after {
  color: var(--theme);
}
.header-main .main-menu ul li .submenu li:hover > .submenu {
  -webkit-transform: translateY(1);
  -moz-transform: translateY(1);
  -ms-transform: translateY(1);
  -o-transform: translateY(1);
  transform: translateY(1);
  visibility: visible;
  opacity: 1;
}
.header-main .main-menu ul li .submenu li.has-dropdown > a::after {
  position: absolute;
  top: 50%;
  inset-inline-end: 25px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  color: var(--theme);
}
.header-main .main-menu ul li .has-homemenu {
  width: 800px;
  padding: 30px 30px 10px 30px;
  opacity: 0;
  left: -250px;
  visibility: hidden;
  padding: 30px 30px 10px 30px;
}
.header-main .main-menu ul li .has-homemenu .homemenu-items {
  display: flex;
  align-items: center;
  gap: 30px;
  justify-content: space-between;
}
@media (max-width: 991px) {
  .header-main .main-menu ul li .has-homemenu .homemenu-items {
    flex-wrap: wrap;
  }
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu {
  position: relative;
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb {
  position: relative;
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb .demo-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  gap: 10px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease-in-out;
  margin-top: 20px;
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb .demo-button .theme-btn {
  padding: 14px 20px;
  color: var(--white) !important;
  width: initial;
  font-size: 16px;
  text-align: center;
  border-radius: 0px !important;
  background-color: var(--theme);
  line-height: initial;
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb .demo-button .theme-btn:hover {
  background-color: var(--header);
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb::before {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(20, 19, 19, 0)), to(#5e5ef6));
  background: linear-gradient(to bottom, rgba(99, 92, 92, 0) 0%, #252527 100%);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  content: "";
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb:hover::before {
  visibility: visible;
  opacity: 1;
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb:hover .demo-button {
  opacity: 1;
  visibility: visible;
  margin-top: 0;
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb:hover .homemenu-btn {
  opacity: 1;
  visibility: visible;
  bottom: 50%;
  transform: translateY(50%);
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb img {
  width: 100%;
}
.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-title {
  text-align: center;
  margin: 15px auto;
  display: inline-block;
  font-size: 16px;
  font-weight: 500;
  font-family: "Manrope", sans-serif;
}
.header-main .main-menu ul li:hover > a {
  color: var(--theme2);
}
.header-main .main-menu ul li:hover > a::after {
  color: var(--theme);
}
.header-main .main-menu ul li:hover > .submenu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0px);
}
.header-main .header-right {
  gap: 40px;
}
@media (max-width: 1399px) {
  .header-main .header-right {
    gap: 20px;
  }
}
.header-main .sidebar__toggle {
  cursor: pointer;
  font-size: 20px;
}

.sticky {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: all 0.9s;
  background-color: var(--white);
  -webkit-animation: 500ms ease-in-out 0s normal none 1 running fadeInDown;
  animation: 500ms ease-in-out 0s normal none 1 running fadeInDown;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.sticky.header-1 .header-main .main-menu ul li a {
  color: var(--header);
}
.sticky.header-1 .header-main .header-right {
  gap: 40px;
}
@media (max-width: 1399px) {
  .sticky.header-1 .header-main .header-right {
    gap: 20px;
  }
}
.sticky.header-1 .header-main .sidebar__toggle {
  cursor: pointer;
  font-size: 20px;
}
.sticky.header-1 .search-icon {
  color: var(--header);
}
.sticky.header-1 .header-logo {
  display: none;
}
.sticky.header-1 .header-logo-2 {
  display: flex;
}
.sticky.header-1 .sidebar__toggle {
  color: var(--header);
}
.sticky.header-1 .contact-content .info-content h6 {
  color: var(--header);
}
.sticky.header-1 .contact-content .info-content h3 a {
  color: var(--header);
}
.sticky.header-2 .contact-content .info-content h6 {
  color: var(--white);
}
.sticky.header-2 .contact-content .info-content h3 a {
  color: var(--white);
}
.sticky.header-3 {
  background-color: var(--white);
}
.sticky.header-3 .sidebar__toggle {
  color: var(--header);
}
.sticky.header-3 .header-right-items .search-icon {
  color: var(--header);
}
.sticky.header-3 .header-right-items .info-content h6 {
  color: var(--header);
}
.sticky.header-3 .header-right-items .info-content h3 a {
  color: var(--header);
}

/* Responsive Logo Styles */
@media (max-width: 991px) {
  .header-main .logo img {
    height: 50px;
  }
}
@media (max-width: 767px) {
  .header-main {
    padding: 8px 0;
  }
  .header-main .logo img {
    height: 45px;
  }
}
@media (max-width: 575px) {
  .header-main .logo img {
    height: 40px;
  }
}
@media (max-width: 480px) {
  .header-main .logo img {
    height: 38px;
  }
}

.offcanvas__info {
  background: var(--white) none repeat scroll 0 0;
  border-left: 2px solid var(--theme);
  position: fixed;
  right: 0;
  top: 0;
  width: 400px;
  height: 100%;
  -webkit-transform: translateX(calc(100% + 80px));
  -moz-transform: translateX(calc(100% + 80px));
  -ms-transform: translateX(calc(100% + 80px));
  -o-transform: translateX(calc(100% + 80px));
  transform: translateX(calc(100% + 80px));
  -webkit-transition: transform 0.45s ease-in-out, opacity 0.45s ease-in-out;
  -moz-transition: transform 0.45s ease-in-out, opacity 0.45s ease-in-out;
  transition: transform 0.45s ease-in-out, opacity 0.45s ease-in-out;
  z-index: 99999;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  scrollbar-width: none;
}
.offcanvas__info::-webkit-scrollbar {
  display: none;
}

.offcanvas__info.info-open {
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}

.offcanvas__wrapper {
  position: relative;
  height: 100%;
  padding: 30px 30px;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__logo a {
  display: flex;
  align-items: center;
  line-height: 1;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__logo img {
  height: 60px;
  width: auto;
  object-fit: contain;
  vertical-align: middle;
}
.offcanvas__wrapper .offcanvas__content .text {
  color: var(--text);
}
.offcanvas__wrapper .offcanvas__content .offcanvas__close {
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  border-radius: 50%;
  background-color: var(--theme);
  position: relative;
  z-index: 9;
  cursor: pointer;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__close i {
  color: var(--white);
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact {
  margin-top: 20px;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul {
  margin-top: 20px;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li {
  font-size: 16px;
  font-weight: 600;
  text-transform: capitalize;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li a {
  color: var(--text);
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li:not(:last-child) {
  margin-bottom: 15px;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li .offcanvas__contact-icon {
  margin-right: 20px;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li .offcanvas__contact-icon i {
  color: var(--theme);
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact span {
  text-transform: initial;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact .header-button .theme-btn {
  width: 100%;
  padding: 20px 40px;
  text-transform: capitalize !important;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact .social-icon {
  margin-top: 30px;
  gap: 10px;
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact .social-icon a {
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  font-size: 16px;
  display: block;
  background: transparent;
  color: var(--text);
  border-radius: 50%;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  text-align: center;
  border: 1px solid var(--border);
}
.offcanvas__wrapper .offcanvas__content .offcanvas__contact .social-icon a:hover {
  background-color: var(--theme);
  color: var(--white);
}

.offcanvas__overlay {
  position: fixed;
  height: 100%;
  width: 100%;
  background: #151515;
  z-index: 900;
  top: 0;
  opacity: 0;
  visibility: hidden;
  right: 0;
}

.offcanvas__overlay.overlay-open {
  opacity: 0.8;
  visibility: visible;
}

@media (max-width: 767px) {
  .offcanvas__wrapper .offcanvas__content .offcanvas__logo img {
    height: 50px;
  }
}
@media (max-width: 575px) {
  .offcanvas__wrapper .offcanvas__content .offcanvas__logo img {
    height: 45px;
  }
}
@media (max-width: 450px) {
  .offcanvas__info {
    width: 300px;
  }
  .offcanvas__wrapper .offcanvas__content .offcanvas__logo img {
    height: 40px;
  }
}
@media (max-width: 450px) {
  .offcanvas__info {
    width: 300px;
  }
}
@media (max-width: 575px) {
  .offcanvas__wrapper {
    padding: 20px;
  }
}
.breadcrumb-wrapper {
  position: relative;
  overflow: hidden;
  z-index: 9;
  padding: 315px 0 170px;
}
@media (max-width: 1399px) {
  .breadcrumb-wrapper {
    padding: 240px 0 150px;
  }
}
@media (max-width: 991px) {
  .breadcrumb-wrapper {
    padding: 150px 0 150px;
  }
}
.breadcrumb-wrapper .page-heading {
  position: relative;
  z-index: 99;
}
@media (max-width: 991px) {
  .breadcrumb-wrapper .page-heading {
    text-align: center;
  }
}
.breadcrumb-wrapper .page-heading .breadcrumb-items {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  z-index: 9;
  margin-bottom: 20px;
}
@media (max-width: 991px) {
  .breadcrumb-wrapper .page-heading .breadcrumb-items {
    justify-content: center;
  }
}
.breadcrumb-wrapper .page-heading .breadcrumb-items li {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  font-family: "Barlow Condensed", sans-serif;
}
@media (max-width: 575px) {
  .breadcrumb-wrapper .page-heading .breadcrumb-items li {
    font-size: 16px;
  }
}
.breadcrumb-wrapper .page-heading .breadcrumb-items li a {
  color: rgba(255, 255, 255, 0.6);
  transition: all 0.4s ease-in-out;
}
.breadcrumb-wrapper .page-heading .breadcrumb-items li a:hover {
  color: var(--theme);
}
.breadcrumb-wrapper .page-heading .breadcrumb-items li i {
  color: rgba(255, 255, 255, 0.6);
}
.breadcrumb-wrapper .page-heading h1 {
  font-size: 50px;
  font-weight: bold;
  color: var(--white);
}

::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

/* Track */
::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px var(--theme);
  border-radius: 5px;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--theme);
  border-radius: 10px;
}

.fix {
  overflow: hidden;
}

.ralt {
  position: relative;
}

.ml-50 {
  margin-left: 50px;
}
@media (max-width: 1199px) {
  .ml-50 {
    margin-left: 0;
  }
}

.ripple {
  position: relative;
}
.ripple::before, .ripple::after {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 110px;
  height: 110px;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
  -webkit-animation: rippleOne 3s infinite;
  animation: rippleOne 3s infinite;
}
.ripple::before {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
}
.ripple::after {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
}

.swiper-dot .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  transition: all 0.4s ease-in-out;
  background-color: var(--theme);
  opacity: 1;
  border-radius: 10px;
}
.swiper-dot .swiper-pagination-bullet:not(:last-child) {
  margin-right: 10px;
}
.swiper-dot .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--theme);
  transition: 0.6s;
  position: relative;
}
.swiper-dot .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  position: absolute;
  width: 22px;
  height: 22px;
  line-height: 22px;
  top: -6px;
  left: -6px;
  border-radius: 50%;
  background-color: transparent;
  border: 2px solid var(--theme);
  content: "";
}

.swiper-dot-2 {
  text-align: center;
}
.swiper-dot-2 .swiper-pagination-bullet {
  width: 32px;
  height: 8px;
  transition: 0.6s;
  background-color: rgba(213, 213, 213, 0.6);
  opacity: 1;
  border-radius: 10px;
  position: relative;
}
.swiper-dot-2 .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--theme);
  transition: 0.6s;
  position: relative;
  width: 50px;
}

.array-button {
  display: flex;
  align-items: center;
  gap: 15px;
}
.array-button .array-prev {
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  background-color: #2a2a2a;
  color: var(--white);
  transition: all 0.4s ease-in-out;
  font-size: 12px;
  box-shadow: 0px 4px 30px 0px rgba(0, 0, 0, 0.08);
}
.array-button .array-prev:hover {
  background-color: var(--theme);
  color: var(--white);
}
.array-button .array-next {
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  background-color: var(--theme);
  color: var(--white);
  transition: all 0.4s ease-in-out;
  font-size: 12px;
}
.array-button .array-next:hover {
  background-color: var(--theme);
  color: var(--white);
}

.mt-10 {
  margin-top: 10px;
}

@media (max-width: 767px) {
  br {
    display: none;
  }
}

.mt-60 {
  margin-top: 55px;
}

.mb-40 {
  margin-bottom: 40px;
}

/* background */
.bg-cover {
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  background-position: center;
}

.bg-cover-2 {
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  background-position: center;
  width: 100%;
  height: 100%;
}

.nice-select {
  background-color: transparent;
  width: unset;
  outline: none;
  border-bottom: 2px solid var(--border) !important;
  padding-bottom: 20px !important;
  border: none;
  border-radius: 0;
  padding: 0;
}
.nice-select:hover {
  border-bottom: 2px solid transparent;
  border-color: var(--theme);
  border-bottom: 2px solid transparent;
  border-image-slice: 2;
}
.nice-select span {
  font-size: 16px;
  color: var(--text);
  text-transform: capitalize;
}

.nice-select .current {
  margin-right: 12px;
}

.nice-select.open .list {
  background: var(--bg);
  margin-top: 16px;
  width: 100%;
  text-transform: capitalize;
  color: var(--text);
}

.nice-select .option.selected.focus {
  background: var(--bg);
  outline: none;
  color: var(--text);
  text-transform: capitalize;
  font-weight: 400;
  font-size: 16px;
  border: none;
}

.nice-select .option {
  border: none;
}

.nice-select .option:hover {
  background: transparent;
}

.custom-container {
  max-width: 1680px;
}

.page-nav-wrap ul li {
  display: inline-block;
}
.page-nav-wrap ul li .page-numbers {
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  background: transparent;
  font-weight: 600;
  transition: all 0.3s ease-in-out;
  margin: 0 2px;
  border: 1px solid var(--border);
  color: var(--text);
}
.page-nav-wrap ul li .page-numbers.current {
  background-color: var(--theme);
  color: var(--white);
}
@media (max-width: 767px) {
  .page-nav-wrap ul li .page-numbers {
    margin-top: 10px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 14px;
  }
}
.page-nav-wrap ul li .page-numbers i {
  margin-top: 2px;
}
.page-nav-wrap ul li .page-numbers:hover {
  background-color: var(--theme);
  color: var(--white);
  border: 1px solid transparent;
}

.item-bg-color {
  background-color: #F4F6FA !important;
}

.bor-top {
  border-top: 1px solid rgba(255, 255, 255, 0.4);
}

.bor-bottom {
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.sticky-style {
  position: sticky !important;
  top: 100px;
}

.custom-container-2 {
  max-width: 1575px;
  margin: 0 auto;
}

.aximo_screenfix_right {
  margin-right: calc((-100vw + 100%) / 2);
}
@media (max-width: 1199px) {
  .aximo_screenfix_right {
    margin-right: 0;
  }
}

.custom-container-3 {
  max-width: 1695px;
  margin: 0 auto;
}

.contact-container {
  max-width: 1650px;
  margin: 0 auto;
}

.slide-transtion {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

.brand-slide-element {
  width: auto;
  display: inline-block;
}

.hero-1 {
  position: relative;
}
.hero-1 .slider-shape {
  position: absolute;
  bottom: 0;
  right: 0;
  top: 0;
}
.hero-1 .slider-shape img {
  height: 100%;
}
@media (max-width: 1399px) {
  .hero-1 .slider-shape {
    display: none;
  }
}
.hero-1 .bg-shadow {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.hero-1 .bg-shadow img {
  width: 100%;
  height: 100%;
}
.hero-1 .slider-bg {
  overflow: hidden;
  position: absolute !important;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  z-index: -2;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transform: scale(1);
  -webkit-transition: all 8s ease-out 0s;
  -moz-transition: all 8s ease-out 0s;
  -ms-transition: all 8s ease-out 0s;
  -o-transition: all 8s ease-out 0s;
  transition: all 8s ease-out 0s;
}
.hero-1 .slider-bg::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}
@media (max-width: 1399px) {
  .hero-1 .slider-bg {
    background-size: cover;
    background-position: center center;
  }
}
@media (max-width: 1199px) {
  .hero-1 .slider-bg {
    background-size: cover;
    background-position: center center;
  }
}
@media (max-width: 991px) {
  .hero-1 .slider-bg {
    background-size: cover;
    background-position: center center;
  }
}
@media (max-width: 767px) {
  .hero-1 .slider-bg {
    background-position: center center;
    background-size: cover;
    min-height: 100vh;
    width: 100%;
    height: 100vh;
  }
}
@media (max-width: 575px) {
  .hero-1 .slider-bg {
    background-size: cover;
    background-position: center center;
    min-height: 100vh;
    height: 100vh;
  }
}
.hero-1 .overlar-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.hero-1 .hero-content {
  padding: 320px 0 220px;
  position: relative;
}
@media (max-width: 1199px) {
  .hero-1 .hero-content {
    padding: 260px 0 200px;
  }
}
@media (max-width: 991px) {
  .hero-1 .hero-content {
    padding: 190px 0 190px;
  }
}
@media (max-width: 767px) {
  .hero-1 .hero-content {
    text-align: center;
    padding: 150px 0 150px;
  }
}
.hero-1 .hero-content h6 {
  color: rgba(255, 255, 255, 0.6);
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-left: 205px;
  margin-bottom: 10px;
}
@media (max-width: 1199px) {
  .hero-1 .hero-content h6 {
    margin-left: 0;
  }
}
.hero-1 .hero-content h1 {
  color: var(--white);
  line-height: 85%;
  text-transform: uppercase;
  margin-bottom: 50px;
}
@media (max-width: 1199px) {
  .hero-1 .hero-content h1 {
    line-height: 110%;
  }
}
@media (max-width: 1199px) {
  .hero-1 .hero-content h1 {
    font-size: 90px;
  }
}
@media (max-width: 767px) {
  .hero-1 .hero-content h1 {
    font-size: 80px;
    margin-bottom: 40px;
  }
}
@media (max-width: 575px) {
  .hero-1 .hero-content h1 {
    font-size: 56px;
    margin-bottom: 30px;
  }
}

.hero-section-1 {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}
.hero-section-1 .hero-slider,
.hero-section-1 .swiper-wrapper,
.hero-section-1 .swiper-slide {
  height: 100%;
  min-height: 100vh;
}
.hero-section-1 .hero-1 {
  height: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .hero-section-1 {
    min-height: 100vh;
    height: 100vh;
  }
  .hero-section-1 .hero-slider,
  .hero-section-1 .swiper-wrapper,
  .hero-section-1 .swiper-slide {
    height: 100vh;
    min-height: 100vh;
  }
  .hero-section-1 .hero-1 {
    height: 100vh;
    min-height: 100vh;
    display: flex;
    align-items: center;
  }
  .hero-section-1 .hero-content {
    padding: 0 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    width: 100%;
    position: absolute;
    bottom: 35%;
    left: 0;
    right: 0;
  }
  .hero-section-1 .theme-btn {
    padding: 16px 40px;
    font-size: 16px;
    margin: 0;
    display: block;
    width: 80%;
    max-width: 300px;
    text-align: center;
  }
}
@media (max-width: 575px) {
  .hero-section-1 .hero-content {
    padding: 0 10px;
    gap: 12px;
    bottom: 10%;
  }
  .hero-section-1 .theme-btn {
    padding: 15px 35px;
    font-size: 15px;
    margin: 0;
    width: 85%;
    max-width: 280px;
  }
}
@media (max-width: 480px) {
  .hero-section-1 .hero-content {
    padding: 10px;
    gap: 10px;
  }
  .hero-section-1 .theme-btn {
    padding: 14px 30px;
    font-size: 14px;
    margin: 0;
    display: block;
    width: 90%;
    max-width: 260px;
  }
  .hero-section-1 .row {
    margin: 0;
  }
}
.hero-section-1 .hero-content .btn-mobile-stack {
  display: inline-block;
  margin: 0 8px;
}
@media (max-width: 767px) {
  .hero-section-1 .hero-content .btn-mobile-stack {
    display: block;
    margin: 0;
  }
}
.hero-section-1 .swiper-slide-active .slider-bg {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  transform: scale(1);
}
.hero-section-1 .array-button {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 99;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
@media (max-width: 991px) {
  .hero-section-1 .array-button {
    display: none;
  }
}
.hero-section-1 .array-button .array-prev, .hero-section-1 .array-button .array-next {
  width: 75px;
  height: 60px;
  line-height: 60px;
  text-align: center;
}
.hero-section-1 .array-button .array-prev {
  background-color: var(--white);
  color: var(--header);
}
.hero-section-1 .array-button .array-prev:hover {
  background-color: var(--theme);
  color: var(--white);
}
.hero-section-1 .array-button .array-next {
  background-color: var(--black);
}
.hero-section-1 .array-button .array-next:hover {
  background-color: var(--theme);
  color: var(--white);
}

.hero-2 {
  position: relative;
}
.hero-2 .array-button {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 99;
}
@media (max-width: 991px) {
  .hero-2 .array-button {
    display: none;
  }
}
.hero-2 .array-button .array-prev, .hero-2 .array-button .array-next {
  width: 75px;
  height: 60px;
  line-height: 60px;
  text-align: center;
}
.hero-2 .array-button .array-prev {
  background-color: var(--white);
  color: var(--header);
}
.hero-2 .array-button .array-prev:hover {
  background-color: var(--theme);
  color: var(--white);
}
.hero-2 .array-button .array-next:hover {
  background-color: var(--header);
  color: var(--white);
}
.hero-2 .swiper-slide-active .hero-image {
  -webkit-transform: scale(1.12);
  -moz-transform: scale(1.12);
  transform: scale(1.12);
}
.hero-2 .hero-image {
  overflow: hidden;
  position: absolute !important;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  z-index: -2;
  background-size: cover;
  transform: scale(1);
  -webkit-transition: all 8s ease-out 0s;
  -moz-transition: all 8s ease-out 0s;
  -ms-transition: all 8s ease-out 0s;
  -o-transition: all 8s ease-out 0s;
  transition: all 8s ease-out 0s;
}
.hero-2 .hero-image::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--black);
  opacity: 0.7;
}
.hero-2 .overlay-shape {
  position: absolute;
  bottom: 0;
  left: 0;
}
.hero-2 .border-shape {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  opacity: 0.2;
}
@media (max-width: 1199px) {
  .hero-2 .border-shape {
    display: none;
  }
}
.hero-2 .border-shape img {
  width: 100%;
  height: 100%;
}
.hero-2 .right-shape {
  position: absolute;
  bottom: 0;
  right: -10px;
}
@media (max-width: 1199px) {
  .hero-2 .right-shape {
    display: none;
  }
}
.hero-2 .hero-content {
  padding: 170px 0;
  position: relative;
  z-index: 9;
}
@media (max-width: 1199px) {
  .hero-2 .hero-content {
    padding: 160px 0;
  }
}
@media (max-width: 767px) {
  .hero-2 .hero-content {
    padding: 130px 0;
  }
}
.hero-2 .hero-content .icon {
  margin-bottom: 25px;
}
.hero-2 .hero-content h5 {
  font-size: 20px;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 500;
  letter-spacing: 2px;
}
@media (max-width: 575px) {
  .hero-2 .hero-content h5 {
    font-size: 18px;
  }
}
.hero-2 .hero-content h1 {
  font-size: 110px;
  font-weight: 700;
  line-height: 92%;
}
@media (max-width: 1199px) {
  .hero-2 .hero-content h1 {
    font-size: 100px;
  }
}
@media (max-width: 991px) {
  .hero-2 .hero-content h1 {
    font-size: 80px;
    margin-top: 10px;
  }
}
@media (max-width: 767px) {
  .hero-2 .hero-content h1 {
    font-size: 60px;
    margin-top: 15px;
  }
}
@media (max-width: 575px) {
  .hero-2 .hero-content h1 {
    font-size: 42px;
  }
}
.hero-2 .hero-content .cta-button {
  margin-top: 45px;
}
@media (max-width: 575px) {
  .hero-2 .hero-content .cta-button {
    margin-top: 30px;
  }
}

.hero-3 .slider-bg {
  background-position: initial !important;
  position: relative;
  z-index: 9;
}
@media (max-width: 1399px) {
  .hero-3 .slider-bg {
    background-position: right !important;
  }
  .hero-3 .slider-bg::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: var(--black);
    opacity: 0.5;
  }
}
.hero-3 .slider-shape {
  position: absolute;
  top: 0;
  left: -110px;
  bottom: 0;
}
@media (max-width: 1399px) {
  .hero-3 .slider-shape {
    display: none;
  }
}
.hero-3 .slider-shape img {
  width: 100%;
  height: 100%;
}
.hero-3 .hero-content {
  padding: 180px 0 180px;
  position: relative;
  z-index: 9;
}
@media (max-width: 767px) {
  .hero-3 .hero-content {
    text-align: center;
    padding: 130px 0;
  }
}
.hero-3 .hero-content h6 {
  font-size: 20px;
  font-weight: 500;
  color: var(--text);
  text-transform: uppercase;
}
.hero-3 .hero-content h1 {
  color: var(--white);
  margin-bottom: 42px;
  line-height: 92%;
}
@media (max-width: 1199px) {
  .hero-3 .hero-content h1 {
    font-size: 100px;
    margin-top: 15px;
  }
}
@media (max-width: 991px) {
  .hero-3 .hero-content h1 {
    font-size: 80px;
  }
}
@media (max-width: 767px) {
  .hero-3 .hero-content h1 {
    font-size: 60px;
  }
}
@media (max-width: 575px) {
  .hero-3 .hero-content h1 {
    font-size: 42px;
  }
}

.hero-section-3 {
  position: relative;
}
.hero-section-3 .array-button {
  position: absolute;
  display: flex;
  align-items: center;
  z-index: 99;
  bottom: 0;
}
@media (max-width: 991px) {
  .hero-section-3 .array-button {
    display: none;
  }
}
.hero-section-3 .array-button .array-prev, .hero-section-3 .array-button .array-next {
  width: 75px;
  height: 60px;
  line-height: 60px;
  text-align: center;
}
.hero-section-3 .array-button .array-prev {
  background-color: var(--white);
  color: var(--header);
}
.hero-section-3 .array-button .array-prev:hover {
  background-color: var(--theme);
  color: var(--white);
}
.hero-section-3 .array-button .array-next {
  background-color: var(--black);
}
.hero-section-3 .array-button .array-next:hover {
  background-color: var(--theme);
  color: var(--white);
}

.mean-container a.meanmenu-reveal {
  display: none;
}

.mean-container .mean-nav {
  background: none;
  margin-top: 0;
}

.mean-container .mean-bar {
  padding: 0;
  min-height: auto;
  background: none;
}

.mean-container .mean-nav > ul {
  padding: 0;
  margin: 0;
  width: 100%;
  list-style-type: none;
  display: block !important;
}
.mean-container .mean-nav > ul .homemenu-items {
  display: flex;
  align-items: center;
  gap: 30px;
  justify-content: space-between;
}
@media (max-width: 1199px) {
  .mean-container .mean-nav > ul .homemenu-items {
    flex-wrap: wrap;
  }
}
.mean-container .mean-nav > ul .homemenu-items .homemenu {
  position: relative;
}
@media (max-width: 1199px) {
  .mean-container .mean-nav > ul .homemenu-items .homemenu {
    max-width: 300px;
    text-align: center;
    margin: 0 auto;
    border: 1px solid var(--border);
    padding: 10px;
  }
}
.mean-container .mean-nav > ul .homemenu-items .homemenu .homemenu-thumb {
  position: relative;
}
.mean-container .mean-nav > ul .homemenu-items .homemenu .homemenu-thumb .demo-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
  gap: 10px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease-in-out;
  margin-top: 20px;
}
.mean-container .mean-nav > ul .homemenu-items .homemenu .homemenu-thumb .demo-button .theme-btn {
  padding: 12px 20px;
  color: var(--white) !important;
  width: initial;
  font-size: 16px;
  text-align: center;
  border-radius: 0;
}
.mean-container .mean-nav > ul .homemenu-items .homemenu .homemenu-thumb .demo-button .theme-btn:hover {
  color: var(--white) !important;
}
.mean-container .mean-nav > ul .homemenu-items .homemenu .homemenu-thumb::before {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(20, 19, 19, 0)), to(#5e5ef6));
  background: linear-gradient(to bottom, rgba(99, 92, 92, 0) 0%, #252527 100%);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  content: "";
}
.mean-container .mean-nav > ul .homemenu-items .homemenu .homemenu-thumb:hover::before {
  visibility: visible;
  opacity: 1;
}
.mean-container .mean-nav > ul .homemenu-items .homemenu .homemenu-thumb:hover .demo-button {
  opacity: 1;
  visibility: visible;
  margin-top: 0;
}
.mean-container .mean-nav > ul .homemenu-items .homemenu .homemenu-thumb:hover .homemenu-btn {
  opacity: 1;
  visibility: visible;
  bottom: 50%;
  transform: translateY(50%);
}
.mean-container .mean-nav > ul .homemenu-items .homemenu .homemenu-thumb img {
  width: 100%;
}
.mean-container .mean-nav > ul .homemenu-items .homemenu .homemenu-title {
  text-align: center;
  margin: 15px auto;
  display: inline-block;
  font-size: 16px;
}

.mean-container a.meanmenu-reveal {
  display: none !important;
}

.mean-container .mean-nav ul li a {
  width: 100%;
  padding: 10px 0;
  color: var(--header);
  line-height: 1.5;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  border-bottom: 1px solid var(--border) !important;
  border: none;
  font-family: "Barlow Condensed", sans-serif;
}
.mean-container .mean-nav ul li a:hover {
  color: var(--theme);
}

.mean-container .mean-nav ul li a:last-child {
  border-bottom: 0;
}

.mean-container .mean-nav ul li a:hover {
  color: var(--theme2);
}

.mean-container .mean-nav ul li a.mean-expand {
  margin-top: 5px;
  padding: 0 !important;
}

.mean-container .mean-nav ul li > a > i {
  display: none;
}

.mean-container .mean-nav ul li > a.mean-expand i {
  display: inline-block;
  font-size: 18px;
}

.mean-container .mean-nav > ul > li:first-child > a {
  border-top: 0;
}

.mean-container .mean-nav ul li a.mean-expand.mean-clicked i {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transition: all 0.4s ease-in-out;
}

.mean-container .mean-nav ul li .mega-menu li a {
  height: 200px;
  width: 100%;
  padding: 0;
  border-top: 0;
  margin-bottom: 20px;
}

.news-card-items {
  margin-top: 30px;
  background-color: var(--white);
  box-shadow: 0px 0px 15px 3px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.news-card-items .news-image {
  position: relative;
  overflow: hidden;
}
.news-card-items .news-image img {
  width: 100%;
  height: 100%;
  transition: all 0.4s ease-in-out;
}
.news-card-items .news-image h4 {
  background: var(--theme);
  color: var(--white);
  padding: 12px 18px;
  text-align: center;
  display: grid;
  position: absolute;
  bottom: -8px;
  left: 40px;
  line-height: 1;
  border: 10px solid var(--white);
  font-size: 20px;
  font-weight: 500;
}
.news-card-items .news-image h4 span {
  text-transform: uppercase;
  font-size: 14px;
  display: block;
  margin-top: 5px;
}
.news-card-items .news-content {
  padding: 30px 40px;
}
.news-card-items .news-content .post-meta {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 10px;
}
.news-card-items .news-content .post-meta li {
  font-size: 14px;
  color: var(--text);
}
.news-card-items .news-content .post-meta li i {
  color: var(--theme);
  margin-right: 5px;
}
.news-card-items .news-content h3 {
  border-bottom: 1px solid var(--border);
  padding-bottom: 20px;
  margin-bottom: 20px;
  font-weight: 600;
}
.news-card-items .news-content h3 a:hover {
  color: var(--theme);
}
.news-card-items .news-content .client-info {
  display: flex;
  align-items: center;
  gap: 20px;
}
.news-card-items:hover .news-image img {
  transform: scale(1.1);
}

.news-section {
  position: relative;
  z-index: 99;
}

.news-details-wrapper .news-post-item .details-image {
  position: relative;
}
.news-details-wrapper .news-post-item .details-image img {
  width: 100%;
  height: 100%;
}
.news-details-wrapper .news-post-item .details-image .post {
  position: absolute;
  bottom: -6px;
  left: 40px;
  background-color: var(--theme);
  text-align: center;
  border: 8px solid var(--white);
}
.news-details-wrapper .news-post-item .details-image .post h4 {
  color: var(--white);
  display: grid;
  padding: 12px 15px;
  line-height: 1;
}
.news-details-wrapper .news-post-item .details-image .post h4 span {
  display: inline-block;
  margin-top: 6px;
}
.news-details-wrapper .news-post-item .details-content {
  margin-top: 20px;
}
.news-details-wrapper .news-post-item .details-content .post-list {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 5px;
}
@media (max-width: 1199px) {
  .news-details-wrapper .news-post-item .details-content .post-list {
    flex-wrap: wrap;
  }
}
.news-details-wrapper .news-post-item .details-content .post-list li {
  font-size: 14px;
  font-weight: 500;
}
.news-details-wrapper .news-post-item .details-content .post-list li i {
  color: var(--theme);
  margin-right: 5px;
}
.news-details-wrapper .news-post-item .details-content h3 {
  margin-bottom: 20px;
  font-size: 30px;
}
@media (max-width: 575px) {
  .news-details-wrapper .news-post-item .details-content h3 {
    font-size: 24px;
  }
}
.news-details-wrapper .news-post-item .details-content h3 a:hover {
  color: var(--theme);
}
.news-details-wrapper .news-post-item .details-content .tag-share-wrap {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 30px 0;
}
.news-details-wrapper .news-post-item .details-content .tag-share-wrap .tagcloud {
  display: flex;
  align-items: center;
}
.news-details-wrapper .news-post-item .details-content .tag-share-wrap .tagcloud span {
  font-size: 20px;
  color: var(--header);
  font-weight: 600;
  margin-right: 20px;
  display: inline-block;
  font-family: "Barlow Condensed", sans-serif;
}
.news-details-wrapper .news-post-item .details-content .tag-share-wrap .tagcloud a {
  display: inline-block;
  padding: 15px 20px;
  line-height: 1;
  background: var(--theme);
  color: var(--white);
  margin-right: 8px;
  text-transform: uppercase;
  font-weight: 500;
  transition: all 0.4s ease-in-out;
  font-size: 14px;
  font-family: "Barlow Condensed", sans-serif;
}
@media (max-width: 575px) {
  .news-details-wrapper .news-post-item .details-content .tag-share-wrap .tagcloud a {
    margin-bottom: 5px;
    padding: 12px 23px;
  }
}
.news-details-wrapper .news-post-item .details-content .tag-share-wrap .tagcloud a:hover {
  background-color: var(--header);
}
.news-details-wrapper .news-post-item .details-content .tag-share-wrap .social-share a {
  font-size: 18px;
  color: var(--header);
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  border-radius: 100px;
  text-align: center;
  background-color: rgb(244, 244, 244);
}
.news-details-wrapper .news-post-item .details-content .tag-share-wrap .social-share a:not(:last-child) {
  margin-right: 10px;
}
.news-details-wrapper .news-post-item .details-content .tag-share-wrap .social-share a:hover {
  color: var(--white);
  background-color: var(--theme);
}
.news-details-wrapper .news-post-item .details-content .details-item {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (max-width: 1199px) {
  .news-details-wrapper .news-post-item .details-content .details-item {
    flex-wrap: wrap;
  }
}
.news-details-wrapper .news-post-item .details-content .details-item .item {
  display: flex;
  align-items: center;
  gap: 20px;
  background-color: #f4f4f4;
  padding: 30px;
  transition: all 0.4s ease-in-out;
}
.news-details-wrapper .news-post-item .details-content .details-item .item:hover {
  background-color: var(--theme);
}
.news-details-wrapper .news-post-item .details-content .details-item .item:hover .content h4 {
  color: var(--white);
}
.news-details-wrapper .news-post-item .details-content .comments-area {
  margin-top: 40px;
}
.news-details-wrapper .news-post-item .details-content .comments-area .comments-heading {
  margin-bottom: 10px;
}
@media (max-width: 575px) {
  .news-details-wrapper .news-post-item .details-content .comments-area .comments-heading {
    margin-bottom: 20px;
  }
}
.news-details-wrapper .news-post-item .details-content .comments-area .comments-heading h3 {
  font-size: 30px;
  font-weight: 700;
}
@media (max-width: 575px) {
  .news-details-wrapper .news-post-item .details-content .comments-area .comments-heading h3 {
    font-size: 26px;
  }
}
.news-details-wrapper .news-post-item .details-content .comments-area .blog-single-comment {
  border-bottom: 1px solid var(--border);
}
@media (max-width: 575px) {
  .news-details-wrapper .news-post-item .details-content .comments-area .blog-single-comment {
    flex-wrap: wrap;
    gap: 20px;
  }
}
.news-details-wrapper .news-post-item .details-content .comments-area .blog-single-comment .content .head .con h4 {
  font-weight: 600;
  font-size: 22px;
  text-transform: uppercase;
}
.news-details-wrapper .news-post-item .details-content .comments-area .blog-single-comment .content .reply {
  padding: 15px 25px;
  line-height: 1;
  font-weight: 400;
  background-color: var(--header);
  color: var(--white);
  transition: all 0.4s ease-in-out;
}
.news-details-wrapper .news-post-item .details-content .comments-area .blog-single-comment .content .reply:hover {
  background-color: var(--theme);
}
.news-details-wrapper .news-post-item .details-content .comment-form-wrap h3 {
  font-size: 30px;
  margin-bottom: 30px;
}
@media (max-width: 575px) {
  .news-details-wrapper .news-post-item .details-content .comment-form-wrap h3 {
    font-size: 28px;
    margin-bottom: 20px;
  }
}
.news-details-wrapper .news-post-item .details-content .comment-form-wrap .form-clt input, .news-details-wrapper .news-post-item .details-content .comment-form-wrap .form-clt textarea {
  width: 100%;
  outline: none;
  border: none;
  background-color: #f4f4f4;
  padding: 16px 20px;
  font-weight: 500;
  color: var(--text);
}
.news-details-wrapper .news-post-item .details-content .comment-form-wrap .form-clt input::placeholder, .news-details-wrapper .news-post-item .details-content .comment-form-wrap .form-clt textarea::placeholder {
  color: var(--text);
}
.news-details-wrapper .news-post-item .details-content .comment-form-wrap .form-clt textarea {
  padding-bottom: 100px;
  resize: none;
}

.main-sideber .single-sidebar-widget {
  padding: 45px 30px 50px;
  margin-bottom: 30px;
  background-color: #f4f4f4;
}
.main-sideber .single-sidebar-widget.style-2 {
  background-color: var(--theme);
}
.main-sideber .single-sidebar-widget .wid-title {
  margin-bottom: 25px;
}
.main-sideber .single-sidebar-widget .search-widget form {
  width: 100%;
  position: relative;
}
.main-sideber .single-sidebar-widget .search-widget form input {
  background-color: var(--white);
  font-size: 14px;
  font-weight: 500;
  padding: 16px 20px;
  width: 100%;
  border: none;
  color: var(--text);
}
.main-sideber .single-sidebar-widget .search-widget form button {
  position: absolute;
  right: 20px;
  top: 0;
  font-size: 16px;
  height: 100%;
  color: var(--text);
  text-align: center;
  transition: all 0.3s ease-in-out;
}
.main-sideber .single-sidebar-widget .recent-post-area .recent-items {
  display: flex;
  align-items: center;
  gap: 20px;
}
.main-sideber .single-sidebar-widget .recent-post-area .recent-items:not(:last-child) {
  margin-bottom: 20px;
}
.main-sideber .single-sidebar-widget .recent-post-area .recent-items .recent-content ul {
  margin-bottom: 6px;
}
.main-sideber .single-sidebar-widget .recent-post-area .recent-items .recent-content ul li {
  color: var(--text);
  font-size: 14px;
  font-weight: 500;
}
.main-sideber .single-sidebar-widget .recent-post-area .recent-items .recent-content ul li i {
  color: var(--theme);
  margin-right: 5px;
}
.main-sideber .single-sidebar-widget .recent-post-area .recent-items .recent-content h5 {
  font-weight: 500;
  font-size: 18px;
}
.main-sideber .single-sidebar-widget .recent-post-area .recent-items .recent-content h5 a:hover {
  color: var(--theme);
}
.main-sideber .single-sidebar-widget .news-widget-categories ul li {
  font-size: 16px;
  margin-bottom: 1px;
}
.main-sideber .single-sidebar-widget .news-widget-categories ul li.active a {
  color: var(--header);
  background: #fff;
  padding-left: 25px;
}
.main-sideber .single-sidebar-widget .news-widget-categories ul li.active a::before {
  right: 20px;
  color: var(--theme);
}
.main-sideber .single-sidebar-widget .news-widget-categories ul li a {
  color: var(--text);
  padding: 10px 0;
  display: block;
  position: relative;
  z-index: 9;
  font-weight: 500;
  border-bottom: 1px solid var(--border);
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
}
.main-sideber .single-sidebar-widget .news-widget-categories ul li a::before {
  content: "\f054";
  font-family: "Font Awesome 6 Pro";
  font-size: 11px;
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  font-weight: 900;
  line-height: 1;
  margin-top: -9px;
}
.main-sideber .single-sidebar-widget .news-widget-categories ul li:hover a {
  color: var(--header);
  background: #fff;
  padding-left: 25px;
}
.main-sideber .single-sidebar-widget .news-widget-categories ul li:hover a::before {
  right: 20px;
  color: var(--theme);
}
.main-sideber .single-sidebar-widget .tagcloud a {
  display: inline-block;
  padding: 12px 20px;
  line-height: 1;
  font-size: 14px;
  font-weight: 600;
  background: var(--white);
  font-family: "Barlow Condensed", sans-serif;
  margin-right: 5px;
  text-transform: uppercase;
  margin-bottom: 10px;
  color: var(--text);
  transition: all 0.4s ease-in-out;
}
.main-sideber .single-sidebar-widget .tagcloud a:last-child {
  margin-right: 0;
}
.main-sideber .single-sidebar-widget .tagcloud a:hover {
  background-color: var(--theme);
  color: var(--white);
}

.search-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  background-color: rgba(255, 255, 255, 0.9);
}
.search-wrap .search-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.search-wrap .search-cell {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
}
.search-wrap .search-field-holder {
  width: 50%;
  margin: auto;
  position: relative;
  animation: slideInUp 0.3s;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .search-wrap .search-field-holder {
    width: 70%;
  }
}
@media (max-width: 575px) {
  .search-wrap .search-field-holder {
    width: 80%;
  }
}
.search-wrap .main-search-input {
  width: 100%;
  height: 70px;
  border: 0;
  padding: 0 50px;
  text-transform: capitalize;
  background: transparent;
  font-size: 25px;
  color: var(--theme);
  border-bottom: 2px solid var(--theme);
  text-align: center;
  letter-spacing: 2px;
}

@media (max-width: 575px) {
  .search-wrap .main-search-input {
    height: 50px;
    padding: 0 0;
    line-height: 50px;
    font-size: 18px;
  }
}
.search-wrap input.form-control,
.search-wrap input.form-control:focus {
  background-color: var(--theme);
}

input.main-search-input::placeholder {
  color: var(--theme);
  opacity: 1;
  font-size: 25px;
}

@media (max-width: 575px) {
  input.main-search-input::placeholder {
    font-size: 18px;
  }
}
.search-close {
  position: absolute;
  top: 50px;
  right: 50px;
  font-size: 30px;
  color: var(--theme);
  cursor: pointer;
}

.mouse-cursor {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  border-radius: 50%;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  visibility: hidden;
}

.cursor-inner {
  width: 6px;
  height: 6px;
  z-index: 10000001;
  background-color: var(--theme);
  -webkit-transition: width 0.3s ease-in-out, height 0.3s ease-in-out, margin 0.3s ease-in-out, opacity 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out, height 0.3s ease-in-out, margin 0.3s ease-in-out, opacity 0.3s ease-in-out;
  transition: width 0.3s ease-in-out, height 0.3s ease-in-out, margin 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.cursor-inner.cursor-hover {
  margin-left: -35px;
  margin-top: -35px;
  width: 70px;
  height: 70px;
  background-color: var(--theme);
  opacity: 0.3;
}

.cursor-outer {
  margin-left: -12px;
  margin-top: -12px;
  width: 30px;
  height: 30px;
  border: 1px solid var(--theme);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 10000000;
  opacity: 0.5;
  -webkit-transition: all 0.08s ease-out;
  -o-transition: all 0.08s ease-out;
  transition: all 0.08s ease-out;
}

.cursor-outer.cursor-hover {
  opacity: 0;
}

.back-to-top {
  border-radius: 50%;
  background-color: var(--theme);
  width: 50px;
  height: 50px;
  line-height: 50px;
  color: var(--white);
  font-size: 18px;
  position: fixed;
  display: inline-block;
  z-index: 999;
  right: 30px;
  bottom: 30px;
  transition: all 0.4s ease-in-out;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
}
.back-to-top:hover {
  background-color: var(--header);
  color: var(--white);
}
.back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translate(0);
}

.preloader {
  align-items: center;
  cursor: default;
  display: flex;
  height: 100%;
  justify-content: center;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 9999999;
}
.preloader .animation-preloader {
  z-index: 1000;
}
.preloader .animation-preloader .spinner {
  animation: spinner 1s infinite linear;
  border-radius: 50%;
  border: 3px solid rgba(0, 0, 0, 0.2);
  border-top-color: var(--theme);
  height: 9em;
  margin: 0 auto 3.5em auto;
  width: 9em;
}
@media (max-width: 767px) {
  .preloader .animation-preloader .spinner {
    width: 7.5em;
    height: 7.5em;
    margin: 0 auto 1.5em auto;
  }
}
.preloader .animation-preloader .txt-loading {
  font: bold 5em "Barlow Condensed", sans-serif, "Manrope", sans-serif;
  text-align: center;
  user-select: none;
}
@media (max-width: 767px) {
  .preloader .animation-preloader .txt-loading {
    font-size: 2.5em;
  }
}
.preloader .animation-preloader .txt-loading .letters-loading {
  color: var(--theme);
  position: relative;
}
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(2):before {
  animation-delay: 0.2s;
}
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(3):before {
  animation-delay: 0.4s;
}
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(4):before {
  animation-delay: 0.6s;
}
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(5):before {
  animation-delay: 0.8s;
}
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(6):before {
  animation-delay: 1s;
}
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(7):before {
  animation-delay: 1.2s;
}
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(8):before {
  animation-delay: 1.4s;
}
.preloader .animation-preloader .txt-loading .letters-loading::before {
  animation: letters-loading 4s infinite;
  color: var(--header);
  content: attr(data-text-preloader);
  left: 0;
  opacity: 0;
  font-family: "Barlow Condensed", sans-serif;
  position: absolute;
  top: -3px;
  transform: rotateY(-90deg);
}
.preloader p {
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 8px;
  color: var(--theme);
}
.preloader .loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 0;
  z-index: 1;
  pointer-events: none;
}
.preloader .loader .row {
  height: 100%;
}
.preloader .loader .loader-section {
  padding: 0px;
}
.preloader .loader .loader-section .bg {
  background-color: var(--white);
  height: 100%;
  left: 0;
  width: 100%;
  transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
}
.preloader.loaded .animation-preloader {
  opacity: 0;
  transition: 0.3s ease-out;
}
.preloader.loaded .loader-section .bg {
  width: 0;
  transition: 0.7s 0.3s allcubic-bezier(0.1, 0.1, 0.1, 1);
}

.project-card-items {
  margin-top: 30px;
}
.project-card-items .project-image {
  position: relative;
  overflow: hidden;
}
@media (max-width: 575px) {
  .project-card-items .project-image {
    height: 450px;
  }
}
.project-card-items .project-image::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(23, 23, 23, 0.5);
}
.project-card-items .project-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-card-items .project-image:not([style*="background-image"]) img {
  display: none;
}
.project-card-items .project-image:not([style*="background-image"]) {
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.project-card-items .project-image:not([style*="background-image"]):hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  transform: translateY(-5px);
  background-color: #FF9999 !important;
}
.project-card-items .project-image:not([style*="background-image"])::before {
  display: none;
}
.project-card-items .project-image:not([style*="background-image"]) .project-content {
  position: static !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.project-card-items .project-image:not([style*="background-image"]) .project-content span {
  color: var(--theme);
  opacity: 0.3;
}
.project-card-items .project-image:not([style*="background-image"]) .project-content .content h6 {
  color: var(--theme);
  text-transform: uppercase;
  font-weight: 600;
}
.project-card-items .project-image:not([style*="background-image"]) .project-content .content h3 a {
  color: #333;
}
.project-card-items .project-image:not([style*="background-image"]) .project-content .content h3 a:hover {
  color: var(--theme);
}
.project-card-items .project-image:not([style*="background-image"]) .project-content .content h4 {
  color: #000;
}
.project-card-items .project-image:not([style*="background-image"]) .project-content .content p {
  color: #000 !important;
}
.project-card-items .project-image .project-content {
  display: flex;
  align-items: center;
  gap: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 45px 45px;
}
@media (max-width: 767px) {
  .project-card-items .project-image .project-content {
    padding: 25px;
  }
}
.project-card-items .project-image .project-content::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--theme);
  opacity: 0;
  visibility: hidden;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: all 0.4s ease-in-out;
}
.project-card-items .project-image .project-content span {
  font-size: 60px;
  color: rgba(255, 255, 255, 0.2);
  font-weight: 600;
}
.project-card-items .project-image .project-content .content h6 {
  font-size: 12px;
  color: var(--white);
  letter-spacing: 1.2px;
}
.project-card-items .project-image .project-content .content h3 a {
  color: var(--white);
}
.project-card-items:hover .project-image .project-content span {
  color: var(--white);
  z-index: 1;
}
.project-card-items:hover .project-image .project-content .content {
  color: var(--white);
  z-index: 1;
}
.project-card-items:hover .project-image .project-content:before {
  width: 100%;
  opacity: 1;
  visibility: visible;
}

.project-section {
  position: relative;
}
.project-section .bg-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
.project-section .bg-image img {
  width: 100%;
  height: 100%;
}

.project-image-items {
  margin-top: 30px;
  position: relative;
  overflow: hidden;
}
.project-image-items img {
  width: 100%;
  height: 100%;
}
.project-image-items::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgb(237, 59, 59);
  top: 20px;
  bottom: 20px;
  left: 20px;
  right: 20px;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  transition: all 0.4s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
.project-image-items .icon {
  display: inline-block;
  background-color: var(--white);
  color: var(--header);
  width: 75px;
  height: 75px;
  line-height: 75px;
  text-align: center;
  position: absolute;
  top: -100px;
  right: 20px;
  font-size: 20px;
  transition: all 0.4s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
.project-image-items .icon:hover {
  background-color: var(--header);
  color: var(--white);
}
.project-image-items .content {
  position: absolute;
  bottom: -150px;
  left: 50px;
  transition: all 0.4s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
.project-image-items .content p {
  font-weight: 600;
  color: var(--white);
  font-size: 14px;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}
.project-image-items .content h3 {
  font-weight: 600;
  font-size: 20px;
}
.project-image-items .content h3 a {
  color: var(--white);
}
.project-image-items:hover::before {
  opacity: 0.902;
  visibility: visible;
}
.project-image-items:hover .content {
  opacity: 1;
  visibility: visible;
  bottom: 50px;
}
.project-image-items:hover .icon {
  opacity: 1;
  visibility: visible;
  top: 20px;
}

.project-card-items-2 {
  margin-top: 30px;
}
.project-card-items-2 .project-image {
  overflow: hidden;
  position: relative;
  transition: all 0.4s ease-in-out;
  display: block;
}
.project-card-items-2 .project-image img {
  width: 100%;
  height: 100%;
}
.project-card-items-2 .project-image .project-content {
  padding: 40px;
  background: rgba(23, 23, 23, 0.9);
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease-in-out;
  width: 300px;
}
.project-card-items-2 .project-image .project-content h3 a {
  color: var(--white);
}
.project-card-items-2 .project-image .project-content h3 a:hover {
  color: var(--theme);
}
.project-card-items-2 .project-image .project-content span {
  color: #df3939;
  font-size: 12px;
}
.project-card-items-2 .project-image .project-content .icon {
  position: absolute;
  right: 0;
  top: -26px;
  width: 45px;
  height: 45px;
  line-height: 45px;
  background-color: var(--theme);
  color: var(--white);
  display: inline-block;
  text-align: center;
  font-size: 18px;
}
.project-card-items-2:hover .project-image .project-content {
  visibility: visible;
  opacity: 1;
  bottom: 0;
}

.project-section-3 .container-fluid {
  padding: 0 60px;
}
@media (max-width: 1600px) {
  .project-section-3 .container-fluid {
    padding: 0 50px;
  }
}
@media (max-width: 1399px) {
  .project-section-3 .container-fluid {
    padding: 0 40px;
  }
}
@media (max-width: 1199px) {
  .project-section-3 .container-fluid {
    padding: 0 30px;
  }
}

.project-details-wrapper .details-image img {
  width: 100%;
  height: 100%;
}
.project-details-wrapper .project-information {
  padding: 45px 40px;
  background-color: var(--white);
  border-top: 10px solid var(--theme);
  margin: 0 auto;
  max-width: 1050px;
  box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.1);
  margin-top: -50px;
  position: relative;
  z-index: 9;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1199px) {
  .project-details-wrapper .project-information {
    flex-wrap: wrap;
    gap: 30px;
    padding: 30px;
    justify-content: start;
  }
}
.project-details-wrapper .project-information ul {
  display: flex;
  align-items: center;
  gap: 60px;
  justify-content: center;
}
@media (max-width: 1199px) {
  .project-details-wrapper .project-information ul {
    flex-wrap: wrap;
    gap: 30px;
    justify-content: start;
  }
}
.project-details-wrapper .project-information ul li {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 18px;
  color: var(--header);
  font-weight: 600;
  text-transform: uppercase;
}
.project-details-wrapper .project-information ul li span {
  font-size: 16px;
  font-family: "Barlow Condensed", sans-serif;
  display: block;
  font-weight: 500;
  color: var(--text);
}
.project-details-wrapper .project-information .social-icon {
  gap: 12px;
}
.project-details-wrapper .project-information .social-icon a {
  width: 42px;
  height: 42px;
  line-height: 42px;
  background-color: #f4f4f4;
  color: var(--header);
  text-align: center;
  border-radius: 50%;
}
.project-details-wrapper .project-information .social-icon a:hover {
  background-color: var(--theme);
  color: var(--white);
}
.project-details-wrapper .project-content {
  margin-top: 30px;
}
.project-details-wrapper .project-content h2 {
  font-size: 36px;
  margin-bottom: 20px;
}
.project-details-wrapper .project-content h3 {
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 20px;
}
.project-details-wrapper .project-content h4 {
  font-size: 24px;
  font-weight: bold;
  font-family: "Manrope", sans-serif;
  color: var(--theme);
  text-transform: capitalize;
  margin-top: 25px;
  margin-bottom: 20px;
}
.project-details-wrapper .project-content .details-list {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 30px;
}
@media (max-width: 1199px) {
  .project-details-wrapper .project-content .details-list {
    flex-wrap: wrap;
  }
}
.project-details-wrapper .project-content .details-list ul li {
  font-weight: 700;
  color: var(--header);
}
.project-details-wrapper .project-content .details-list ul li:not(:last-child) {
  margin-bottom: 14px;
}
.project-details-wrapper .project-content .details-list ul li i {
  margin-right: 10px;
  color: var(--theme);
}
.project-details-wrapper .slider-button {
  border-top: 1px solid #E5E5E5;
  border-bottom: 1px solid #E5E5E5;
  margin-top: 65px;
  padding: 25px 0;
}
.project-details-wrapper .slider-button .cmn-next,
.project-details-wrapper .slider-button .cmn-prev {
  width: 70px;
  height: 70px;
  line-height: 75px;
  text-align: center;
  border-radius: 50%;
  transition: all 0.4s;
  background-color: #f4f4f4;
}
.project-details-wrapper .slider-button .cmn-next i,
.project-details-wrapper .slider-button .cmn-prev i {
  color: #454750;
  font-size: 24px;
  transition: all 0.4s;
}
.project-details-wrapper .slider-button .cmn-next:hover,
.project-details-wrapper .slider-button .cmn-prev:hover {
  background: var(--theme);
  border-color: var(--theme);
}
.project-details-wrapper .slider-button .cmn-next:hover i,
.project-details-wrapper .slider-button .cmn-prev:hover i {
  color: var(--white);
}
@media (max-width: 1399px) {
  .project-details-wrapper .slider-button .cmn-next,
  .project-details-wrapper .slider-button .cmn-prev {
    width: 48px;
    height: 48px;
    line-height: 48px;
  }
  .project-details-wrapper .slider-button .cmn-next i,
  .project-details-wrapper .slider-button .cmn-prev i {
    font-size: 17px;
  }
}
@media (max-width: 1399px) {
  .project-details-wrapper .slider-button .cmn-next,
  .project-details-wrapper .slider-button .cmn-prev {
    width: 38px;
    height: 38px;
    line-height: 38px;
  }
  .project-details-wrapper .slider-button .cmn-next i,
  .project-details-wrapper .slider-button .cmn-prev i {
    font-size: 16px;
  }
}
.project-details-wrapper .slider-button .previus-text {
  font-size: 18px;
  color: var(--header);
  text-transform: uppercase !important;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600 !important;
}
@media (max-width: 575px) {
  .project-details-wrapper .slider-button .previus-text {
    font-size: 18px;
  }
  .project-details-wrapper .slider-button .project-storke {
    font-size: 30px;
  }
}
@media (max-width: 575px) {
  .project-details-wrapper .slider-button .previus-text {
    font-size: 16px;
  }
  .project-details-wrapper .slider-button .project-storke {
    font-size: 24px;
  }
}
@media (max-width: 470px) {
  .project-details-wrapper .slider-button .previus-text {
    font-size: 14px;
  }
  .project-details-wrapper .slider-button .project-storke {
    display: none;
  }
}

.section-padding {
  padding: 120px 0;
}
@media (max-width: 1199px) {
  .section-padding {
    padding: 100px 0;
  }
}
@media (max-width: 991px) {
  .section-padding {
    padding: 80px 0;
  }
}

.section-title {
  margin-bottom: 20px;
  margin-top: -7px;
}
.section-title span {
  font-size: 18px;
  font-weight: 600;
  color: var(--theme);
  position: relative;
  display: inline-block;
  margin-bottom: 10px;
}
.section-title span::before {
  content: "//";
  display: inline-block;
  margin-right: 5px;
}

.section-title-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .section-title-area {
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 0;
    justify-content: center;
    text-align: center;
  }
}
.section-title-area .section-title {
  margin-bottom: 0;
}

.service-wrapper {
  background-color: var(--white);
  padding: 40px;
  border-top: 12px solid var(--theme);
  margin-top: -15px;
  position: relative;
  z-index: 9;
}
.service-wrapper .service-box-items {
  background-color: #f4f4f4;
  padding: 30px 30px 10px;
  position: relative;
  z-index: 9;
}
.service-wrapper .service-box-items::before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  width: 97px;
  height: 98px;
  z-index: 2;
  background-image: url(../../assets/img/service/shape.png);
}
.service-wrapper .service-box-items::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(-45deg, rgba(237, 59, 59, 0.3) 0 0%, rgba(255, 255, 255, 0) 40% 0%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: -1;
  opacity: 0;
}
.service-wrapper .service-box-items .content {
  margin-top: 15px;
}
.service-wrapper .service-box-items .content h4 {
  margin-bottom: 10px;
  padding-bottom: 30px;
  border-bottom: 1px solid #d7d7d7;
}
.service-wrapper .service-box-items .content h4 a:hover {
  color: var(--theme);
}
.service-wrapper .service-box-items:hover::after {
  opacity: 1;
}
.service-wrapper .service-info {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 40px;
}
@media (max-width: 575px) {
  .service-wrapper .service-info {
    flex-wrap: wrap;
  }
}
.service-wrapper .service-info .info-content p {
  color: var(--text);
}
.service-wrapper .service-image {
  position: relative;
}
.service-wrapper .service-image img {
  width: 100%;
  height: 100%;
}
.service-wrapper .service-image::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(23, 23, 23, 0.8);
}
.service-wrapper .service-image .service-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  padding: 40px;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
}
.service-wrapper .service-image .service-content h3 {
  font-weight: 600;
}
.service-wrapper .service-image .service-content h3 a {
  color: var(--white);
}
.service-wrapper .service-image .service-content h3 a:hover {
  color: var(--theme);
}
.service-wrapper .service-image .service-content .theme-btn {
  padding: 22px 20px;
}
.service-wrapper .service-image .service-content .theme-btn::before, .service-wrapper .service-image .service-content .theme-btn::after {
  background-color: var(--white);
}
.service-wrapper .service-image .service-content .theme-btn:hover {
  color: var(--header);
}

.service-card-items {
  margin-top: 30px;
  padding: 10px;
  background-color: var(--white);
  padding-bottom: 0;
}
.service-card-items .service-items {
  padding: 40px;
  background-color: #f4f4f4;
  position: relative;
  z-index: 9;
}
.service-card-items .service-items .content {
  margin-top: 20px;
  position: relative;
  z-index: 9;
}
.service-card-items .service-items .content h4 {
  font-weight: 600;
  margin-bottom: 15px;
}
.service-card-items .service-items .content h4 a:hover {
  color: var(--theme);
}
.service-card-items .service-items .bg-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: all 0.4s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
.service-card-items .service-items .bg-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-card-items .link-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  padding: 10px 40px;
}
.service-card-items .link-btn:hover {
  color: var(--theme);
}
.service-card-items:hover .service-items .bg-image, .service-card-items.active .service-items .bg-image {
  opacity: 1;
  visibility: visible;
}
.service-card-items:hover .service-items .content h4 a, .service-card-items.active .service-items .content h4 a {
  color: var(--white);
}
.service-card-items:hover .service-items .content h4 a:hover, .service-card-items.active .service-items .content h4 a:hover {
  color: var(--theme);
}
.service-card-items:hover .service-items .content p, .service-card-items.active .service-items .content p {
  color: var(--white);
}

.service-box-items-3 {
  margin-top: 30px;
  padding: 30px 30px 20px;
  background-color: var(--white);
  position: relative;
  z-index: 9;
  transition: all 0.4s ease-in-out;
}
.service-box-items-3::before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  width: 97px;
  height: 98px;
  z-index: 2;
  background-image: url(../../assets/img/service/shape.png);
}
.service-box-items-3 .icon {
  transition: all 0.4s ease-in-out;
}
.service-box-items-3 .content {
  margin-top: 10px;
}
.service-box-items-3 .content h4 {
  font-weight: 600;
  margin-bottom: 10px;
  padding-bottom: 30px;
  border-bottom: 1px solid #d7d7d7;
}
.service-box-items-3 .content .link-btn {
  text-align: right;
  display: block;
  line-height: 1;
  padding-top: 10px;
}
.service-box-items-3:hover {
  background-color: var(--theme);
}
.service-box-items-3:hover .icon {
  filter: grayscale(100%) brightness(300%);
}
.service-box-items-3:hover .content h4 {
  border-bottom: 1px solid var(--header);
}
.service-box-items-3:hover .content h4 a {
  color: var(--white);
}
.service-box-items-3:hover .content .link-btn {
  color: var(--header);
}

@media (max-width: 1199px) {
  .service-section-2 .section-title-area {
    flex-wrap: wrap;
    gap: 30px;
  }
}

.service-details-wrapper .service-details-post .details-image img {
  width: 100%;
  height: 100%;
}
.service-details-wrapper .service-details-post .details-content {
  margin-top: 30px;
}
.service-details-wrapper .service-details-post .details-content h3 {
  font-size: 36px;
  font-weight: 600;
}
.service-details-wrapper .service-details-post .details-content span {
  color: var(--theme);
  font-weight: 400;
}
.service-details-wrapper .service-details-post .details-content .details-area {
  display: flex;
  align-items: center;
  gap: 50px;
  margin-top: 40px;
  margin-bottom: 50px;
}
@media (max-width: 1199px) {
  .service-details-wrapper .service-details-post .details-content .details-area {
    flex-wrap: wrap;
    gap: 20px;
  }
}
.service-details-wrapper .service-details-post .details-content .details-area .details-items {
  display: flex;
  gap: 25px;
  border-bottom: 2px solid var(--theme);
  padding-bottom: 20px;
}
@media (max-width: 1199px) {
  .service-details-wrapper .service-details-post .details-content .details-area .details-items {
    flex-wrap: wrap;
    gap: 20px;
  }
}
.service-details-wrapper .service-details-post .details-content .details-area .details-items .icon {
  width: 110px;
  height: 70px;
  line-height: 70px;
  text-align: center;
  background-color: var(--theme);
  transition: all 0.4s ease-in-out;
}
.service-details-wrapper .service-details-post .details-content .details-area .details-items .content h4 {
  margin-bottom: 10px;
}
.service-details-wrapper .service-details-post .details-content .details-area .details-items:hover .icon {
  background-color: var(--header);
}
.service-details-wrapper .service-details-post .details-content .list-area {
  display: flex;
  align-items: center;
  gap: 100px;
}
@media (max-width: 1199px) {
  .service-details-wrapper .service-details-post .details-content .list-area {
    gap: 30px;
    flex-wrap: wrap;
  }
}
.service-details-wrapper .service-details-post .details-content .list-area .list-content h3 {
  margin-bottom: 30px;
}
.service-details-wrapper .service-details-post .details-content .list-area .list-content h5 {
  color: var(--theme);
  font-weight: 600;
}
.service-details-wrapper .service-details-post .details-content .list-area .list-content .details-list {
  margin-top: 30px;
}
.service-details-wrapper .service-details-post .details-content .list-area .list-content .details-list li {
  color: var(--text);
  font-weight: 500;
}
.service-details-wrapper .service-details-post .details-content .list-area .list-content .details-list li:not(:last-child) {
  margin-bottom: 10px;
}
.service-details-wrapper .service-details-post .details-content .list-area .list-content .details-list li i {
  margin-right: 6px;
  height: 20px;
  width: 20px;
  line-height: 20px;
  border-radius: 30px;
  text-align: center;
  background: var(--theme);
  color: var(--white);
  font-size: 12px;
}
.service-details-wrapper .head-service-text {
  font-size: 20px;
  font-weight: 600 !important;
  font-family: "Barlow Condensed", sans-serif;
  color: var(--theme);
  text-transform: uppercase;
}

.main-sideber .service-sideber .single-sidebar-widget {
  border: 2px solid var(--theme);
  padding: 30px;
  margin-bottom: 30px;
  background-color: var(--white);
}
.main-sideber .service-sideber .single-sidebar-widget .widget-categories ul li {
  display: flex;
  align-items: center;
  transition: all 0.4s ease-in-out;
  justify-content: space-between;
  padding: 12px 20px;
  background-color: #f4f4f4;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 18px;
}
.main-sideber .service-sideber .single-sidebar-widget .widget-categories ul li:not(:last-child) {
  margin-bottom: 10px;
}
.main-sideber .service-sideber .single-sidebar-widget .widget-categories ul li:hover {
  background-color: var(--theme);
  color: var(--white);
}
.main-sideber .service-sideber .single-sidebar-widget .widget-categories ul li:hover a {
  color: var(--white);
}
.main-sideber .post-bg-image {
  position: relative;
  overflow: hidden;
}
.main-sideber .post-bg-image .service-contact-items {
  padding: 50px;
  position: relative;
  z-index: 9;
}
.main-sideber .post-bg-image .service-contact-items .icon {
  width: 70px;
  height: 70px;
  line-height: 70px;
  border-radius: 100px;
  text-align: center;
  background-color: var(--header);
  color: var(--white);
  margin-bottom: 30px;
  transition: all 0.4s ease-in-out;
  position: relative;
}
.main-sideber .post-bg-image .service-contact-items .icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  transform: translate(-50%, -50%);
  width: 108px;
  height: 108px;
  line-height: 108px;
  background-color: rgba(255, 255, 255, 0.102);
  border-radius: 50%;
}
.main-sideber .post-bg-image .service-contact-items .icon:hover {
  background-color: var(--theme);
}
.main-sideber .post-bg-image .service-contact-items .content h3 {
  color: var(--white);
  margin-bottom: 50px;
  font-size: 30px;
  font-weight: 600;
}
.main-sideber .post-bg-image .service-contact-items .content .contact span {
  color: var(--white);
  font-size: 14px;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}
.main-sideber .post-bg-image .service-contact-items .content .contact h4 {
  font-size: 20px;
  font-weight: 600;
}
.main-sideber .post-bg-image .service-contact-items .content .contact h4 a {
  color: var(--white);
}
.main-sideber .post-bg-image .bg-shape {
  position: absolute;
  top: 0;
  left: -80px;
  bottom: -5px;
}
.main-sideber .post-bg-image .bg-shape img {
  width: 100%;
  height: 100%;
}
.main-sideber .service-document {
  display: flex;
  align-items: center;
  gap: 30px;
  background-color: var(--theme);
  padding: 40px;
  margin-top: 30px;
}
.main-sideber .service-document .icon {
  color: var(--white);
  font-size: 30px;
}
.main-sideber .service-document .content h6 {
  font-weight: 500;
}
.main-sideber .service-document .content h6 a {
  color: var(--white);
}
.main-sideber .service-document .content span {
  font-size: 12px;
  color: var(--white);
}

.team-card-items {
  margin-top: 60px;
  position: relative;
}
.team-card-items .bg-image {
  position: absolute;
  right: -30px;
  top: -30px;
  z-index: -1;
}
.team-card-items .bg-image img {
  width: 100%;
  height: 100%;
}
.team-card-items .team-image {
  position: relative;
  padding-top: 30px;
  padding-right: 30px;
}
.team-card-items .team-image img {
  width: 100%;
  height: 100%;
}
.team-card-items .team-image::before {
  content: "";
  position: absolute;
  top: -30px;
  right: -30px;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url(../../assets/img/team/bg-shape.png) no-repeat calc(100% - 30px) 30px #f4f4f4;
}
.team-card-items .team-content {
  background-color: var(--white);
  padding: 20px;
  margin-top: -50px;
  position: relative;
}
.team-card-items .team-content .social-profile {
  position: absolute;
  right: 30px;
  bottom: 30px;
  content: "";
  transition: all 0.4s ease-in-out;
  z-index: 2;
  display: inline-block;
  overflow: hidden;
  cursor: pointer;
}
.team-card-items .team-content .social-profile ul {
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  transition: all 0.6s ease-in-out;
}
.team-card-items .team-content .social-profile ul li a {
  width: 50px;
  height: 50px;
  background: var(--white);
  display: block;
  color: var(--header);
  text-align: center;
  line-height: 50px;
  transition: all 0.4s ease-in-out;
}
.team-card-items .team-content .social-profile ul li a:hover {
  background-color: var(--theme);
  color: var(--white);
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.team-card-items .team-content .social-profile .share-btn {
  width: 50px;
  height: 50px;
  background: var(--white);
  display: inline-block;
  color: var(--header);
  text-align: center;
  line-height: 50px;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
}
.team-card-items .team-content .social-profile:hover ul {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.team-box-items {
  margin-top: 30px;
}
.team-box-items .thumb {
  position: relative;
}
.team-box-items .thumb img {
  width: 100%;
  height: 100%;
}
.team-box-items .thumb::after {
  content: "";
  position: absolute;
  top: -35px;
  right: 0px;
  width: 9%;
  height: 100%;
  background-image: linear-gradient(-45deg, rgba(237, 59, 59, 0.3) 0 0%, rgba(255, 255, 255, 0) 40% 0%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
}
.team-box-items .content {
  background-color: var(--white);
  padding: 20px;
  margin-top: -80px;
  position: relative;
  margin-right: 60px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.team-box-items .content span {
  font-size: 14px;
  text-transform: uppercase;
  font-family: "Barlow Condensed", sans-serif;
}
.team-box-items .content h3 {
  font-weight: 600;
}
.team-box-items .content h3:hover {
  color: var(--theme);
}
.team-box-items .content .social-profile {
  position: absolute;
  right: 10px;
  bottom: 20px;
  content: "";
  transition: all 0.4s ease-in-out;
  z-index: 2;
  display: inline-block;
  overflow: hidden;
  cursor: pointer;
}
.team-box-items .content .social-profile ul {
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s ease-in-out;
  position: relative;
}
.team-box-items .content .social-profile ul::before {
  position: absolute;
  content: "";
  left: 50%;
  bottom: -5px;
  border-top: 5px solid var(--theme);
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  margin-left: -7px;
  z-index: 99;
}
.team-box-items .content .social-profile ul li a {
  padding: 7px 10px;
  background-color: var(--theme);
  color: var(--white);
  display: block;
  text-align: center;
  transition: all 0.4s ease-in-out;
}
.team-box-items .content .social-profile ul li a:hover {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.team-box-items .content .social-profile .share-btn {
  width: 50px;
  height: 50px;
  background: var(--white);
  display: inline-block;
  color: var(--header);
  text-align: center;
  line-height: 50px;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
  border-left: 1px solid #d7d7d7;
  padding-left: 5px;
}
.team-box-items .content .social-profile:hover .share-btn {
  color: var(--theme);
}
.team-box-items .content .social-profile:hover ul {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.team-box-items:hover .thumb::after {
  opacity: 1;
}

.testimonial-wrapper .testimonial-content {
  position: relative;
}
.testimonial-wrapper .testimonial-content p {
  max-width: 250px;
  margin-top: 35px;
  position: relative;
  z-index: 9;
}
.testimonial-wrapper .testimonial-content .circle-shape {
  position: absolute;
  bottom: 50px;
  right: 30px;
}
@media (max-width: 1199px) {
  .testimonial-wrapper .testimonial-content .circle-shape {
    display: none;
  }
}
.testimonial-wrapper .testimonial-content .circle-shape .animation-circle {
  animation: cir36 10s linear infinite;
}
.testimonial-wrapper .testimonial-content .circle-shape .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.testimonial-wrapper .testimonial-content .array-button {
  margin-top: 30px;
}
.testimonial-wrapper .testimonial-content .array-button .array-next, .testimonial-wrapper .testimonial-content .array-button .array-prev {
  width: 55px;
  height: 55px;
  line-height: 55px;
  text-align: center;
  border-radius: 50%;
  background-color: var(--white);
  text-align: center;
  color: var(--header);
  transition: all 0.4s ease-in-out;
}
.testimonial-wrapper .testimonial-content .array-button .array-next:hover, .testimonial-wrapper .testimonial-content .array-button .array-prev:hover {
  background-color: var(--theme);
  color: var(--white);
}
.testimonial-wrapper .testimonial-right-wrapper {
  margin-right: -30%;
}
@media (max-width: 1199px) {
  .testimonial-wrapper .testimonial-right-wrapper {
    margin-right: 0;
  }
}
.testimonial-wrapper .testimonial-right-wrapper .testimonial-box-items .content {
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 60px 0px rgba(0, 0, 0, 0.07);
  padding: 40px;
  position: relative;
}
.testimonial-wrapper .testimonial-right-wrapper .testimonial-box-items .content .star {
  color: var(--theme);
  margin-bottom: 15px;
}
.testimonial-wrapper .testimonial-right-wrapper .testimonial-box-items .content .bar-shape {
  position: absolute;
  bottom: -26px;
  left: 0;
  right: 0;
}
.testimonial-wrapper .testimonial-right-wrapper .testimonial-box-items .content .bar-shape img {
  width: 100%;
  height: 100%;
}
.testimonial-wrapper .testimonial-right-wrapper .testimonial-box-items .client-info {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 30px;
}
.testimonial-wrapper .testimonial-right-wrapper .testimonial-box-items .client-info .client-content h3 {
  font-size: 22px;
  font-weight: 500;
}
.testimonial-wrapper .testimonial-right-wrapper .testimonial-box-items .client-info .client-content span {
  font-size: 15px;
  font-weight: 500;
}

.testimonial-section-2 {
  background-color: rgb(244, 244, 244);
}

.testimonial-wrapper-2 {
  position: relative;
}
.testimonial-wrapper-2 .client-shape-image {
  position: absolute;
  right: -11%;
  top: -20px;
}
.testimonial-wrapper-2 .testimonial-content {
  position: relative;
  z-index: 9;
}
.testimonial-wrapper-2 .testimonial-content p {
  font-weight: 500;
}
.testimonial-wrapper-2 .testimonial-right-items {
  position: relative;
}
.testimonial-wrapper-2 .testimonial-right-items .icon {
  width: 105px;
  height: 105px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  background: var(--theme);
  border-radius: 0 0 0 100%;
  font-size: 42px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 20px;
}
.testimonial-wrapper-2 .testimonial-right-items .content {
  padding: 60px;
  background-color: var(--white);
  position: relative;
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.07);
}
@media (max-width: 991px) {
  .testimonial-wrapper-2 .testimonial-right-items .content {
    padding: 50px;
  }
}
@media (max-width: 767px) {
  .testimonial-wrapper-2 .testimonial-right-items .content {
    padding: 40px;
  }
}
@media (max-width: 575px) {
  .testimonial-wrapper-2 .testimonial-right-items .content {
    padding: 30px;
  }
}
.testimonial-wrapper-2 .testimonial-right-items .content .star {
  color: var(--theme);
  margin-bottom: 15px;
}
.testimonial-wrapper-2 .testimonial-right-items .content p {
  font-size: 20px;
  font-weight: 500;
  line-height: 38px;
}
@media (max-width: 767px) {
  .testimonial-wrapper-2 .testimonial-right-items .content p {
    font-size: 18px;
  }
}
@media (max-width: 575px) {
  .testimonial-wrapper-2 .testimonial-right-items .content p {
    font-size: 16px;
  }
}
.testimonial-wrapper-2 .testimonial-right-items .content .testimonial-one__arrow {
  display: inline-block;
  width: 146px;
  height: 50px;
  position: absolute;
  top: 100%;
  left: 60px;
}
.testimonial-wrapper-2 .testimonial-right-items .content .testimonial-one__arrow .first {
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: -2px;
  background: #fff;
  z-index: 9;
}
.testimonial-wrapper-2 .testimonial-right-items .content .testimonial-one__arrow .second {
  position: absolute;
  left: 0;
  right: -4px;
  bottom: -4px;
  top: 0;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  background: var(--theme);
  z-index: 1;
}
.testimonial-wrapper-2 .testimonial-right-items .client-info {
  margin-left: 160px;
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (max-width: 575px) {
  .testimonial-wrapper-2 .testimonial-right-items .client-info {
    margin-left: 130px;
    position: relative;
    z-index: 9;
  }
}
.testimonial-wrapper-2 .testimonial-right-items .client-info .client-img {
  width: 90px;
  height: 90px;
  line-height: 82px;
  text-align: center;
  border: 2px solid var(--theme);
  border-radius: 50%;
}
.testimonial-wrapper-2 .testimonial-right-items .client-info .client-content h4 {
  font-size: 22px;
  font-weight: 500;
}
.testimonial-wrapper-2 .testimonial-right-items .client-info .client-content span {
  font-size: 15px;
  text-transform: uppercase;
  font-family: "Barlow Condensed", sans-serif;
}

.testimonial-wrapper-3 .testimonial-image {
  position: relative;
  margin-top: -2px;
}
.testimonial-wrapper-3 .testimonial-image img {
  width: 100%;
  height: 100%;
}
.testimonial-wrapper-3 .testimonial-image .icon {
  width: 70px;
  height: 70px;
  line-height: 70px;
  border-radius: 50px;
  text-align: center;
  background-color: var(--theme);
  top: 50%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
}
.testimonial-wrapper-3 .testimonial-image .icon img {
  width: initial;
  height: initial;
}
.testimonial-wrapper-3 .testimonial-content {
  margin-left: 70px;
  padding-top: 120px;
}
@media (max-width: 1199px) {
  .testimonial-wrapper-3 .testimonial-content {
    margin-left: 30px;
    padding-top: 100px;
  }
}
@media (max-width: 991px) {
  .testimonial-wrapper-3 .testimonial-content {
    margin-left: 0;
    padding-top: 30px;
  }
}
.testimonial-wrapper-3 .testimonial-content .testimonial-card-items {
  margin-top: 20px;
}
.testimonial-wrapper-3 .testimonial-content .testimonial-card-items .star {
  display: inline-block;
  margin-bottom: 15px;
}
.testimonial-wrapper-3 .testimonial-content .testimonial-card-items .star i {
  color: var(--theme);
}
.testimonial-wrapper-3 .testimonial-content .testimonial-card-items p {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  color: var(--text);
}
.testimonial-wrapper-3 .testimonial-content .testimonial-card-items .client-info {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
}
.testimonial-wrapper-3 .testimonial-content .testimonial-card-items .client-info .text h3 {
  font-size: 22px;
}
.testimonial-wrapper-3 .testimonial-content .testimonial-card-items .client-info .text span {
  font-size: 15px;
  color: var(--text);
}
.testimonial-wrapper-3 .tesimonial-image-araa {
  position: relative;
}
.testimonial-wrapper-3 .tesimonial-image-araa .array-button {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: end;
  margin-top: 20px;
}
@media (max-width: 991px) {
  .testimonial-wrapper-3 .tesimonial-image-araa .array-button {
    display: none;
  }
}
.testimonial-wrapper-3 .tesimonial-image-araa .array-button .array-prev, .testimonial-wrapper-3 .tesimonial-image-araa .array-button .array-next {
  width: 75px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  box-shadow: none;
}
.testimonial-wrapper-3 .tesimonial-image-araa .array-button .array-prev {
  background-color: #f4f4f4;
  color: var(--header);
}
.testimonial-wrapper-3 .tesimonial-image-araa .array-button .array-prev:hover {
  background-color: var(--theme);
  color: var(--white);
}
.testimonial-wrapper-3 .tesimonial-image-araa .array-button .array-next {
  background-color: var(--black);
}
.testimonial-wrapper-3 .tesimonial-image-araa .array-button .array-next:hover {
  background-color: var(--theme);
  color: var(--white);
}

.testimonial-section-3 {
  position: relative;
}
.testimonial-section-3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--theme);
  width: 35%;
  height: 84%;
}
@media (max-width: 1199px) {
  .testimonial-section-3::before {
    display: none;
  }
}

/* Service Section Custom Padding */
#service-section-padding {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 1199px) {
  #service-section-padding {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}

@media (max-width: 991px) {
  #service-section-padding {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

@media (max-width: 767px) {
  #service-section-padding {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

@media (max-width: 575px) {
  #service-section-padding {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* Project Slider Container - Responsive Width Control */
.project-slider-container {
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  padding: 40px 15px;
}

/* Extra Large Screens */
@media (min-width: 1600px) {
  .project-slider-container {
    max-width: 1600px;
    padding: 50px 80px;
  }
}

/* Large Desktop */
@media (min-width: 1400px) and (max-width: 1599px) {
  .project-slider-container {
    max-width: 1400px;
    padding: 50px 60px;
  }
}

/* Desktop */
@media (min-width: 1200px) and (max-width: 1399px) {
  .project-slider-container {
    max-width: 1200px;
    padding: 40px 40px;
  }
}

/* Laptop/Tablet Large */
@media (min-width: 992px) and (max-width: 1199px) {
  .project-slider-container {
    max-width: 100%;
    padding: 40px 30px;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .project-slider-container {
    max-width: 100%;
    padding: 35px 20px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .project-slider-container {
    max-width: 100%;
    padding: 30px 15px;
  }
}

/* Project Slider Image Cards - Fixed Aspect Ratio */
.project-slider .swiper-wrapper {
  align-items: center;
  display: flex;
}

.project-slider .swiper-slide {
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.project-slider .project-card-items {
  margin-top: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.project-slider .project-card-items .project-image-wrapper {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 15px;
  background-color: #ffffff;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  padding: 20px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

@media (max-width: 991px) {
  .project-slider .project-card-items .project-image-wrapper {
    padding: 15px;
    border-radius: 12px;
  }
}

@media (max-width: 575px) {
  .project-slider .project-card-items .project-image-wrapper {
    padding: 12px;
    border-radius: 10px;
    aspect-ratio: 1 / 1;
  }
}

.project-slider .project-card-items .project-image-wrapper .project-slide-img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 8px;
}

.project-slider .project-card-items:hover .project-image-wrapper {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
  transform: translateY(-5px);
}

.project-slider .project-card-items:hover .project-image-wrapper .project-slide-img {
  transform: scale(1.05);
}

/* Learning Process Section Styles - Modern Timeline Design (White Background) */
.learning-process-section {
  background: #fff;
  position: relative;
  overflow: hidden;
}

/* Background Decorative Shapes */
.learning-bg-shapes {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.learning-bg-shapes .shape {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.15;
}

.learning-bg-shapes .shape-1 {
  width: 500px;
  height: 500px;
  background: var(--theme);
  top: -150px;
  right: -150px;
  animation: float-shape 8s ease-in-out infinite;
}

.learning-bg-shapes .shape-2 {
  width: 400px;
  height: 400px;
  background: #ff6b6b;
  bottom: 10%;
  left: -120px;
  animation: float-shape 10s ease-in-out infinite reverse;
}

.learning-bg-shapes .shape-3 {
  width: 300px;
  height: 300px;
  background: var(--theme);
  bottom: -80px;
  right: 15%;
  animation: float-shape 12s ease-in-out infinite;
}

@keyframes float-shape {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(20px, -20px) scale(1.05); }
}

/* Section Title Styles */
.learning-process-section .section-title {
  margin-bottom: 60px;
  position: relative;
  z-index: 2;
}

.learning-process-section .section-subtitle {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--theme);
  background: rgba(237, 59, 59, 0.1);
  padding: 10px 24px;
  border-radius: 30px;
  margin-bottom: 20px;
}

.learning-process-section .section-title h2 {
  color: var(--header);
  font-size: 54px;
  font-weight: 700;
  margin-bottom: 15px;
}

.learning-process-section .section-desc {
  color: var(--text);
  font-size: 16px;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.8;
}

/* Timeline Container */
.learning-timeline {
  position: relative;
  max-width: 950px;
  margin: 0 auto;
  z-index: 2;
}

/* Timeline Item */
.timeline-item {
  display: flex;
  gap: 30px;
  margin-bottom: 25px;
  position: relative;
}

.timeline-item:last-child {
  margin-bottom: 0;
}

/* Timeline Connector (Left Side) */
.timeline-connector {
  flex-shrink: 0;
  width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.connector-line {
  position: absolute;
  top: 75px;
  left: 50%;
  transform: translateX(-50%);
  width: 3px;
  height: calc(100% + 25px);
  background: linear-gradient(180deg, var(--theme) 0%, rgba(237, 59, 59, 0.15) 100%);
  border-radius: 3px;
}

.timeline-item:last-child .connector-line {
  display: none;
}

.connector-dot {
  width: 65px;
  height: 65px;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  box-shadow: 0 8px 25px rgba(237, 59, 59, 0.35);
  transition: all 0.4s ease;
}

.connector-dot::before {
  content: '';
  position: absolute;
  width: 85px;
  height: 85px;
  border: 2px solid rgba(237, 59, 59, 0.2);
  border-radius: 50%;
  animation: pulse-ring 2.5s ease-out infinite;
}

@keyframes pulse-ring {
  0% { transform: scale(0.85); opacity: 1; }
  100% { transform: scale(1.2); opacity: 0; }
}

.connector-dot span {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #fff;
}

.connector-dot.final {
  background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
  box-shadow: 0 8px 25px rgba(255, 193, 7, 0.4);
}

.connector-dot.final::before {
  border-color: rgba(255, 193, 7, 0.25);
}

.connector-dot.final .fa-star {
  display: none;
}

.timeline-item:hover .connector-dot {
  transform: scale(1.1);
  box-shadow: 0 12px 35px rgba(237, 59, 59, 0.45);
}

.timeline-item:last-child:hover .connector-dot {
  box-shadow: 0 12px 35px rgba(255, 193, 7, 0.5);
}

/* Timeline Card */
.timeline-card {
  flex: 1;
  position: relative;
  border-radius: 0;
  overflow: visible;
}

.card-glow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(237, 59, 59, 0.08) 0%, rgba(255, 107, 107, 0.03) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
  border-radius: 0;
}

.timeline-card:hover .card-glow {
  opacity: 1;
}

.card-inner {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 0;
  padding: 30px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  position: relative;
  z-index: 1;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.timeline-card:hover .card-inner {
  border-color: rgba(237, 59, 59, 0.2);
  transform: translateX(8px);
  box-shadow: 0 15px 40px rgba(237, 59, 59, 0.12);
}

/* Card Icon */
.card-icon-wrapper {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.card-icon-wrapper .icon-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  border-radius: 14px;
  opacity: 0.12;
  transition: all 0.4s ease;
}

.timeline-card:hover .card-icon-wrapper .icon-bg {
  opacity: 0.2;
  transform: rotate(8deg) scale(1.08);
}

.card-icon-wrapper i {
  font-size: 26px;
  color: var(--theme);
  position: relative;
  z-index: 1;
  transition: all 0.4s ease;
}

.timeline-card:hover .card-icon-wrapper i {
  transform: scale(1.12);
}

.card-icon-wrapper.featured .icon-bg {
  background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
}

.card-icon-wrapper.featured i {
  color: #ff9800;
}

/* Card Content */
.card-content {
  flex: 1;
  min-width: 0;
}

.card-content h4 {
  font-size: 24px;
  font-weight: 700;
  color: var(--header);
  margin-bottom: 10px;
  transition: color 0.3s ease;
}

.timeline-card:hover .card-content h4 {
  color: var(--theme);
}

.card-content p {
  color: var(--text);
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 0;
}

/* Card Arrow */
.card-arrow {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: rgba(237, 59, 59, 0.08);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  transition: all 0.4s ease;
}

.card-arrow i {
  color: var(--theme);
  font-size: 14px;
  transition: all 0.4s ease;
}

.timeline-card:hover .card-arrow {
  background: var(--theme);
}

.timeline-card:hover .card-arrow i {
  color: #fff;
  transform: translateX(2px);
}

.timeline-item:last-child .card-arrow {
  background: rgba(255, 193, 7, 0.12);
}

.timeline-item:last-child .card-arrow i {
  color: #ff9800;
}

.timeline-item:last-child .timeline-card:hover .card-arrow {
  background: #ff9800;
}

.timeline-item:last-child .timeline-card:hover .card-arrow i {
  color: #fff;
  transform: scale(1.15);
}

/* ========== RESPONSIVE STYLES ========== */

/* Extra Large Screens (1400px and up) */
@media (min-width: 1400px) {
  .learning-timeline {
    max-width: 1000px;
  }

  .card-inner {
    padding: 35px;
    gap: 25px;
  }

  .card-content h4 {
    font-size: 26px;
  }

  .card-content p {
    font-size: 17px;
  }
}

/* Large Screens (1200px - 1399px) */
@media (max-width: 1399px) {
  .learning-process-section .section-title h2 {
    font-size: 46px;
  }

  .learning-timeline {
    max-width: 900px;
  }
}

/* Medium-Large Screens (992px - 1199px) */
@media (max-width: 1199px) {
  .learning-process-section .section-title h2 {
    font-size: 46px;
  }

  .learning-process-section .section-title {
    margin-bottom: 50px;
  }

  .learning-timeline {
    max-width: 800px;
  }

  .timeline-item {
    gap: 20px;
  }

  .timeline-connector {
    width: 65px;
  }

  .connector-dot {
    width: 55px;
    height: 55px;
  }

  .connector-dot span {
    font-size: 18px;
  }

  .connector-dot::before {
    width: 72px;
    height: 72px;
  }

  .connector-line {
    top: 62px;
  }

  .card-inner {
    padding: 25px;
    gap: 18px;
  }

  .card-icon-wrapper {
    width: 52px;
    height: 52px;
  }

  .card-icon-wrapper i {
    font-size: 22px;
  }

  .card-content h4 {
    font-size: 20px;
  }

  .card-content p {
    font-size: 15px;
  }

  .card-arrow {
    width: 38px;
    height: 38px;
  }

  .card-arrow i {
    font-size: 13px;
  }
}

/* Tablet Landscape (768px - 991px) */
@media (max-width: 991px) {
  .learning-process-section .section-title h2 {
    font-size: 46px;
  }

  .learning-process-section .section-desc {
    font-size: 15px;
  }

  .learning-process-section .section-title {
    margin-bottom: 45px;
  }

  .learning-timeline {
    max-width: 650px;
  }

  .timeline-item {
    gap: 15px;
    margin-bottom: 20px;
  }

  .timeline-connector {
    width: 55px;
  }

  .connector-dot {
    width: 50px;
    height: 50px;
  }

  .connector-dot span {
    font-size: 16px;
  }

  .connector-dot::before {
    width: 65px;
    height: 65px;
  }

  .connector-line {
    top: 55px;
    width: 2px;
  }

  .card-inner {
    padding: 22px;
    gap: 15px;
    border-radius: 16px;
  }

  .timeline-card {
    border-radius: 16px;
  }

  .timeline-card .card-glow {
    border-radius: 16px;
  }

  .card-icon-wrapper {
    width: 48px;
    height: 48px;
  }

  .card-icon-wrapper .icon-bg {
    border-radius: 12px;
  }

  .card-icon-wrapper i {
    font-size: 20px;
  }

  .card-content h4 {
    font-size: 19px;
    margin-bottom: 8px;
  }

  .card-content p {
    font-size: 15px;
    line-height: 1.7;
  }

  .card-arrow {
    width: 36px;
    height: 36px;
  }

  .card-arrow i {
    font-size: 12px;
  }

  .learning-bg-shapes .shape-1 {
    width: 350px;
    height: 350px;
  }

  .learning-bg-shapes .shape-2 {
    width: 280px;
    height: 280px;
  }

  .learning-bg-shapes .shape-3 {
    width: 200px;
    height: 200px;
  }
}

/* Tablet Portrait (576px - 767px) */
@media (max-width: 767px) {
  .learning-process-section .section-title h2 {
    font-size: 40px;
  }

  .learning-process-section .section-desc {
    font-size: 14px;
    padding: 0 10px;
  }

  .learning-process-section .section-subtitle {
    font-size: 12px;
    padding: 8px 18px;
    letter-spacing: 2px;
  }

  .learning-process-section .section-title {
    margin-bottom: 40px;
  }

  .timeline-item {
    flex-direction: column;
    gap: 0;
    margin-bottom: 25px;
  }

  .timeline-connector {
    width: 100%;
    flex-direction: row;
    justify-content: flex-start;
    padding-left: 5px;
    margin-bottom: 12px;
  }

  .connector-line {
    display: none;
  }

  .connector-dot {
    width: 48px;
    height: 48px;
  }

  .connector-dot span {
    font-size: 16px;
  }

  .connector-dot::before {
    width: 62px;
    height: 62px;
  }

  .card-inner {
    padding: 20px;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px;
    border-radius: 16px;
  }

  .timeline-card:hover .card-inner {
    transform: translateY(-5px);
  }

  .card-icon-wrapper {
    width: 45px;
    height: 45px;
  }

  .card-icon-wrapper .icon-bg {
    border-radius: 10px;
  }

  .card-icon-wrapper i {
    font-size: 18px;
  }

  .card-content {
    flex: 1 1 calc(100% - 100px);
  }

  .card-content h4 {
    font-size: 18px;
    margin-bottom: 8px;
  }

  .card-content p {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .card-arrow {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 32px;
    height: 32px;
  }

  .card-arrow i {
    font-size: 11px;
  }

  .learning-bg-shapes .shape-1 {
    width: 250px;
    height: 250px;
    top: -80px;
    right: -80px;
  }

  .learning-bg-shapes .shape-2 {
    width: 200px;
    height: 200px;
    left: -80px;
  }

  .learning-bg-shapes .shape-3 {
    width: 150px;
    height: 150px;
  }
}

/* Mobile Landscape (480px - 575px) */
@media (max-width: 575px) {
  .learning-process-section {
    padding: 60px 0;
  }

  .learning-process-section .section-title h2 {
    font-size: 28px;
  }

  .learning-process-section .section-subtitle {
    font-size: 11px;
    padding: 6px 14px;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
  }

  .learning-process-section .section-desc {
    font-size: 13px;
    line-height: 1.7;
  }

  .learning-process-section .section-title {
    margin-bottom: 35px;
  }

  .timeline-item {
    margin-bottom: 20px;
  }

  .connector-dot {
    width: 42px;
    height: 42px;
  }

  .connector-dot span {
    font-size: 14px;
  }

  .connector-dot::before {
    width: 55px;
    height: 55px;
  }

  .card-inner {
    padding: 18px;
    border-radius: 14px;
  }

  .timeline-card {
    border-radius: 14px;
  }

  .timeline-card .card-glow {
    border-radius: 14px;
  }

  .card-icon-wrapper {
    width: 42px;
    height: 42px;
  }

  .card-icon-wrapper i {
    font-size: 16px;
  }

  .card-content h4 {
    font-size: 17px;
  }

  .card-content p {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .card-arrow {
    top: 18px;
    right: 18px;
    width: 30px;
    height: 30px;
  }

  .card-arrow i {
    font-size: 10px;
  }
}

/* Mobile Portrait (up to 479px) */
@media (max-width: 479px) {
  .learning-process-section {
    padding: 50px 0;
  }

  .learning-process-section .section-title h2 {
    font-size: 32px;
  }

  .learning-process-section .section-subtitle {
    font-size: 10px;
    padding: 5px 12px;
  }

  .learning-process-section .section-desc {
    font-size: 12px;
  }

  .learning-process-section .section-title {
    margin-bottom: 30px;
  }

  .timeline-item {
    margin-bottom: 18px;
  }

  .timeline-connector {
    margin-bottom: 10px;
  }

  .connector-dot {
    width: 38px;
    height: 38px;
  }

  .connector-dot span {
    font-size: 13px;
  }

  .connector-dot::before {
    width: 50px;
    height: 50px;
  }

  .card-inner {
    padding: 15px;
    gap: 12px;
    border-radius: 12px;
  }

  .timeline-card {
    border-radius: 12px;
  }

  .timeline-card .card-glow {
    border-radius: 12px;
  }

  .card-icon-wrapper {
    width: 38px;
    height: 38px;
  }

  .card-icon-wrapper .icon-bg {
    border-radius: 8px;
  }

  .card-icon-wrapper i {
    font-size: 15px;
  }

  .card-content h4 {
    font-size: 16px;
    margin-bottom: 6px;
  }

  .card-content p {
    font-size: 14px !important;
    line-height: 1.8 !important;
  }

  .card-arrow {
    top: 15px;
    right: 15px;
    width: 26px;
    height: 26px;
  }

  .card-arrow i {
    font-size: 9px;
  }

  .learning-bg-shapes .shape-1 {
    width: 180px;
    height: 180px;
    top: -50px;
    right: -50px;
  }

  .learning-bg-shapes .shape-2 {
    width: 140px;
    height: 140px;
    left: -50px;
  }

  .learning-bg-shapes .shape-3 {
    width: 100px;
    height: 100px;
  }
}

/* Extra Small Screens (up to 359px) */
@media (max-width: 359px) {
  .learning-process-section {
    padding: 40px 0;
  }

  .learning-process-section .section-title h2 {
    font-size: 32px;
  }

  .learning-process-section .section-subtitle {
    font-size: 9px;
    padding: 4px 10px;
  }

  .card-inner {
    padding: 12px;
  }

  .card-icon-wrapper {
    width: 34px;
    height: 34px;
  }

  .card-icon-wrapper i {
    font-size: 14px;
  }

  .card-content h4 {
    font-size: 13px;
  }

  .card-content p {
    font-size: 10px;
  }

  .connector-dot {
    width: 34px;
    height: 34px;
  }

  .connector-dot span {
    font-size: 12px;
  }

  .connector-dot::before {
    width: 44px;
    height: 44px;
  }
}

/* Paper Series Section - Creative Bento Grid Design */
.paper-series-section {
  background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
  position: relative;
  overflow: hidden;
}

/* Header Styles */
.paper-series-header {
  text-align: center;
  margin-bottom: 50px;
}

.paper-series-header h2 {
  font-size: 54px;
  font-weight: 700;
  color: var(--header);
  margin-bottom: 20px;
}

.paper-series-header .header-line {
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, var(--theme) 0%, #ff6b6b 100%);
  margin: 0 auto 25px;
  border-radius: 2px;
}

.paper-series-header .highlight-text {
  font-size: 18px;
  color: #353131;
  line-height: 1.8;
}

.paper-series-header .highlight-text span {
  color: var(--theme);
  font-weight: 700;
}

/* Bento Grid Layout */
.paper-bento-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto auto;
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}

/* Bento Intro Card - Modern Design */
.bento-intro-modern {
  grid-column: 1;
  grid-row: 1;
  background: linear-gradient(135deg, var(--header) 0%, #2a2a2a 50%, var(--theme) 150%);
  border-radius: 0;
  padding: 35px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 220px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Background Animated Circles */
.bento-intro-modern .intro-bg-elements {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.bento-intro-modern .bg-circle {
  position: absolute;
  border-radius: 50%;
  background: var(--theme);
  opacity: 0.1;
}

.bento-intro-modern .bg-circle.circle-1 {
  width: 150px;
  height: 150px;
  top: -50px;
  right: -30px;
  animation: pulse-grow 4s ease-in-out infinite;
}

.bento-intro-modern .bg-circle.circle-2 {
  width: 80px;
  height: 80px;
  bottom: 20px;
  left: -20px;
  animation: pulse-grow 5s ease-in-out infinite 1s;
}

.bento-intro-modern .bg-circle.circle-3 {
  width: 40px;
  height: 40px;
  top: 50%;
  right: 30%;
  animation: pulse-grow 3s ease-in-out infinite 0.5s;
}

@keyframes pulse-grow {
  0%, 100% { transform: scale(1); opacity: 0.1; }
  50% { transform: scale(1.15); opacity: 0.2; }
}

/* Main Content Layout */
.bento-intro-modern .intro-main-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Stages Display */
.bento-intro-modern .stages-display {
  display: flex;
  align-items: center;
  gap: 20px;
}

.bento-intro-modern .big-number {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  padding: 15px 25px;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(237, 59, 59, 0.4);
  position: relative;
  overflow: hidden;
}

.bento-intro-modern .big-number::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  animation: shine-move 3s ease-in-out infinite;
}

@keyframes shine-move {
  0% { left: -100%; }
  50%, 100% { left: 100%; }
}

.bento-intro-modern .big-number .number {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 48px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.bento-intro-modern .big-number .label {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 2px;
}

/* Stage Dots */
.bento-intro-modern .stage-dots {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bento-intro-modern .stage-dots .dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease;
  position: relative;
}

.bento-intro-modern .stage-dots .dot.active {
  background: var(--theme);
  border-color: var(--theme);
  box-shadow: 0 0 15px rgba(237, 59, 59, 0.5);
}

.bento-intro-modern .stage-dots .dot.active::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid var(--theme);
  opacity: 0;
  animation: dot-ping 2s ease-out infinite;
}

.bento-intro-modern .stage-dots .dot:nth-child(1).active::after {
  animation-delay: 0s;
}

.bento-intro-modern .stage-dots .dot:nth-child(2).active::after {
  animation-delay: 0.3s;
}

.bento-intro-modern .stage-dots .dot:nth-child(3).active::after {
  animation-delay: 0.6s;
}

@keyframes dot-ping {
  0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.8; }
  100% { transform: translate(-50%, -50%) scale(2); opacity: 0; }
}

/* Text Content */
.bento-intro-modern .intro-text-content {
  padding-left: 5px;
}

.bento-intro-modern .intro-text-content p {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.7;
  margin: 0;
}

.bento-intro-modern .intro-text-content p strong {
  color: #fff;
  font-weight: 800;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Corner Accent */
.bento-intro-modern .corner-accent {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 80px;
  height: 80px;
  pointer-events: none;
}

.bento-intro-modern .corner-accent svg {
  width: 100%;
  height: 100%;
}

/* Animated Line */
.bento-intro-modern .animated-line {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--theme), transparent);
  transform: scaleX(0);
  animation: line-expand 3s ease-in-out infinite;
}

@keyframes line-expand {
  0%, 100% { transform: scaleX(0); opacity: 0; }
  50% { transform: scaleX(1); opacity: 1; }
}

/* Bento Cards - Stage Cards */
.bento-card {
  background: #fff;
  border-radius: 0;
  padding: 30px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 200px;
}

.bento-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 60px rgba(237, 59, 59, 0.15);
  border-color: rgba(237, 59, 59, 0.2);
}

.bento-card .card-bg-number {
  position: absolute;
  top: -10px;
  right: 10px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 120px;
  font-weight: 900;
  color: rgba(237, 59, 59, 0.06);
  line-height: 1;
  pointer-events: none;
  transition: all 0.5s ease;
}

.bento-card:hover .card-bg-number {
  color: rgba(237, 59, 59, 0.1);
  transform: scale(1.05);
}

.bento-card .card-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--theme);
  background: rgba(237, 59, 59, 0.1);
  padding: 6px 14px;
  border-radius: 20px;
  font-family: "Barlow Condensed", sans-serif;
}

.bento-card .card-badge.final {
  background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
  color: #fff;
}

/* Card Icon Ring */
.bento-card .card-icon-ring {
  position: relative;
  width: 90px;
  height: 90px;
  margin-bottom: 20px;
}

.bento-card .ring-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70px;
  height: 70px;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(237, 59, 59, 0.3);
  transition: all 0.4s ease;
  z-index: 2;
}

.bento-card:hover .ring-inner {
  transform: translate(-50%, -50%) scale(1.1);
}

.bento-card .ring-inner i {
  font-size: 28px;
  color: #fff;
}

.bento-card .ring-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.bento-card .ring-progress {
  fill: none;
  stroke: rgba(237, 59, 59, 0.15);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 283;
  stroke-dashoffset: 70;
  transition: stroke-dashoffset 0.8s ease;
}

.bento-card:hover .ring-progress {
  stroke-dashoffset: 0;
  stroke: var(--theme);
}

.bento-card h4 {
  font-size: 18px;
  font-weight: 700;
  color: var(--header);
  line-height: 1.4;
  margin: 0;
  transition: color 0.3s ease;
  position: relative;
  z-index: 2;
}

.bento-card:hover h4 {
  color: var(--theme);
}

/* Card Shine Effect */
.bento-card .card-shine {
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transform: skewX(-25deg);
  transition: left 0.6s ease;
}

.bento-card:hover .card-shine {
  left: 150%;
}

/* Stage Positions */
.bento-card.stage-1 {
  grid-column: 2;
  grid-row: 1;
}

.bento-card.stage-2 {
  grid-column: 3;
  grid-row: 1;
}

.bento-card.stage-3 {
  grid-column: 3;
  grid-row: 2;
}

/* Featured Card (Grand Final) */
.bento-card.featured {
  background: linear-gradient(135deg, #fffdf5 0%, #fff 100%);
  border: 2px solid rgba(255, 193, 7, 0.25);
}

.bento-card.featured .card-bg-number {
  color: rgba(255, 193, 7, 0.1);
}

.bento-card.featured:hover .card-bg-number {
  color: rgba(255, 193, 7, 0.15);
}

.bento-card.featured .ring-inner {
  background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
  box-shadow: 0 10px 30px rgba(255, 193, 7, 0.4);
}

.bento-card.featured .ring-progress {
  stroke: rgba(255, 193, 7, 0.2);
}

.bento-card.featured:hover .ring-progress {
  stroke: #ffc107;
}

.bento-card.featured:hover {
  box-shadow: 0 25px 60px rgba(255, 193, 7, 0.2);
  border-color: rgba(255, 193, 7, 0.4);
}

/* Trophy Glow */
.bento-card.featured .trophy-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 150px;
  height: 150px;
  background: radial-gradient(circle, rgba(255, 193, 7, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* Sparkles */
.bento-card.featured .sparkles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.bento-card.featured .sparkles span {
  position: absolute;
  width: 6px;
  height: 6px;
  background: #ffc107;
  border-radius: 50%;
  opacity: 0;
}

.bento-card.featured:hover .sparkles span {
  animation: sparkle 1.5s ease-in-out infinite;
}

.bento-card.featured .sparkles span:nth-child(1) { top: 20%; left: 20%; animation-delay: 0s; }
.bento-card.featured .sparkles span:nth-child(2) { top: 30%; right: 25%; animation-delay: 0.3s; }
.bento-card.featured .sparkles span:nth-child(3) { bottom: 30%; left: 30%; animation-delay: 0.6s; }
.bento-card.featured .sparkles span:nth-child(4) { bottom: 25%; right: 20%; animation-delay: 0.9s; }

@keyframes sparkle {
  0%, 100% { opacity: 0; transform: scale(0); }
  50% { opacity: 1; transform: scale(1); }
}

/* Bento Award Card */
.bento-award {
  grid-column: 1 / 3;
  grid-row: 2;
  background: linear-gradient(135deg, var(--header) 0%, #1a1a1a 100%);
  border-radius: 0;
  padding: 35px;
  display: flex;
  align-items: center;
  gap: 30px;
  position: relative;
  overflow: hidden;
}

.bento-award::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(237, 59, 59, 0.1) 0%, transparent 70%);
  border-radius: 50%;
}

.bento-award .award-visual {
  flex-shrink: 0;
  position: relative;
  width: 100px;
  height: 100px;
}

.bento-award .award-circle {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  box-shadow: 0 10px 30px rgba(237, 59, 59, 0.4);
}

.bento-award .award-circle i {
  font-size: 36px;
  color: #fff;
}

.bento-award .award-rings {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}

.bento-award .award-rings span {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 2px solid rgba(237, 59, 59, 0.2);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.bento-award .award-rings span:nth-child(1) {
  width: 90px;
  height: 90px;
  animation: ring-pulse 2s ease-out infinite;
}

.bento-award .award-rings span:nth-child(2) {
  width: 95px;
  height: 95px;
  animation: ring-pulse 2s ease-out infinite 0.5s;
}

.bento-award .award-rings span:nth-child(3) {
  width: 100px;
  height: 100px;
  animation: ring-pulse 2s ease-out infinite 1s;
}

@keyframes ring-pulse {
  0% { opacity: 0.6; transform: translate(-50%, -50%) scale(0.9); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.3); }
}

.bento-award .award-info {
  flex: 1;
  position: relative;
  z-index: 2;
}

.bento-award .award-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
}

.bento-award .award-tags span {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.1);
  padding: 5px 12px;
  border-radius: 15px;
  font-family: "Barlow Condensed", sans-serif;
}

.bento-award .award-tags span.gold {
  background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
  color: #fff;
}

.bento-award .award-info h5 {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
  font-family: "Barlow Condensed", sans-serif;
  letter-spacing: 0.5px;
}

.bento-award .award-info p {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.8;
  margin: 0;
}

/* Special Highlight Banner */
.special-highlight-banner {
  margin-top: 40px;
  background: linear-gradient(135deg, #fff 0%, #fafafa 100%);
  border-radius: 0;
  padding: 30px 40px;
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
  background-clip: padding-box;
  box-shadow: 0 15px 50px rgba(237, 59, 59, 0.1);
}

.special-highlight-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 0;
  padding: 2px;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 50%, var(--theme) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.special-highlight-banner .banner-glow {
  position: absolute;
  top: -50%;
  left: -20%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(237, 59, 59, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: glow-float 6s ease-in-out infinite;
}

@keyframes glow-float {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(30px, 20px); }
}

.special-highlight-banner .banner-content {
  display: flex;
  align-items: center;
  gap: 25px;
  position: relative;
  z-index: 2;
}

.special-highlight-banner .banner-icon {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 8px 25px rgba(237, 59, 59, 0.4);
}

.special-highlight-banner .banner-icon i {
  font-size: 24px;
  color: #fff;
  animation: star-pulse 2s ease-in-out infinite;
}

@keyframes star-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

.special-highlight-banner .banner-icon .icon-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 75px;
  height: 75px;
  border: 2px solid rgba(237, 59, 59, 0.3);
  border-radius: 50%;
  animation: ring-expand 2s ease-out infinite;
}

@keyframes ring-expand {
  0% { transform: translate(-50%, -50%) scale(0.8); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1.3); opacity: 0; }
}

.special-highlight-banner .banner-content p {
  font-size: 18px;
  color: var(--header);
  line-height: 1.8;
  margin: 0;
}

.special-highlight-banner .banner-content p strong {
  color: var(--theme);
  font-weight: 700;
  position: relative;
}

.special-highlight-banner .banner-content p strong::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, var(--theme), #ff6b6b);
  border-radius: 1px;
}

/* Decorative Lines */
.special-highlight-banner .banner-decorations {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.special-highlight-banner .deco-line {
  position: absolute;
  background: linear-gradient(90deg, transparent, rgba(237, 59, 59, 0.1), transparent);
  height: 1px;
}

.special-highlight-banner .deco-line.line-1 {
  top: 30%;
  right: -10%;
  width: 40%;
  animation: line-slide 4s ease-in-out infinite;
}

.special-highlight-banner .deco-line.line-2 {
  bottom: 25%;
  right: 0;
  width: 30%;
  animation: line-slide 5s ease-in-out infinite 1s;
}

@keyframes line-slide {
  0%, 100% { transform: translateX(0); opacity: 0.5; }
  50% { transform: translateX(-20px); opacity: 1; }
}

/* ========== RESPONSIVE STYLES ========== */

@media (max-width: 1199px) {
  .paper-series-header h2 {
    font-size: 46px;
  }

  .paper-bento-grid {
    gap: 15px;
  }

  .bento-intro-modern {
    padding: 30px;
  }

  .bento-intro-modern .big-number .number {
    font-size: 42px;
  }

  .bento-card {
    padding: 25px;
  }

  .bento-card .card-icon-ring {
    width: 80px;
    height: 80px;
  }

  .bento-card .ring-inner {
    width: 60px;
    height: 60px;
  }

  .bento-card .ring-inner i {
    font-size: 24px;
  }

  .bento-card h4 {
    font-size: 16px;
  }

  .bento-award {
    padding: 30px;
  }

  .special-highlight-banner {
    padding: 25px 30px;
  }

  .special-highlight-banner .banner-content p {
    font-size: 17px;
  }
}

@media (max-width: 991px) {
  .paper-series-header h2 {
    font-size: 46px;
  }

  .paper-series-header .highlight-text {
    font-size: 16px;
  }

  .paper-bento-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
  }

  .bento-intro-modern {
    grid-column: 1 / 3;
    grid-row: 1;
    min-height: auto;
    padding: 30px;
  }

  .bento-intro-modern .big-number .number {
    font-size: 40px;
  }

  .bento-intro-modern .big-number .label {
    font-size: 11px;
  }

  .bento-card.stage-1 {
    grid-column: 1;
    grid-row: 2;
  }

  .bento-card.stage-2 {
    grid-column: 2;
    grid-row: 2;
  }

  .bento-card.stage-3 {
    grid-column: 1 / 3;
    grid-row: 3;
  }

  .bento-award {
    grid-column: 1 / 3;
    grid-row: 4;
    flex-direction: column;
    text-align: center;
  }

  .bento-award .award-tags {
    justify-content: center;
  }

  .bento-award .award-info h5 {
    font-size: 20px;
  }

  .special-highlight-banner .banner-content {
    gap: 20px;
  }

  .special-highlight-banner .banner-icon {
    width: 55px;
    height: 55px;
  }

  .special-highlight-banner .banner-icon i {
    font-size: 22px;
  }

  .special-highlight-banner .banner-content p {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .paper-series-header h2 {
    font-size: 40px;
  }

  .paper-series-header .header-line {
    width: 60px;
  }

  .paper-series-header .highlight-text {
    font-size: 15px;
  }

  .paper-bento-grid {
    grid-template-columns: 1fr;
  }

  .bento-intro-modern {
    grid-column: 1;
    padding: 25px;
  }

  .bento-intro-modern .stages-display {
    gap: 15px;
  }

  .bento-intro-modern .big-number {
    padding: 12px 20px;
  }

  .bento-intro-modern .big-number .number {
    font-size: 36px;
  }

  .bento-intro-modern .intro-text-content p {
    font-size: 14px;
  }

  .bento-card.stage-1,
  .bento-card.stage-2,
  .bento-card.stage-3 {
    grid-column: 1;
  }

  .bento-card.stage-1 { grid-row: 2; }
  .bento-card.stage-2 { grid-row: 3; }
  .bento-card.stage-3 { grid-row: 4; }

  .bento-award {
    grid-column: 1;
    grid-row: 5;
    padding: 25px;
    gap: 20px;
  }

  .bento-award .award-visual {
    width: 80px;
    height: 80px;
  }

  .bento-award .award-circle {
    width: 65px;
    height: 65px;
  }

  .bento-award .award-circle i {
    font-size: 28px;
  }

  .bento-award .award-info h5 {
    font-size: 18px;
  }

  .bento-award .award-info p {
    font-size: 15px;
  }

  .bento-card .card-bg-number {
    font-size: 90px;
  }

  .bento-card .card-icon-ring {
    width: 75px;
    height: 75px;
  }

  .bento-card .ring-inner {
    width: 55px;
    height: 55px;
  }

  .bento-card .ring-inner i {
    font-size: 22px;
  }

  .bento-card h4 {
    font-size: 15px;
  }

  .special-highlight-banner {
    padding: 25px;
    margin-top: 30px;
  }

  .special-highlight-banner .banner-content {
    flex-direction: column;
    text-align: center;
    gap: 18px;
  }

  .special-highlight-banner .banner-icon {
    width: 50px;
    height: 50px;
  }

  .special-highlight-banner .banner-icon i {
    font-size: 20px;
  }

  .special-highlight-banner .banner-icon .icon-ring {
    width: 65px;
    height: 65px;
  }

  .special-highlight-banner .banner-content p {
    font-size: 15px;
  }
}

@media (max-width: 575px) {
  .paper-series-header h2 {
    font-size: 32px;
  }

  .paper-series-header .highlight-text {
    font-size: 14px;
  }

  .paper-bento-grid {
    gap: 12px;
  }

  .bento-intro-modern {
    padding: 20px;
    min-height: auto;
  }

  .bento-intro-modern .big-number {
    padding: 10px 18px;
  }

  .bento-intro-modern .big-number .number {
    font-size: 32px;
  }

  .bento-intro-modern .big-number .label {
    font-size: 10px;
  }

  .bento-intro-modern .stage-dots .dot {
    width: 10px;
    height: 10px;
  }

  .bento-intro-modern .intro-text-content p {
    font-size: 13px;
  }

  .bento-intro-modern .bg-circle.circle-1 {
    width: 100px;
    height: 100px;
  }

  .bento-card {
    padding: 20px;
    min-height: 180px;
  }

  .bento-card .card-badge {
    font-size: 10px;
    padding: 5px 12px;
    top: 15px;
    left: 15px;
  }

  .bento-card .card-bg-number {
    font-size: 70px;
  }

  .bento-card .card-icon-ring {
    width: 65px;
    height: 65px;
    margin-bottom: 15px;
  }

  .bento-card .ring-inner {
    width: 50px;
    height: 50px;
  }

  .bento-card .ring-inner i {
    font-size: 20px;
  }

  .bento-card h4 {
    font-size: 14px;
  }

  .bento-award {
    padding: 20px;
  }

  .bento-award .award-visual {
    width: 70px;
    height: 70px;
  }

  .bento-award .award-circle {
    width: 55px;
    height: 55px;
  }

  .bento-award .award-circle i {
    font-size: 24px;
  }

  .bento-award .award-tags span {
    font-size: 9px;
    padding: 4px 10px;
  }

  .bento-award .award-info h5 {
    font-size: 16px;
  }

  .bento-award .award-info p {
    font-size: 14px;
    line-height: 1.7;
  }

  .special-highlight-banner {
    padding: 20px;
    margin-top: 25px;
  }

  .special-highlight-banner .banner-content p {
    font-size: 15px;
    line-height: 1.7;
  }

  .special-highlight-banner .banner-icon {
    width: 45px;
    height: 45px;
  }

  .special-highlight-banner .banner-icon i {
    font-size: 18px;
  }
}

@media (max-width: 479px) {
  .paper-series-header h2 {
    font-size: 32px;
  }

  .paper-series-header .header-line {
    width: 50px;
    height: 3px;
  }

  .bento-intro-modern {
    padding: 18px;
  }

  .bento-intro-modern .stages-display {
    gap: 12px;
  }

  .bento-intro-modern .big-number {
    padding: 8px 15px;
  }

  .bento-intro-modern .big-number .number {
    font-size: 28px;
  }

  .bento-intro-modern .intro-text-content p {
    font-size: 14px;
  }

  .bento-intro-modern .intro-main-content {
    gap: 15px;
  }

  .bento-card {
    padding: 18px;
    min-height: 160px;
  }

  .bento-card .card-bg-number {
    font-size: 60px;
  }

  .bento-card .card-icon-ring {
    width: 55px;
    height: 55px;
  }

  .bento-card .ring-inner {
    width: 45px;
    height: 45px;
  }

  .bento-card .ring-inner i {
    font-size: 18px;
  }

  .bento-card h4 {
    font-size: 13px;
  }

  .bento-award {
    padding: 18px;
  }

  .bento-award .award-info h5 {
    font-size: 15px;
  }

  .bento-award .award-info p {
    font-size: 13px;
  }

  .special-highlight-banner {
    padding: 18px;
    margin-top: 20px;
  }

  .special-highlight-banner .banner-content p {
    font-size: 14px;
  }

  .special-highlight-banner .banner-icon {
    width: 40px;
    height: 40px;
  }

  .special-highlight-banner .banner-icon i {
    font-size: 16px;
  }

  .special-highlight-banner .banner-icon .icon-ring {
    width: 55px;
    height: 55px;
  }
}

/* ========== LMS & CHEM BOT AI Section ========== */
.lms-ai-section {
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 50%, #0d0d0d 100%);
  position: relative;
  overflow: hidden;
}

.lms-ai-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(circle at 20% 20%, rgba(237, 59, 59, 0.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(59, 130, 246, 0.08) 0%, transparent 50%);
  pointer-events: none;
}

/* Section Header */
.lms-section-header {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  z-index: 2;
}

.lms-section-header .header-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(237, 59, 59, 0.15);
  border: 1px solid rgba(237, 59, 59, 0.3);
  padding: 10px 20px;
  border-radius: 30px;
  margin-bottom: 25px;
}

.lms-section-header .header-badge i {
  color: var(--theme);
  font-size: 16px;
}

.lms-section-header .header-badge span {
  color: var(--theme);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  font-family: "Barlow Condensed", sans-serif;
}

.lms-section-header h2 {
  font-size: 54px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 15px;
}

.lms-section-header h2 span {
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lms-section-header > p {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.6);
  max-width: 600px;
  margin: 0 auto;
}

/* Cards Wrapper */
.lms-cards-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* LMS Card Base Styles */
.lms-card {
  background: linear-gradient(145deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  padding: 35px;
  position: relative;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.lms-card:hover {
  transform: translateY(-10px);
  border-color: rgba(237, 59, 59, 0.3);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
}

/* LMS System Card Specific */
.lms-system-card {
  background: linear-gradient(145deg, rgba(237, 59, 59, 0.08) 0%, rgba(255,255,255,0.02) 100%);
}

.lms-system-card:hover {
  border-color: rgba(237, 59, 59, 0.4);
  box-shadow: 0 30px 60px rgba(237, 59, 59, 0.15);
}

/* LMS Particles */
.lms-particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.lms-particles span {
  position: absolute;
  width: 4px;
  height: 4px;
  background: var(--theme);
  border-radius: 50%;
  opacity: 0.6;
}

.lms-particles span:nth-child(1) { top: 15%; left: 10%; animation: lms-float 3s ease-in-out infinite; }
.lms-particles span:nth-child(2) { top: 25%; right: 15%; animation: lms-float 4s ease-in-out infinite 0.5s; }
.lms-particles span:nth-child(3) { top: 60%; left: 5%; animation: lms-float 3.5s ease-in-out infinite 1s; }
.lms-particles span:nth-child(4) { bottom: 30%; right: 10%; animation: lms-float 4.5s ease-in-out infinite 0.3s; }
.lms-particles span:nth-child(5) { bottom: 15%; left: 20%; animation: lms-float 3s ease-in-out infinite 0.8s; }
.lms-particles span:nth-child(6) { top: 40%; right: 25%; animation: lms-float 5s ease-in-out infinite 1.2s; }

@keyframes lms-float {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0.6; }
  50% { transform: translateY(-20px) scale(1.5); opacity: 1; }
}

/* Card Header */
.lms-card-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 25px;
}

.card-icon-box {
  width: 70px;
  height: 70px;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  box-shadow: 0 10px 30px rgba(237, 59, 59, 0.4);
}

.card-icon-box .icon-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: var(--theme);
  border-radius: 50%;
  filter: blur(20px);
  opacity: 0.4;
}

.card-icon-box i {
  font-size: 30px;
  color: #fff;
  position: relative;
  z-index: 2;
}

.card-title-area .card-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  color: var(--theme);
  margin-bottom: 5px;
  font-family: "Barlow Condensed", sans-serif;
}

.card-title-area h3 {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  margin: 0;
}

/* Card Content */
.lms-card-content {
  position: relative;
  z-index: 2;
}

.lms-card-content .main-desc {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.8;
  margin-bottom: 25px;
}

.lms-card-content .sub-desc {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.7;
  margin-top: 20px;
  margin-bottom: 0;
}

/* Features Grid */
.features-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.05);
  padding: 12px 15px;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.3s ease;
}

.feature-item:hover {
  background: rgba(237, 59, 59, 0.1);
  border-color: rgba(237, 59, 59, 0.2);
}

.feature-item .feature-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.feature-item .feature-icon i {
  font-size: 14px;
  color: #fff;
}

.feature-item span {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
}

/* Card Footer */
.lms-card-footer {
  margin-top: 25px;
  position: relative;
  z-index: 2;
}

.lms-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  color: #fff;
  padding: 14px 28px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.4s ease;
  box-shadow: 0 10px 30px rgba(237, 59, 59, 0.3);
  position: relative;
  overflow: hidden;
}

.lms-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}

.lms-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(237, 59, 59, 0.4);
  color: #fff;
}

.lms-btn:hover::before {
  left: 100%;
}

.lms-btn i {
  transition: transform 0.3s ease;
}

.lms-btn:hover i {
  transform: translateX(5px);
}

/* Card Background Pattern */
.card-bg-pattern {
  position: absolute;
  bottom: -50px;
  right: -50px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(237, 59, 59, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* ========== AI Bot Card Specific Styles ========== */
.ai-bot-card {
  background: linear-gradient(145deg, rgba(59, 130, 246, 0.08) 0%, rgba(139, 92, 246, 0.05) 50%, rgba(255,255,255,0.02) 100%);
}

.ai-bot-card:hover {
  border-color: rgba(59, 130, 246, 0.4);
  box-shadow: 0 30px 60px rgba(59, 130, 246, 0.15);
}

/* AI Particles */
.ai-particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.ai-particles span {
  position: absolute;
  width: 4px;
  height: 4px;
  background: #3b82f6;
  border-radius: 50%;
  opacity: 0.6;
}

.ai-particles span:nth-child(1) { top: 15%; left: 10%; animation: ai-float 3s ease-in-out infinite; }
.ai-particles span:nth-child(2) { top: 25%; right: 15%; animation: ai-float 4s ease-in-out infinite 0.5s; }
.ai-particles span:nth-child(3) { top: 60%; left: 5%; animation: ai-float 3.5s ease-in-out infinite 1s; }
.ai-particles span:nth-child(4) { bottom: 30%; right: 10%; animation: ai-float 4.5s ease-in-out infinite 0.3s; }
.ai-particles span:nth-child(5) { bottom: 15%; left: 20%; animation: ai-float 3s ease-in-out infinite 0.8s; }
.ai-particles span:nth-child(6) { top: 40%; right: 25%; animation: ai-float 5s ease-in-out infinite 1.2s; }

@keyframes ai-float {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0.6; }
  50% { transform: translateY(-20px) scale(1.5); opacity: 1; }
}

/* AI Icon Box */
.card-icon-box.ai-icon {
  background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
  box-shadow: 0 10px 30px rgba(59, 130, 246, 0.4);
}

.card-icon-box.ai-icon .icon-glow {
  background: #3b82f6;
}

/* LMS Icon Ring Animation */
.card-icon-box .lms-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90px;
  height: 90px;
  border: 2px solid rgba(237, 59, 59, 0.3);
  border-radius: 50%;
  animation: lms-ring-pulse 2s ease-out infinite;
}

@keyframes lms-ring-pulse {
  0% { transform: translate(-50%, -50%) scale(0.8); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1.2); opacity: 0; }
}

/* AI Icon Ring Animation */
.card-icon-box .ai-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90px;
  height: 90px;
  border: 2px solid rgba(59, 130, 246, 0.3);
  border-radius: 50%;
  animation: ai-ring-pulse 2s ease-out infinite;
}

@keyframes ai-ring-pulse {
  0% { transform: translate(-50%, -50%) scale(0.8); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1.2); opacity: 0; }
}

.card-title-area .card-label.ai-label {
  color: #3b82f6;
}

.card-title-area h3 .ai-highlight {
  background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* AI Features */
.ai-features {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 20px;
}

.ai-feature-item {
  display: flex;
  align-items: center;
  gap: 15px;
  background: rgba(59, 130, 246, 0.08);
  padding: 15px;
  border-radius: 0;
  border: 1px solid rgba(59, 130, 246, 0.15);
  transition: all 0.3s ease;
}

.ai-feature-item:hover {
  background: rgba(59, 130, 246, 0.15);
  border-color: rgba(59, 130, 246, 0.3);
}

.ai-feature-icon {
  width: 45px;
  height: 45px;
  background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ai-feature-icon i {
  font-size: 18px;
  color: #fff;
}

.ai-feature-text h4 {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  margin: 0 0 3px 0;
}

.ai-feature-text p {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

/* AI Badges */
.ai-badge-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.ai-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(59, 130, 246, 0.15);
  border: 1px solid rgba(59, 130, 246, 0.25);
  padding: 8px 14px;
  border-radius: 0;
  font-size: 12px;
  color: #3b82f6;
  font-weight: 600;
}

.ai-badge i {
  font-size: 11px;
}

/* LMS Badges */
.lms-badge-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.lms-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(237, 59, 59, 0.15);
  border: 1px solid rgba(237, 59, 59, 0.25);
  padding: 8px 14px;
  border-radius: 0;
  font-size: 12px;
  color: var(--theme);
  font-weight: 600;
}

.lms-badge i {
  font-size: 11px;
}

/* AI Button */
.lms-btn.ai-btn {
  background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
  box-shadow: 0 10px 30px rgba(59, 130, 246, 0.3);
}

.lms-btn.ai-btn:hover {
  box-shadow: 0 15px 40px rgba(59, 130, 246, 0.4);
}

/* AI Background Effect */
.ai-bg-effect {
  position: absolute;
  bottom: -80px;
  right: -80px;
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.1) 0%, rgba(139, 92, 246, 0.05) 50%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* Bottom CTA */
.lms-bottom-cta {
  margin-top: 50px;
  background: linear-gradient(135deg, rgba(237, 59, 59, 0.1) 0%, rgba(59, 130, 246, 0.1) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  padding: 25px 35px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}

.lms-bottom-cta .cta-content {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: center;
}

.lms-bottom-cta .cta-content i {
  font-size: 28px;
  color: var(--theme);
  animation: rocket-bounce 2s ease-in-out infinite;
}

@keyframes rocket-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.lms-bottom-cta .cta-content p {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  line-height: 1.7;
}

/* Registration Button Wrapper */
.lms-register-btn-wrapper {
  text-align: center;
  margin-top: 40px;
  position: relative;
  z-index: 2;
}

.lms-register-btn-wrapper .theme-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* ========== LMS Section Responsive ========== */
@media (max-width: 1199px) {
  .lms-section-header h2 {
    font-size: 46px;
  }

  .lms-cards-wrapper {
    gap: 25px;
  }

  .lms-card {
    padding: 30px;
  }

  .card-icon-box {
    width: 60px;
    height: 60px;
  }

  .card-icon-box i {
    font-size: 26px;
  }

  .card-title-area h3 {
    font-size: 22px;
  }
}

@media (max-width: 991px) {
  .lms-section-header h2 {
    font-size: 46px;
  }

  .lms-section-header > p {
    font-size: 15px;
  }

  .lms-cards-wrapper {
    grid-template-columns: 1fr;
    max-width: 600px;
  }

  .lms-card {
    padding: 30px;
  }

  .features-grid {
    grid-template-columns: 1fr 1fr;
  }

  .lms-bottom-cta {
    padding: 20px 25px;
  }

  .lms-bottom-cta .cta-content {
    flex-direction: column;
    text-align: center;
    gap: 15px;
  }
}

@media (max-width: 767px) {
  .lms-section-header {
    margin-bottom: 40px;
  }

  .lms-section-header h2 {
    font-size: 36px;
  }

  .lms-section-header .header-badge {
    padding: 8px 16px;
  }

  .lms-section-header .header-badge span {
    font-size: 11px;
  }

  .lms-card {
    padding: 25px;
  }

  .lms-card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  .card-icon-box {
    width: 55px;
    height: 55px;
  }

  .card-icon-box i {
    font-size: 24px;
  }

  .card-title-area h3 {
    font-size: 20px;
  }

  .features-grid {
    grid-template-columns: 1fr;
  }

  .feature-item {
    padding: 10px 12px;
  }

  .ai-feature-item {
    padding: 12px;
  }

  .ai-feature-icon {
    width: 40px;
    height: 40px;
  }

  .ai-feature-icon i {
    font-size: 16px;
  }

  .ai-feature-text h4 {
    font-size: 14px;
  }

  .lms-btn {
    padding: 12px 24px;
    font-size: 14px;
    width: 100%;
    justify-content: center;
  }

  .lms-bottom-cta .cta-content p {
    font-size: 16px;
  }

  .lms-bottom-cta .cta-content i {
    font-size: 24px;
  }
}

@media (max-width: 575px) {
  .lms-section-header h2 {
    font-size: 32px;
  }

  .lms-section-header > p {
    font-size: 14px;
  }

  .lms-card {
    padding: 20px;
  }

  .card-icon-box {
    width: 50px;
    height: 50px;
  }

  .card-icon-box i {
    font-size: 22px;
  }

  .card-title-area .card-label {
    font-size: 10px;
  }

  .card-title-area h3 {
    font-size: 18px;
  }

  .lms-card-content .main-desc {
    font-size: 16px;
  }

  .feature-item .feature-icon {
    width: 32px;
    height: 32px;
  }

  .feature-item .feature-icon i {
    font-size: 12px;
  }

  .feature-item span {
    font-size: 12px;
  }

  .ai-badge,
  .lms-badge {
    padding: 6px 12px;
    font-size: 11px;
  }

  .lms-bottom-cta {
    padding: 18px 20px;
    margin-top: 35px;
  }

  .lms-bottom-cta .cta-content p {
    font-size: 15px;
  }
}

@media (max-width: 479px) {
  .lms-section-header h2 {
    font-size: 28px;
  }

  .lms-section-header .header-badge {
    padding: 6px 14px;
  }

  .lms-section-header .header-badge span {
    font-size: 10px;
  }

  .lms-card {
    padding: 18px;
  }

  .card-title-area h3 {
    font-size: 17px;
  }

  .lms-card-content .main-desc {
    font-size: 15px;
  }

  .ai-feature-item {
    padding: 10px;
  }

  .ai-feature-text h4 {
    font-size: 13px;
  }

  .ai-feature-text p {
    font-size: 14px;
  }

  .lms-btn {
    padding: 11px 20px;
    font-size: 13px;
  }

  .lms-bottom-cta .cta-content p {
    font-size: 14px;
  }
}

/* Upcoming Programs Banner Section Styles */
.upcoming-programs-section {
  background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
}

.upcoming-programs-section .section-title {
  margin-bottom: 50px;
}

.upcoming-banner-wrapper {
  max-width: 1000px;
  margin: 0 auto;
}

.banner-image-box {
  background: #fff;
  border-radius: 16px;
  padding: 15px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  border: 2px solid rgba(237, 59, 59, 0.1);
  transition: all 0.4s ease;
}

.banner-image-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 50px rgba(237, 59, 59, 0.15);
  border-color: rgba(237, 59, 59, 0.3);
}

.banner-image-box img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

/* Responsive styles for Upcoming Programs Banner */
@media (max-width: 991px) {
  .upcoming-programs-section .section-title {
    margin-bottom: 40px;
  }

  .upcoming-banner-wrapper {
    max-width: 700px;
  }

  .banner-image-box {
    padding: 12px;
    border-radius: 14px;
  }

  .banner-image-box img {
    border-radius: 8px;
  }
}

@media (max-width: 767px) {
  .upcoming-programs-section .section-title {
    margin-bottom: 30px;
  }

  .banner-image-box {
    padding: 10px;
    border-radius: 12px;
  }

  .banner-image-box img {
    border-radius: 6px;
  }
}

@media (max-width: 575px) {
  .upcoming-programs-section .section-title {
    margin-bottom: 25px;
  }

  .banner-image-box {
    padding: 8px;
    border-radius: 10px;
  }

  .banner-image-box img {
    border-radius: 5px;
  }
}

/* Floating Stars Animation */
@keyframes float {
  0%, 100% {
    transform: translateY(0px) translateX(0px);
  }
  25% {
    transform: translateY(-15px) translateX(8px);
  }
  50% {
    transform: translateY(-8px) translateX(-8px);
  }
  75% {
    transform: translateY(-20px) translateX(4px);
  }
}

@-webkit-keyframes float {
  0%, 100% {
    -webkit-transform: translateY(0px) translateX(0px);
  }
  25% {
    -webkit-transform: translateY(-15px) translateX(8px);
  }
  50% {
    -webkit-transform: translateY(-8px) translateX(-8px);
  }
  75% {
    -webkit-transform: translateY(-20px) translateX(4px);
  }
}

/* Base styles for floating stars - Very slow animation */
.floating-star {
  animation: float 12s ease-in-out infinite;
  -webkit-animation: float 12s ease-in-out infinite;
  width: 50px;
  transition: all 0.3s ease;
}

/* Individual star animation delays and sizes for desktop */
.floating-star.star-1 {
  width: 50px;
  animation-delay: 0s;
}

.floating-star.star-2 {
  width: 40px;
  animation-delay: 1.5s;
}

.floating-star.star-3 {
  width: 35px;
  animation-delay: 3s;
}

.floating-star.star-4 {
  width: 45px;
  animation-delay: 0.8s;
}

.floating-star.star-5 {
  width: 30px;
  animation-delay: 2.5s;
}

.floating-star.star-6 {
  width: 25px;
  animation-delay: 4s;
}

/* Tablet responsiveness */
@media (max-width: 991px) {
  .floating-star {
    animation-duration: 10s;
  }
  
  .floating-star.star-1 {
    width: 40px;
  }
  
  .floating-star.star-2 {
    width: 35px;
  }
  
  .floating-star.star-3 {
    width: 30px;
  }
  
  .floating-star.star-4 {
    width: 38px;
  }
  
  .floating-star.star-5 {
    width: 28px;
  }
  
  .floating-star.star-6 {
    width: 22px;
  }
}

/* Mobile responsiveness */
@media (max-width: 767px) {
  .floating-star {
    animation-duration: 10s;
  }
  
  .floating-star.star-1 {
    width: 30px;
    top: 8% !important;
    left: 3% !important;
  }
  
  .floating-star.star-2 {
    width: 25px;
    top: 12% !important;
    right: 5% !important;
  }
  
  .floating-star.star-3 {
    width: 22px;
    bottom: 18% !important;
    left: 5% !important;
  }
  
  .floating-star.star-4 {
    width: 28px;
    bottom: 12% !important;
    right: 3% !important;
  }
  
  .floating-star.star-5 {
    width: 20px;
    top: 45% !important;
    left: 2% !important;
  }
  
  .floating-star.star-6 {
    width: 18px;
    top: 35% !important;
    right: 2% !important;
  }
}

/* Small mobile devices */
@media (max-width: 575px) {
  .floating-star {
    animation-duration: 10s;
  }
  
  .floating-star.star-1 {
    width: 25px;
  }
  
  .floating-star.star-2 {
    width: 20px;
  }
  
  .floating-star.star-3 {
    width: 18px;
  }
  
  .floating-star.star-4 {
    width: 22px;
  }
  
  .floating-star.star-5 {
    width: 16px;
  }
  
  .floating-star.star-6 {
    width: 15px;
  }
}

/* Extra small devices */
@media (max-width: 375px) {
  .floating-star.star-1 {
    width: 20px;
  }
  
  .floating-star.star-2 {
    width: 18px;
  }
  
  .floating-star.star-3 {
    width: 16px;
  }
  
  .floating-star.star-4 {
    width: 18px;
  }
  
  .floating-star.star-5 {
    width: 14px;
  }
  
  .floating-star.star-6 {
    width: 12px;
  }
}

/* ========================================
   Gallery Section Styles
   ======================================== */
.gallery-section {
  background-color: #ffffff;
  position: relative;
  overflow: hidden;
}

.gallery-section-header {
  text-align: center;
  margin-bottom: 25px;
  position: relative;
  z-index: 2;
}

.gallery-section-header h2 {
  font-size: 54px;
  line-height: 125%;
  font-weight: 600;
  color: var(--header);
  margin-bottom: 15px;
}

@media (max-width: 1199px) {
  .gallery-section-header h2 {
    font-size: 46px;
  }
}

@media (max-width: 767px) {
  .gallery-section-header h2 {
    font-size: 40px;
  }
}

@media (max-width: 575px) {
  .gallery-section-header h2 {
    font-size: 32px;
  }
}

.gallery-section-header h2 span {
  color: var(--theme);
}

.gallery-section-header > p {
  font-size: 17px;
  color: var(--text);
  max-width: 600px;
  margin: 0 auto;
}

@media (max-width: 575px) {
  .gallery-section-header > p {
    font-size: 15px;
  }
}

.gallery-carousel-wrapper {
  position: relative;
  margin-bottom: 20px;
}

.gallery-carousel-wrapper .swiper {
  padding: 20px 0 40px;
}

.gallery-item {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  height: 500px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

@media (max-width: 991px) {
  .gallery-item {
    height: 400px;
  }
}

@media (max-width: 575px) {
  .gallery-item {
    height: 300px;
  }
}

.gallery-image {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.gallery-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-nav-prev,
.gallery-nav-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: var(--theme);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  font-size: 18px;
}

@media (max-width: 991px) {
  .gallery-nav-prev,
  .gallery-nav-next {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
}

.gallery-nav-prev:hover,
.gallery-nav-next:hover {
  background: var(--header);
  transform: translateY(-50%) scale(1.1);
}

.gallery-nav-prev {
  left: 20px;
}

@media (max-width: 575px) {
  .gallery-nav-prev {
    left: 10px;
  }
}

.gallery-nav-next {
  right: 20px;
}

@media (max-width: 575px) {
  .gallery-nav-next {
    right: 10px;
  }
}

.gallery-button-wrapper {
  margin-top: 30px;
}

.gallery-button-wrapper .theme-btn {
  padding: 18px 40px;
  background: var(--theme);
  color: #ffffff;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.3s ease;
  text-decoration: none;
}

.gallery-button-wrapper .theme-btn i {
  transition: transform 0.3s ease;
}

.gallery-button-wrapper .theme-btn:hover {
  background: var(--header);
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(237, 59, 59, 0.3);
}

.gallery-button-wrapper .theme-btn:hover i {
  transform: translateX(5px);
}

/* Gallery Full Page Styles */
.gallery-full-section {
  background-color: #ffffff;
}

.gallery-full-carousel-wrapper {
  position: relative;
  margin-bottom: 80px;
}

.gallery-full-carousel-wrapper .swiper {
  padding: 30px 0 70px;
}

.gallery-full-item {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  height: 600px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

@media (max-width: 991px) {
  .gallery-full-item {
    height: 450px;
  }
}

@media (max-width: 575px) {
  .gallery-full-item {
    height: 350px;
  }
}

.gallery-full-image {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.gallery-full-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.gallery-full-image:hover img {
  transform: scale(1.1);
}

.gallery-full-image:hover .gallery-full-overlay {
  opacity: 1;
  visibility: visible;
}

.gallery-full-image:hover .gallery-popup {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}

.gallery-popup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  width: 60px;
  height: 60px;
  background: var(--theme);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  z-index: 15;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  cursor: pointer;
}

.gallery-popup:hover {
  background: var(--header);
  transform: translate(-50%, -50%) scale(1.1);
}

.gallery-full-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 40px;
  background: linear-gradient(to top, rgba(23, 23, 23, 0.95) 0%, transparent 100%);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}

@media (max-width: 575px) {
  .gallery-full-overlay {
    padding: 25px;
  }
}

.gallery-full-overlay .overlay-content {
  color: #ffffff;
}

.gallery-full-overlay .overlay-content .icon-wrapper {
  width: 60px;
  height: 60px;
  background: var(--theme);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.gallery-full-overlay .overlay-content .icon-wrapper i {
  font-size: 28px;
  color: #ffffff;
}

.gallery-full-overlay .overlay-content h3 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #ffffff;
}

@media (max-width: 991px) {
  .gallery-full-overlay .overlay-content h3 {
    font-size: 26px;
  }
}

@media (max-width: 575px) {
  .gallery-full-overlay .overlay-content h3 {
    font-size: 22px;
  }
}

.gallery-full-overlay .overlay-content p {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  max-width: 600px;
}

@media (max-width: 575px) {
  .gallery-full-overlay .overlay-content p {
    font-size: 14px;
  }
}

.gallery-full-nav-prev,
.gallery-full-nav-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
  background: var(--theme);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  font-size: 20px;
}

@media (max-width: 991px) {
  .gallery-full-nav-prev,
  .gallery-full-nav-next {
    width: 50px;
    height: 50px;
    font-size: 18px;
  }
}

.gallery-full-nav-prev:hover,
.gallery-full-nav-next:hover {
  background: var(--header);
  transform: translateY(-50%) scale(1.15);
}

.gallery-full-nav-prev {
  left: 30px;
}

@media (max-width: 575px) {
  .gallery-full-nav-prev {
    left: 15px;
  }
}

.gallery-full-nav-next {
  right: 30px;
}

@media (max-width: 575px) {
  .gallery-full-nav-next {
    right: 15px;
  }
}

.gallery-full-pagination {
  bottom: 30px !important;
}

.gallery-full-pagination .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  background: #ffffff;
  opacity: 0.7;
  transition: all 0.3s ease;
}

.gallery-full-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--theme);
  width: 35px;
  border-radius: 7px;
  opacity: 1;
}

/* Gallery Grid Section */
.gallery-grid-section {
  padding-top: 50px;
}

.gallery-grid-item {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  height: 300px;
  cursor: pointer;
  transition: all 0.4s ease;
}

@media (max-width: 575px) {
  .gallery-grid-item {
    height: 250px;
  }
}

.gallery-grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.gallery-grid-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(237, 59, 59, 0.25);
}

.gallery-grid-item:hover img {
  transform: scale(1.1);
}

.gallery-grid-item:hover .gallery-grid-overlay {
  opacity: 1;
}

.gallery-grid-item:hover .gallery-popup-grid {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}

.gallery-popup-grid {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  width: 50px;
  height: 50px;
  background: var(--theme);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  z-index: 15;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.gallery-popup-grid:hover {
  background: var(--header);
  transform: translate(-50%, -50%) scale(1.1);
}

.gallery-grid-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 25px;
  background: linear-gradient(to top, rgba(23, 23, 23, 0.9) 0%, transparent 100%);
  opacity: 0;
  transition: all 0.4s ease;
}

.gallery-grid-overlay h5 {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
}

@media (max-width: 575px) {
  .gallery-grid-overlay h5 {
    font-size: 18px;
  }
}

/* Breadcrumb Styles for Gallery Page */
.breadcrumb-wrapper {
  padding: 180px 0 120px;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.breadcrumb-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(23, 23, 23, 0.7);
  z-index: 1;
}

.breadcrumb-wrapper .container {
  position: relative;
  z-index: 2;
}

@media (max-width: 991px) {
  .breadcrumb-wrapper {
    padding: 140px 0 100px;
  }
}

@media (max-width: 575px) {
  .breadcrumb-wrapper {
    padding: 120px 0 80px;
  }
}

.page-heading {
  text-align: center;
}

.page-heading h1 {
  font-size: 60px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 20px;
}

@media (max-width: 991px) {
  .page-heading h1 {
    font-size: 48px;
  }
}

@media (max-width: 575px) {
  .page-heading h1 {
    font-size: 36px;
  }
}

.breadcrumb-items {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.breadcrumb-items li {
  color: #ffffff;
  font-size: 16px;
  font-weight: 500;
}

.breadcrumb-items li a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s ease;
}

.breadcrumb-items li a:hover {
  color: var(--theme);
}

.breadcrumb-items li i {
  color: var(--theme);
  font-size: 14px;
}

/* ========================================
   Contact Info Styles
   ======================================== */
.contact-content {
  padding: 20px 0;
}

.contact-content .section-title h2 {
  font-size: 50px;
  line-height: 125%;
  font-weight: 600;
  margin-bottom: 15px;
}

.contact-content .section-title p {
  font-size: 18px;
  line-height: 1.6;
  opacity: 0.9;
}

.contact-info-wrapper {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin-top: 40px;
}

.contact-info-item {
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 30px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 0;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.4s ease;
}

.contact-info-item:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateX(10px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.contact-icon {
  width: 70px;
  height: 70px;
  background: var(--theme);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 5px 20px rgba(237, 59, 59, 0.4);
  transition: all 0.3s ease;
}

.contact-info-item:hover .contact-icon {
  transform: scale(1.1);
  box-shadow: 0 8px 25px rgba(237, 59, 59, 0.6);
}

.contact-icon i {
  font-size: 28px;
  color: #ffffff;
}

.contact-info-text {
  flex: 1;
}

.contact-info-text h4 {
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.contact-info-text a {
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s ease;
  word-break: break-all;
}

.contact-info-text a:hover {
  color: var(--theme);
}

/* Tablet Responsive */
@media (max-width: 991px) {
  .contact-content {
    margin-bottom: 40px;
  }

  .contact-content .section-title h2 {
    font-size: 42px;
  }

  .contact-content .section-title p {
    font-size: 16px;
  }

  .contact-info-wrapper {
    margin-top: 30px;
    gap: 20px;
    max-width: 500px;
    width: 100%;
  }

  .contact-info-item {
    padding: 25px;
    width: 100%;
    min-height: 120px;
  }
}

/* Mobile Landscape */
@media (max-width: 767px) {
  .contact-content .section-title h2 {
    font-size: 36px;
  }

  .contact-content .section-title p {
    font-size: 15px;
  }

  .contact-info-wrapper {
    max-width: 450px;
  }

  .contact-info-item {
    padding: 20px;
    gap: 20px;
    min-height: 110px;
  }

  .contact-icon {
    width: 65px;
    height: 65px;
  }

  .contact-icon i {
    font-size: 26px;
  }

  .contact-info-text h4 {
    font-size: 17px;
  }

  .contact-info-text a {
    font-size: 18px;
  }
}

/* Mobile Portrait */
@media (max-width: 575px) {
  .contact-content {
    margin-bottom: 30px;
  }

  .contact-content .section-title h2 {
    font-size: 28px;
  }

  .contact-content .section-title p {
    font-size: 14px;
  }

  .contact-info-wrapper {
    margin-top: 25px;
    gap: 15px;
    max-width: 100%;
  }

  .contact-info-item {
    padding: 18px;
    gap: 15px;
    min-height: 100px;
    flex-direction: row;
    align-items: center;
  }

  .contact-info-item:hover {
    transform: translateX(5px);
  }

  .contact-icon {
    width: 55px;
    height: 55px;
    flex-shrink: 0;
  }

  .contact-icon i {
    font-size: 22px;
  }

  .contact-info-text {
    flex: 1;
    min-width: 0;
  }

  .contact-info-text h4 {
    font-size: 14px;
    margin-bottom: 5px;
  }

  .contact-info-text a {
    font-size: 15px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
}

/* Extra Small Mobile */
@media (max-width: 480px) {
  .contact-content .section-title h2 {
    font-size: 24px;
  }

  .contact-info-item {
    padding: 15px;
    gap: 12px;
  }

  .contact-icon {
    width: 50px;
    height: 50px;
  }

  .contact-icon i {
    font-size: 20px;
  }

  .contact-info-text h4 {
    font-size: 13px;
  }

  .contact-info-text a {
    font-size: 14px;
  }
}

/* Extra Large Desktop */
@media (min-width: 1400px) {
  .contact-content .section-title h2 {
    font-size: 55px;
  }

  .contact-content .section-title p {
    font-size: 19px;
  }

  .contact-info-item {
    padding: 35px;
  }

  .contact-icon {
    width: 75px;
    height: 75px;
  }

  .contact-icon i {
    font-size: 30px;
  }

  .contact-info-text a {
    font-size: 22px;
  }
}

/* ========================================
   Footer Section Alignment Fixes
   ======================================== */

/* Footer Section Base */
.footer-section {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Fix Row Alignment */
.footer-widgets-wrapper .row {
  align-items: flex-start;
  margin-left: -15px;
  margin-right: -15px;
}

/* Fix Column Alignment */
.footer-widgets-wrapper .row > [class*="col-"] {
  padding-left: 15px;
  padding-right: 15px;
}

/* Single Footer Widget Alignment */
.footer-widgets-wrapper .single-footer-widget {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Widget Head Alignment */
.footer-widgets-wrapper .single-footer-widget .widget-head {
  display: block;
}

.footer-widgets-wrapper .single-footer-widget .widget-head img {
  display: block;
  max-width: 100%;
  height: auto !important;
  max-height: 120px;
}

/* Footer Content Alignment */
.footer-widgets-wrapper .single-footer-widget .footer-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Footer Sub-title Line Height Fix */
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-sub-title {
  line-height: 1.5;
  margin-bottom: 0;
}

/* List Area Alignment */
.footer-widgets-wrapper .single-footer-widget .list-area {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Footer Contact List Alignment */
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li i {
  flex-shrink: 0;
  margin-top: 3px;
}

.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li a {
  flex: 1;
  line-height: 1.5;
}

/* Footer Input Alignment */
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-input {
  display: flex;
  align-items: center;
}

.footer-widgets-wrapper .single-footer-widget .footer-content .footer-input input {
  border-radius: 5px;
}

.footer-widgets-wrapper .single-footer-widget .footer-content .footer-input .newsletter-button {
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}

.footer-widgets-wrapper .single-footer-widget .footer-content .footer-input .newsletter-button:hover {
  background-color: var(--header);
  transform: scale(1.05);
}

/* Gallery Wrap Alignment */
.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap {
  display: flex;
  flex-direction: column;
}

.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb {
  overflow: hidden;
  border-radius: 8px;
}

.footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb a {
  display: block;
  position: relative;
}

/* Footer Bottom Alignment */
.footer-bottom .footer-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Tablet Alignment Fixes */
@media (max-width: 991px) {
  .footer-widgets-wrapper .row > [class*="col-"] {
    margin-bottom: 0;
  }

  .footer-widgets-wrapper .single-footer-widget {
    margin-bottom: 20px;
  }
}

/* Mobile Alignment Fixes */
@media (max-width: 767px) {
  .footer-widgets-wrapper .row {
    margin-left: -12px;
    margin-right: -12px;
  }

  .footer-widgets-wrapper .row > [class*="col-"] {
    padding-left: 12px;
    padding-right: 12px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .social-icon {
    justify-content: flex-start;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb {
    border-radius: 6px;
  }
}

/* Extra Small Mobile Fixes */
@media (max-width: 575px) {
  .footer-widgets-wrapper .row {
    margin-left: -10px;
    margin-right: -10px;
  }

  .footer-widgets-wrapper .row > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li {
    gap: 6px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-gallery .gallery-wrap .gallery-item .thumb {
    border-radius: 5px;
  }

  .footer-bottom .footer-wrapper p {
    padding: 0 10px;
    text-align: center;
  }
}

/* Fix for ps-lg-5 padding on smaller screens */
@media (max-width: 991px) {
  .footer-widgets-wrapper .ps-lg-5 {
    padding-left: 15px !important;
  }
}

@media (max-width: 767px) {
  .footer-widgets-wrapper .ps-lg-5 {
    padding-left: 12px !important;
  }
}

@media (max-width: 575px) {
  .footer-widgets-wrapper .ps-lg-5 {
    padding-left: 10px !important;
  }
}

/* Ensure consistent vertical alignment */
.footer-widgets-wrapper .single-footer-widget .widget-head,
.footer-widgets-wrapper .single-footer-widget .footer-content {
  width: 100%;
}

/* Fix any overflow issues */
.footer-section {
  overflow: hidden;
}

.footer-widgets-wrapper {
  overflow: visible;
}

/* ========================================
   Footer Logo Image Responsive Styles
   ======================================== */

.footer-logo-image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
}

.footer-logo-image img {
  max-width: 100%;
  height: auto;
  width: auto;
  max-height: 120px;
}

/* Footer Four Column Layout Responsive */
@media (max-width: 1199px) {
  .footer-logo-image img {
    max-height: 100px;
  }
}

@media (max-width: 991px) {
  .footer-widgets-wrapper .row {
    row-gap: 40px;
  }

  .footer-logo-image {
    padding: 15px 0;
  }

  .footer-logo-image img {
    max-height: 90px;
  }

  /* Two columns on tablet */
  .footer-widgets-wrapper .col-xl-3.col-lg-4 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (max-width: 767px) {
  .footer-widgets-wrapper .row {
    row-gap: 35px;
  }

  .footer-logo-image img {
    max-height: 80px;
  }

  .footer-widgets-wrapper .single-footer-widget .widget-head h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }

  /* Single column on mobile landscape */
  .footer-widgets-wrapper .col-xl-3.col-lg-4.col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* Remove left padding on mobile */
  .footer-widgets-wrapper .ps-lg-5 {
    padding-left: 15px !important;
  }
}

@media (max-width: 575px) {
  .footer-widgets-wrapper {
    padding: 50px 0 60px;
  }

  .footer-widgets-wrapper .row {
    row-gap: 30px;
  }

  .footer-logo-image {
    padding: 10px 0;
  }

  .footer-logo-image img {
    max-height: 70px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li {
    font-size: 14px;
    margin-bottom: 12px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li i {
    font-size: 14px;
  }

  .footer-widgets-wrapper .single-footer-widget .list-area li {
    font-size: 14px;
  }

  .footer-bottom {
    padding: 25px 0;
  }

  .footer-bottom p {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .footer-logo-image img {
    max-height: 60px;
  }

  .footer-widgets-wrapper .single-footer-widget .widget-head h3 {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .footer-widgets-wrapper .single-footer-widget .footer-content .social-icon a {
    width: 35px;
    height: 35px;
    font-size: 14px;
  }
}

/* Center logo on smaller screens */
@media (max-width: 767px) {
  .footer-logo-image {
    justify-content: center;
    text-align: center;
  }
}

/* Ensure proper spacing between footer columns */
.footer-widgets-wrapper .single-footer-widget {
  margin-bottom: 0;
}

/* Fix contact list alignment */
.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact {
  margin-top: 0;
}

.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li {
  word-break: break-word;
}

.footer-widgets-wrapper .single-footer-widget .footer-content .footer-contact li a {
  word-break: break-all;
}

/* ========================================
   Telegram Section Styles
   ======================================== */

.telegram-section {
  background-color: #f8f9fa;
  position: relative;
  overflow: hidden;
}

/* Telegram Section Header */
.telegram-section-header {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  z-index: 2;
}

.telegram-section-header h2 {
  font-size: 54px;
  line-height: 125%;
  font-weight: 600;
  color: var(--header);
  margin-bottom: 0;
}

/* Telegram Card */
.telegram-card {
  background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 0;
  border: none;
  padding: 40px 30px;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: translateY(0);
}

.telegram-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(237, 59, 59, 0.05), transparent);
  transition: left 0.6s ease;
}

.telegram-card:hover {
  transform: translateY(-15px) scale(1.02);
  box-shadow: 0 20px 60px rgba(237, 59, 59, 0.2);
  background: #ffffff;
}

.telegram-card:hover::before {
  left: 100%;
}

/* Telegram Icon Wrapper */
.telegram-icon-wrapper {
  width: 90px;
  height: 90px;
  margin: 0 auto 30px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.telegram-icon-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #ed3b3b, #ff6b6b);
  border-radius: 50%;
  opacity: 0.15;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Telegram Icon Ring Pulse Animation */
.telegram-icon-wrapper .telegram-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90px;
  height: 90px;
  border: 2px solid rgba(237, 59, 59, 0.3);
  border-radius: 50%;
  animation: telegram-ring-pulse 2s ease-out infinite;
}

@keyframes telegram-ring-pulse {
  0% { transform: translate(-50%, -50%) scale(0.8); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1.2); opacity: 0; }
}

.telegram-card:hover .telegram-icon-bg {
  opacity: 0.3;
  transform: scale(1.15);
}

.telegram-icon-wrapper i {
  font-size: 45px;
  color: #ed3b3b;
  z-index: 2;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.telegram-card:hover .telegram-icon-wrapper i {
  transform: scale(1.2);
  color: #d63535;
}

/* Telegram Content */
.telegram-content {
  width: 100%;
}

.telegram-content h3 {
  font-size: 24px;
  font-weight: 700;
  color: var(--header);
  margin-bottom: 20px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  display: inline-block;
}

.telegram-content h3::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 60%;
  height: 2px;
  background: var(--theme);
  transition: transform 0.4s ease;
}

.telegram-card:hover .telegram-content h3 {
  color: var(--theme);
  transform: translateY(-3px);
}

.telegram-card:hover .telegram-content h3::after {
  transform: translateX(-50%) scaleX(1);
}

/* Telegram Link */
.telegram-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 30px;
  background: linear-gradient(135deg, #ed3b3b 0%, #ff5252 100%);
  color: #ffffff !important;
  border-radius: 0;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
}

.telegram-link::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.telegram-link::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.telegram-link:hover::before {
  width: 300px;
  height: 300px;
}

.telegram-link:hover::after {
  left: 100%;
}

.telegram-link:hover {
  transform: translateY(-5px) scale(1.05);
  box-shadow: 0 12px 35px rgba(237, 59, 59, 0.5);
  background: linear-gradient(135deg, #d63535 0%, #ed3b3b 100%);
  border-color: rgba(255, 255, 255, 0.3);
}

.telegram-link i.fa-brands {
  font-size: 20px;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.telegram-link:hover i.fa-brands {
  transform: rotate(360deg) scale(1.2);
}

.telegram-link span {
  font-size: 16px;
  font-weight: 600;
  position: relative;
  z-index: 2;
}

/* Telegram Bottom Info */
.telegram-bottom-info {
  margin-top: 50px;
  text-align: center;
  padding: 25px 30px;
  background: rgba(237, 59, 59, 0.05);
  border-radius: 15px;
  border-left: 4px solid var(--theme);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.telegram-bottom-info i {
  font-size: 24px;
  color: var(--theme);
  flex-shrink: 0;
}

.telegram-bottom-info p {
  margin: 0;
  font-size: 17px;
  color: var(--text);
  font-weight: 500;
  line-height: 1.6;
}

/* Responsive Styles */
@media (max-width: 1199px) {
  .telegram-section-header h2 {
    font-size: 46px;
  }

  .telegram-card {
    padding: 35px 25px;
  }

  .telegram-card:hover {
    transform: translateY(-12px) scale(1.015);
  }

  .telegram-icon-wrapper {
    width: 80px;
    height: 80px;
    margin-bottom: 25px;
  }

  .telegram-icon-wrapper i {
    font-size: 40px;
  }

  .telegram-content h3 {
    font-size: 22px;
    margin-bottom: 18px;
  }
}

@media (max-width: 991px) {
  .telegram-section-header {
    margin-bottom: 50px;
  }

  .telegram-section {
    padding: 70px 0;
  }

  .telegram-card {
    padding: 30px 20px;
    margin-bottom: 20px;
  }

  .telegram-card:hover {
    transform: translateY(-10px) scale(1.01);
    box-shadow: 0 15px 50px rgba(237, 59, 59, 0.18);
  }

  .telegram-icon-wrapper {
    width: 75px;
    height: 75px;
    margin-bottom: 22px;
  }

  .telegram-icon-wrapper i {
    font-size: 38px;
  }

  .telegram-content h3 {
    font-size: 20px;
    margin-bottom: 18px;
  }

  .telegram-link {
    padding: 14px 26px;
    font-size: 15px;
    gap: 8px;
  }

  .telegram-link i.fa-brands {
    font-size: 18px;
  }

  .telegram-link span {
    font-size: 15px;
  }

  .telegram-bottom-info {
    margin-top: 40px;
    padding: 20px 25px;
  }

  .telegram-bottom-info p {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .telegram-section-header h2 {
    font-size: 40px;
  }

  .telegram-section-header {
    margin-bottom: 40px;
  }

  .telegram-section {
    padding: 60px 0;
  }

  .telegram-card {
    padding: 28px 18px;
    margin-bottom: 25px;
  }

  .telegram-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: 0 12px 40px rgba(237, 59, 59, 0.16);
  }

  .telegram-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }

  .telegram-icon-wrapper {
    width: 70px;
    height: 70px;
    margin-bottom: 20px;
  }

  .telegram-icon-wrapper i {
    font-size: 35px;
  }

  .telegram-content h3 {
    font-size: 19px;
    margin-bottom: 0;
  }

  .telegram-content h3::after {
    height: 2px;
  }

  .telegram-link {
    padding: 13px 24px;
    font-size: 14px;
    width: 100%;
    max-width: 200px;
  }

  .telegram-link i.fa-brands {
    font-size: 17px;
  }

  .telegram-link span {
    font-size: 14px;
  }

  .telegram-link:hover {
    transform: translateY(-3px) scale(1.03);
  }

  .telegram-bottom-info {
    flex-direction: column;
    gap: 10px;
    padding: 20px;
  }

  .telegram-bottom-info i {
    font-size: 22px;
  }

  .telegram-bottom-info p {
    font-size: 15px;
    text-align: center;
  }
}

@media (max-width: 575px) {
  .telegram-section-header h2 {
    font-size: 32px;
  }

  .telegram-section {
    padding: 50px 0;
  }

  .telegram-card {
    padding: 25px 15px;
    margin-bottom: 20px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  }

  .telegram-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 35px rgba(237, 59, 59, 0.15);
  }

  .telegram-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .telegram-icon-wrapper {
    width: 65px;
    height: 65px;
    margin-bottom: 18px;
  }

  .telegram-icon-wrapper i {
    font-size: 32px;
  }

  .telegram-card:hover .telegram-icon-wrapper i {
    transform: scale(1.15) rotate(-8deg);
  }

  .telegram-content h3 {
    font-size: 18px;
    margin-bottom: 0;
  }

  .telegram-content h3::after {
    bottom: -4px;
  }

  .telegram-link {
    padding: 12px 22px;
    font-size: 13px;
    width: 100%;
    max-width: 190px;
  }

  .telegram-link i.fa-brands {
    font-size: 16px;
  }

  .telegram-link span {
    font-size: 13px;
  }

  .telegram-link:hover {
    transform: translateY(-2px) scale(1.02);
  }

  .telegram-bottom-info {
    margin-top: 30px;
    padding: 18px 15px;
  }

  .telegram-bottom-info i {
    font-size: 20px;
  }

  .telegram-bottom-info p {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .telegram-section-header h2 {
    font-size: 30px;
  }

  .telegram-section {
    padding: 40px 0;
  }

  .telegram-card {
    padding: 22px 12px;
    margin-bottom: 18px;
  }

  .telegram-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(237, 59, 59, 0.12);
  }

  .telegram-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .telegram-icon-wrapper {
    width: 60px;
    height: 60px;
    margin-bottom: 15px;
  }

  .telegram-icon-wrapper i {
    font-size: 30px;
  }

  .telegram-card:hover .telegram-icon-wrapper i {
    transform: scale(1.1) rotate(-5deg);
  }

  .telegram-content h3 {
    font-size: 17px;
    margin-bottom: 0;
  }

  .telegram-link {
    padding: 10px 18px;
    font-size: 12px;
    gap: 7px;
    width: 100%;
    max-width: 180px;
  }

  .telegram-link i.fa-brands {
    font-size: 15px;
  }

  .telegram-link span {
    font-size: 12px;
  }

  .telegram-link:hover {
    transform: translateY(-2px) scale(1.01);
  }
}

/* Extra Small Devices */
@media (max-width: 375px) {
  .telegram-section-header h2 {
    font-size: 28px;
  }

  .telegram-card {
    padding: 20px 10px;
  }

  .telegram-content {
    gap: 8px;
  }

  .telegram-icon-wrapper {
    width: 55px;
    height: 55px;
  }

  .telegram-icon-wrapper i {
    font-size: 28px;
  }

  .telegram-content h3 {
    font-size: 16px;
    margin-bottom: 0;
  }

  .telegram-link {
    padding: 9px 16px;
    font-size: 11px;
    gap: 6px;
    width: 100%;
    max-width: 170px;
  }

  .telegram-link i.fa-brands {
    font-size: 14px;
  }

  .telegram-link span {
    font-size: 11px;
  }
}

/* Ensure proper spacing between sections */
.telegram-section + .gallery-section {
  margin-top: 0;
}

/* ========================================
   Class Sessions Logo Carousel Section
   ======================================== */

.class-sessions-section {
  background-color: #ffffff;
  position: relative;
  overflow: hidden;
}

/* Header Styles */
.class-sessions-header {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  z-index: 2;
}

.class-sessions-header h2 {
  font-size: 50px;
  line-height: 125%;
  font-weight: 600;
  color: var(--header);
  margin-bottom: 15px;
}

.class-sessions-header h2 span {
  color: var(--theme);
}

.class-sessions-header p {
  font-size: 17px;
  color: var(--text);
  max-width: 600px;
  margin: 0 auto;
}

/* Carousel Wrapper */
.class-sessions-carousel-wrapper {
  position: relative;
  margin-bottom: 0;
}

.class-sessions-carousel-wrapper .swiper {
  padding: 0;
}

/* Logo Card Styles */
.session-logo-card {
  position: relative;
  background: #ffffff;
  border: none;
  padding: 20px 30px;
  transition: all 0.3s ease;
  overflow: hidden;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Logo Image */
.session-logo-card img {
  width: 100%;
  height: auto;
  max-height: 80px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.session-logo-card:hover img {
  transform: scale(1.1);
}

/* Navigation Arrows */
.class-sessions-nav-prev,
.class-sessions-nav-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: var(--theme);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  font-size: 18px;
}

.class-sessions-nav-prev {
  left: 20px;
}

.class-sessions-nav-next {
  right: 20px;
}

.class-sessions-nav-prev:hover,
.class-sessions-nav-next:hover {
  background: var(--header);
  transform: translateY(-50%) scale(1.1);
}

/* Swiper Pagination */
.class-sessions-carousel .swiper-pagination {
  bottom: 20px;
}

.class-sessions-carousel .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: #d7d7d7;
  opacity: 1;
  transition: all 0.3s ease;
}

.class-sessions-carousel .swiper-pagination-bullet-active {
  background: var(--theme);
  width: 30px;
  border-radius: 6px;
}

/* ========================================
   Responsive Styles for Class Sessions
   ======================================== */

/* Tablet Landscape - 1199px */
@media (max-width: 1199px) {
  .session-logo-card {
    padding: 18px 25px;
    height: 110px;
  }

  .session-logo-card img {
    max-height: 70px;
  }
}

/* Tablet Portrait - 991px */
@media (max-width: 991px) {
  .session-logo-card {
    padding: 15px 20px;
    height: 100px;
  }

  .session-logo-card img {
    max-height: 65px;
  }
}

/* Mobile Landscape - 767px */
@media (max-width: 767px) {
  .session-logo-card {
    padding: 15px 18px;
    height: 90px;
  }

  .session-logo-card img {
    max-height: 60px;
  }
}

/* Mobile Portrait - 575px */
@media (max-width: 575px) {
  .session-logo-card {
    padding: 12px 15px;
    height: 85px;
  }

  .session-logo-card img {
    max-height: 55px;
  }
}

/* Small Mobile - 480px */
@media (max-width: 480px) {
  .session-logo-card {
    padding: 12px 12px;
    height: 80px;
  }

  .session-logo-card img {
    max-height: 50px;
  }
}

/* Extra Small Mobile - 375px */
@media (max-width: 375px) {
  .session-logo-card {
    padding: 10px 10px;
    height: 75px;
  }

  .session-logo-card img {
    max-height: 45px;
  }
}

/* ========================================
   Results Preview Section Styles
======================================== */
.results-preview-section {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
}

.results-preview-wrapper {
  position: relative;
  z-index: 2;
}

/* Image Container */
.results-image-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.results-image-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  height: 90%;
  background: radial-gradient(circle, rgba(237, 59, 59, 0.15) 0%, transparent 70%);
  filter: blur(40px);
  z-index: 1;
  animation: pulse-glow 3s ease-in-out infinite;
}

@keyframes pulse-glow {
  0%, 100% {
    opacity: 0.5;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity: 0.8;
    transform: translate(-50%, -50%) scale(1.1);
  }
}

.results-image-frame {
  position: relative;
  z-index: 2;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.results-image-frame:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.25);
}

.results-preview-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
  transition: transform 0.4s ease;
}

.results-image-frame:hover .results-preview-img {
  transform: scale(1.05);
}

/* CTA Content */
.results-cta-content {
  text-align: center;
  padding: 40px 20px;
}

.results-icon-wrapper {
  width: 80px;
  height: 80px;
  margin: 0 auto 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  border-radius: 50%;
  position: relative;
  animation: float-icon 3s ease-in-out infinite;
}

.results-icon-wrapper::before {
  content: '';
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  background: linear-gradient(135deg, var(--theme) 0%, #ff6b6b 100%);
  border-radius: 50%;
  opacity: 0.3;
  z-index: -1;
  animation: pulse-ring 2s ease-in-out infinite;
}

@keyframes float-icon {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes pulse-ring {
  0%, 100% {
    transform: scale(1);
    opacity: 0.3;
  }
  50% {
    transform: scale(1.15);
    opacity: 0;
  }
}

.results-icon-wrapper i {
  font-size: 36px;
  color: var(--white);
}

.results-title {
  font-size: 42px;
  font-weight: 700;
  color: var(--header);
  margin-bottom: 15px;
  font-family: 'Barlow Condensed', sans-serif;
  line-height: 1.2;
}

.results-description {
  font-size: 18px;
  color: var(--text);
  margin-bottom: 30px;
  line-height: 1.6;
}

.results-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 24px 50px;
  font-size: 16px;
  transition: all 0.3s ease;
}

.results-btn i {
  transition: transform 0.3s ease;
}

.results-btn:hover i {
  transform: translateX(5px);
}

/* Responsive Styles */
@media (max-width: 991px) {
  .results-preview-section {
    padding: 60px 0;
  }

  .results-title {
    font-size: 36px;
  }

  .results-description {
    font-size: 16px;
  }

  .results-cta-content {
    padding: 30px 15px;
  }

  .results-icon-wrapper {
    width: 70px;
    height: 70px;
  }

  .results-icon-wrapper i {
    font-size: 32px;
  }
}

@media (max-width: 767px) {
  .results-preview-section {
    padding: 50px 0;
  }

  .results-cta-content {
    margin-top: 0;
    margin-bottom: 30px;
  }

  .results-title {
    font-size: 32px;
  }

  .results-description {
    font-size: 15px;
    margin-bottom: 25px;
  }

  .results-icon-wrapper {
    width: 65px;
    height: 65px;
    margin-bottom: 20px;
  }

  .results-icon-wrapper i {
    font-size: 28px;
  }

  .results-btn {
    padding: 20px 40px;
    font-size: 14px;
  }

  .results-image-frame {
    border-radius: 15px;
  }

  .results-preview-img {
    border-radius: 15px;
  }
}

@media (max-width: 575px) {
  .results-preview-section {
    padding: 40px 0;
  }

  .results-title {
    font-size: 28px;
  }

  .results-description {
    font-size: 14px;
  }

  .results-icon-wrapper {
    width: 60px;
    height: 60px;
  }

  .results-icon-wrapper i {
    font-size: 26px;
  }

  .results-btn {
    padding: 18px 35px;
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .results-title {
    font-size: 24px;
  }

  .results-cta-content {
    padding: 20px 10px;
  }

  .results-icon-wrapper {
    width: 55px;
    height: 55px;
  }

  .results-icon-wrapper i {
    font-size: 24px;
  }
}

/* ============================================
   ACTIVE PAGE NAVIGATION STYLES
   ============================================ */

/* Header Navigation Active State */
.header-main .main-menu ul li.active > a {
  color: var(--theme2) !important;
  position: relative;
}

.header-main .main-menu ul li.active > a::after {
  content: '';
  position: absolute;
  bottom: 15px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--theme2);
}

/* Sticky Header Active State */
.header-sticky .header-main .main-menu ul li.active > a {
  color: var(--theme) !important;
}

.header-sticky .header-main .main-menu ul li.active > a::after {
  background: var(--theme);
}

/* Footer Navigation Active State */
.footer-widgets-wrapper .list-area li.active a {
  color: var(--theme) !important;
  font-weight: 600;
}

/* Mobile Menu Active State */
.mean-container .mean-nav ul li.active > a {
  color: var(--theme) !important;
  font-weight: 600;
}

/* Offcanvas Menu Active State */
.mobile-menu ul li.active > a {
  color: var(--theme) !important;
  font-weight: 600;
}

/*# sourceMappingURL=main.css.map */