/* ----------------------------------------------------------------------------------------
* Author        : Awaiken
* Template Name : MSG Naturopathy - Spa and Wellness Center HTML Template
* File          : CSS File
* Version       : 1.0
* ---------------------------------------------------------------------------------------- */
/* INDEX
----------------------------------------------------------------------------------------
01. Global Variables
02. General css
03. Header css
04. Hero css
05. About Us css
06. Our Services css
07. Why Choose Us css
08. Our Benefits css
09. Our Feature css
10. Intro Video css
11. Our Pricing css
12. Book Appointment css
13. Our Testimonials css
14. Our FAQ's css
15. Our Blog css
16. Scrolling Ticker css
17. Footer css
18. About Us Page css
19. Services Page css
20. Service Single css
21. Blog Archive css
22. Blog Single css
23. Team Page css
24. Team Single css
25. Pricing Page css
26. Testimonials Page css
27. Image Gallery css
28. Video Gallery css
29. FAQ's Page css
30. Contact Us Page css
31. Book Appointment Page css
32.	404 Error Page css
33. Responsive css
34. Home - Version 2 css
35. Home - Version 3 css
-------------------------------------------------------------------------------------- */

/************************************/
/*** 	 01. Global Variables	  ***/
/************************************/

/* Self-hosted (not on Google Fonts) — client-supplied family, all weights it shipped with. */
@font-face {
  font-family: "Canto";
  src: url("/fonts/canto/Canto-Light.woff2") format("woff2"),
       url("/fonts/canto/Canto-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Canto";
  src: url("/fonts/canto/Canto-LightItalic.woff2") format("woff2"),
       url("/fonts/canto/Canto-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Canto";
  src: url("/fonts/canto/Canto-Roman.woff2") format("woff2"),
       url("/fonts/canto/Canto-Roman.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Canto";
  src: url("/fonts/canto/Canto-Italic.woff2") format("woff2"),
       url("/fonts/canto/Canto-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Canto";
  src: url("/fonts/canto/Canto-SemiBold.woff2") format("woff2"),
       url("/fonts/canto/Canto-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Canto";
  src: url("/fonts/canto/Canto-SemiBoldItalic.woff2") format("woff2"),
       url("/fonts/canto/Canto-SemiBoldItalic.woff") format("woff");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Canto";
  src: url("/fonts/canto/Canto-Bold.woff2") format("woff2"),
       url("/fonts/canto/Canto-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Canto";
  src: url("/fonts/canto/Canto-BoldItalic.woff2") format("woff2"),
       url("/fonts/canto/Canto-BoldItalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

:root {
  --primary-color: #000000;
  --secondary-color: #eff2e7;
  --bg-color: #fffef6;
  --text-color: #666666;
  --accent-color: #0e5d25;
  --white-color: #ffffff;
  --divider-color: #0000001a;
  --dark-divider-color: #ffffff1a;
  --error-color: rgb(230, 87, 87);
  --default-font: "Bricolage Grotesque", sans-serif;
  --heading-font: "Canto", serif;
  --number-font: "Poppins", sans-serif;
  /* Swiper reads this for every pagination-dot slider site-wide (hero info strip,
     services, testimonials, etc.) — square dots instead of the library's round default. */
  --swiper-pagination-bullet-border-radius: 2px;
}

/* Headings use the client-supplied Canto Roman family (theme convention: distinct
   display face for titles, the sans default for everything else — body text, menus,
   buttons, form fields). */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--heading-font);
}

/* Stat/counter numbers (e.g. "500+", "4.8") get a geometric sans built for digits,
   overriding the serif heading font on the h2/h3 wrappers they sit inside. */
.counter,
.rz-number {
  font-family: var(--number-font);
  font-variant-numeric: tabular-nums;
  background: none;
}

/************************************/
/*** 	   02. General css		  ***/
/************************************/

html,
body {
  width: 100%;
  overflow-x: clip;
}

body {
  font-family: var(--default-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1em;
  color: var(--text-color);
  background: var(--bg-color);
}

::-webkit-scrollbar-track {
  background-color: var(--primary-color);
  border-left: 1px solid var(--primary-color);
}

::-webkit-scrollbar {
  width: 7px;
  background-color: var(--primary-color);
}

::-webkit-scrollbar-thumb {
  background: var(--accent-color);
}

::selection {
  color: var(--white-color);
  background-color: var(--primary-color);
  filter: invert(1);
}

p {
  line-height: 1.6em;
  margin-bottom: 1.5em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  line-height: 1.2em;
  color: var(--primary-color);
  margin: 0;
}

figure {
  margin: 0;
}

img {
  max-width: 100%;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
  outline: 0;
}

a:focus {
  text-decoration: none;
  outline: 0;
}

.container {
  max-width: 1300px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  padding-right: 15px;
  padding-left: 15px;
}

.image-anime {
  position: relative;
  overflow: hidden;
}

.image-anime:after {
  content: "";
  position: absolute;
  width: 200%;
  height: 0%;
  left: 50%;
  top: 50%;
  background-color: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%) rotate(-45deg);
  z-index: 1;
}

.image-anime:hover:after {
  height: 250%;
  transition: all 600ms linear;
  background-color: transparent;
}

.reveal {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  visibility: hidden;
  overflow: hidden;
}

.reveal img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform-origin: left;
  transform-origin: left;
}

.row {
  margin-right: -15px;
  margin-left: -15px;
}

.row > * {
  padding-right: 15px;
  padding-left: 15px;
}

.row.no-gutters {
  margin-right: 0px;
  margin-left: 0px;
}

.row.no-gutters > * {
  padding-right: 0px;
  padding-left: 0px;
}

.btn-default {
  position: relative;
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1em;
  text-transform: capitalize;
  background: var(--accent-color);
  color: var(--white-color);
  border-radius: 100px;
  padding: 17px 24px 17px 55px;
  border: none;
  overflow: hidden;
  box-shadow: none;
  outline: none;
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.btn-default:hover {
  padding: 17px 55px 17px 24px;
}

.btn-default.btn-white {
  color: var(--primary-color);
  background-color: var(--white-color);
}

.btn-default::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
  background-color: var(--white-color);
  border-radius: 50%;
  background-image: url("../images/arrow-primary.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 14px auto;
  transition: all 0.4s ease-in-out;
}

.btn-default:hover::before {
  left: 100%;
  transform: translate(calc(100% - 85px), -50%) rotate(45deg);
}

.btn-default.btn-white::before {
  background-color: var(--accent-color);
  background-image: url("../images/arrow-white.svg");
}

.btn-default::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: var(--primary-color);
  border-radius: 100px;
  transition: all 0.4s ease-in-out;
  z-index: -1;
}

.btn-default:hover:after {
  left: 0;
  width: 100%;
}

.btn-default.btn-highlighted:hover {
  color: var(--primary-color);
}

.btn-default.btn-highlighted:hover:before {
  background-color: var(--accent-color);
  background-image: url("../images/arrow-white.svg");
}

.btn-default.btn-white::after,
.btn-default.btn-highlighted::after {
  background-color: var(--secondary-color);
}

.readmore-btn {
  position: relative;
  display: inline-block;
  font-weight: 600;
  line-height: 1em;
  text-transform: capitalize;
  color: var(--primary-color);
  padding: 5px 36px 5px 0;
}

.readmore-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 26px;
  height: 26px;
  transform: translateY(-50%);
  background-color: var(--accent-color);
  border-radius: 50%;
  background-image: url("../images/arrow-white.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 12px auto;
  transition: all 0.4s ease-in-out;
}

.readmore-btn:hover::before {
  transform: translateY(-50%) rotate(45deg);
}

.cb-cursor:before {
  background: var(--primary-color);
}

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loading-container,
.loading {
  height: 100px;
  position: relative;
  width: 100px;
  border-radius: 100%;
}

.loading-container {
  margin: 40px auto;
}

.loading {
  border: 1px solid transparent;
  border-color: transparent var(--accent-color) transparent var(--accent-color);
  animation: rotate-loading 1.5s linear 0s infinite normal;
  transform-origin: 50% 50%;
}

.loading-container:hover .loading,
.loading-container .loading {
  transition: all 0.5s ease-in-out;
}

#loading-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 80px;
  transform: translate(-50%, -50%);
}

@keyframes rotate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.light-section {
  background-color: var(--secondary-color);
}

.light-section .container-fluid {
  padding: 0;
}

.dark-section {
  background-color: var(--accent-color);
  background-image: url("../images/dark-section-bg-image.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

.section-row {
  margin-bottom: 80px;
}

.section-row .section-title {
  margin-bottom: 0;
}

.section-row .section-title.section-title-center {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.section-btn {
  text-align: right;
}

.section-content-btn .section-btn {
  margin-top: 30px;
  text-align: left;
}

.section-title-content p {
  margin-bottom: 20px;
}

.section-title-content p:last-child {
  margin-bottom: 0;
}

.section-title {
  margin-bottom: 40px;
}

.section-sub-heading,
.section-title .section-sub-title {
  position: relative;
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  line-height: normal;
  text-transform: capitalize;
  color: var(--primary-color);
  border: 1px solid var(--divider-color);
  border-radius: 100px;
  padding: 8px 16px 8px 30px;
  margin-bottom: 15px;
}

.section-sub-heading,
.section-title .section-sub-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  background: var(--accent-color);
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.section-title h1 {
  font-size: 66px;
  line-height: 1.1em;
  letter-spacing: -0.02em;
  margin-bottom: 0;
  cursor: none;
}

.section-title h2 {
  font-size: 46px;
  line-height: 1.1em;
  letter-spacing: -0.02em;
  margin-bottom: 0;
  cursor: none;
}

.section-title p {
  margin-top: 20px;
  margin-bottom: 0;
}

.dark-section .section-title .section-sub-title,
.dark-section .section-title h1,
.dark-section .section-title h2,
.dark-section .section-title p,
.dark-section .section-title-content p {
  color: var(--white-color);
}

.dark-section .section-title .section-sub-title {
  border-color: var(--dark-divider-color);
}

.dark-section .section-title .section-sub-title::before {
  background: var(--white-color);
}

.help-block.with-errors ul {
  margin: 0;
  text-align: left;
}

.help-block.with-errors ul li {
  color: var(--error-color);
  font-weight: 500;
  font-size: 14px;
}

/************************************/
/**** 	    03. Header css		 ****/
/************************************/

header.main-header {
  position: absolute;
  top: 30px;
  right: 15px;
  left: 15px;
  z-index: 100;
}

header.main-header .header-sticky {
  position: relative;
  max-width: 1300px;
  top: 0;
  border: 1px solid var(--dark-divider-color);
  background: var(--divider-color);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 100px;
  margin: 0 auto;
  z-index: 100;
  /* the white/black hover-or-scroll swap fades in instead of snapping */
  transition: background-color 0.4s ease-in-out, border-color 0.4s ease-in-out;
}

header.main-header .header-sticky.hide {
  transform: translateY(-100%);
  transition: transform 0.3s ease-in-out;
}

header.main-header .header-sticky.active {
  position: fixed;
  top: 15px;
  left: 15px;
  right: 15px;
  transform: translateY(0);
  background: var(--primary-color);
  border-radius: 100px;
}

.navbar {
  /* padding: 15px 0px; */
  align-items: center;
}

.navbar-brand {
  padding: 0;
  margin: 0;
}

.main-menu .nav-menu-wrapper {
  flex: 1;
  text-align: center;
  margin: 0 1.042vw;
}

.main-menu .nav-menu-wrapper > ul {
  align-items: center;
  display: inline-flex;
}

.main-menu ul li {
  margin: 0 10px;
  position: relative;
}

.main-menu ul li a {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2em;
  padding: 12px 10px !important;
  color: var(--white-color);
  background: transparent;
  border-radius: 0px;
  text-transform: capitalize;
  transition: color 0.4s ease-in-out, background 0.3s ease-in-out;
}

.main-menu ul li.submenu > a:after {
  content: "\f107";
  font-family: "FontAwesome";
  font-weight: 900;
  font-size: 14px;
  margin-left: 8px;
  display: inline-block;
  transition: transform 0.25s ease;
}
/* Down arrow flips to up while that item's submenu/mega panel is open (hover-intent's
   .rz-open class, so it stays flipped through the same grace period the panel does). */
.main-menu ul li.submenu.rz-open > a:after,
.main-menu ul li.submenu:hover > a:after {
  transform: rotate(180deg);
}

.main-menu ul li a:hover,
.main-menu ul li a:focus {
  color: var(--accent-color);
}

.main-menu ul ul {
  visibility: hidden;
  opacity: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  width: 235px;
  border-radius: 12px;
  position: absolute;
  left: 0;
  top: calc(100% + 22px);
  background: #ffffff;
  border: 1px solid #e6e8ec;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.16);
  transition: opacity 0.25s ease, visibility 0.25s ease;
  text-align: left;
}
/* Invisible bridge across the gap so the dropdown stays open when the pointer moves down into it.
   Placed on the LI (always hoverable, position:relative) so hover never drops in the gap. */
.main-menu ul li.submenu:not(.tmega-parent):not(.mega-menu-parent)::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 240px;
  height: 28px;
}
/* Hover-intent (JS) keeps simple dropdowns open briefly after the pointer leaves — Stay-like reliability */
.main-menu ul li.submenu.rz-open > ul {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.main-menu ul li.submenu:first-child ul {
  width: 235px;
}

.main-menu ul ul ul {
  left: 100%;
  top: 0;
  text-align: left;
}

.main-menu ul li:hover > ul {
  visibility: visible;
  opacity: 1;
  padding: 5px 0;
}

.main-menu ul li.submenu ul li.submenu > a:after {
  content: "\f105";
  float: right;
}

.main-menu ul ul li {
  margin: 0;
  padding: 0;
}

.main-menu ul ul li a {
  color: #333;
  font-size: 13.5px;
  padding: 7px 20px !important;
  transition: all 0.3s ease-in-out;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus {
  color: var(--accent-color);
  background-color: transparent;
  padding: 8px 20px 8px 23px !important;
}
.main-menu .mega-menu .mega-group-label {
  color: #111 !important;
  font-weight: 700;
}

/* mobile (SlickNav clone): show plain links only, hide the side guide images */
.slicknav_nav .rz-mega-img { display: none; }
.slicknav_nav .rz-mega-content { position: static; width: auto; display: block; padding: 0; }

/* nav-menu-wrapper stays static (not relative) so a full-width mega-menu panel's
   position:absolute resolves against the full-width <header> instead of this
   narrower, inset flex wrapper — otherwise a 100%-wide panel centers off-screen. */
.main-menu .nav-menu-wrapper { position: static; }

/* ============ Treatments mega menu: left category rail + grouped columns ============ */
.main-menu ul li.tmega-parent { position: static; }

/* The dropdown box (overrides the generic 235px submenu) */
.main-menu ul li.tmega-parent > ul.tmega {
  width: 900px;
  max-width: calc(100vw - 40px);
  left: 50%;
  top: calc(100% + 22px);
  transform: translateX(-50%);
  transform-origin: top center;
  /* left 212px = category column (grey, full height); rest = white panel area */
  background: linear-gradient(to right, #f4f6f8 212px, #ffffff 212px);
  border: 1px solid #e6e8ec;
  border-radius: 14px;
  overflow: visible;
  padding: 0;
  display: block;
  min-height: 161px; /* rail height; JS sets exact height to fit the active category's content */
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
/* category items are square; the category column's rounded corners come from the box */
.tmega .tmega-cat-label { border-radius: 0; background: transparent; }
.tmega .tmega-cat:first-child > .tmega-cat-label { border-top-left-radius: 14px; }
/* Opens on hover OR click (JS toggles .tmega-open) — from the header bottom */
.main-menu ul li.tmega-parent:hover > ul.tmega,
.main-menu ul li.tmega-parent.tmega-open > ul.tmega {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%);
}
/* panel keeps the box's right rounded corners */
.tmega .tmega-panel { border-radius: 0 14px 14px 0; }

/* Left rail — each category label stacks vertically at a fixed width */
.tmega .tmega-cat { position: static; margin: 0; padding: 0; width: 212px; }
.tmega .tmega-cat-label {
  display: block !important;
  padding: 12px 18px !important;
  color: #222 !important;
  font-size: 13px;
  font-weight: 600;
  background: #f4f6f8;
  border-bottom: 1px solid #eceef1;
  transition: none !important;
}
.tmega .tmega-cat:last-child > .tmega-cat-label { border-bottom: 0; }
.tmega .tmega-cat.tmega-active > .tmega-cat-label {
  background: var(--accent-color);
  color: #fff !important;
}

/* Right panel — absolute, fills the area to the right of the rail */
.main-menu ul li .tmega .tmega-panel {
  position: absolute;
  top: 0;
  left: 212px;
  right: 0;
  bottom: 0;
  width: auto;
  visibility: visible;
  opacity: 1;
  transform: none;
  border-radius: 0 14px 14px 0;
  background: #ffffff;
  padding: 24px 26px;
  gap: 22px;
  flex-wrap: nowrap;
  align-content: flex-start;
  display: none;
}
.tmega .tmega-cat.tmega-active > .tmega-panel { display: flex; }

/* Columns inside a panel */
.tmega .tmega-col { margin: 0; padding: 0; min-width: 0; flex: 1 1 0; }
.tmega .tmega-col-head {
  display: flex;
  align-items: flex-end;
  min-height: 2.7em;
  color: #111;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e6e8ec;
}
.tmega .tmega-col-list {
  position: static; visibility: visible; opacity: 1; transform: none;
  width: auto; background: transparent; padding: 0; border-radius: 0; display: block;
  border: 0 !important; box-shadow: none !important; min-width: 0 !important;
}
.tmega .tmega-col-list li { margin: 0; padding: 0; }
.tmega .tmega-col-list li a {
  display: block;
  padding: 5px 0 !important;
  color: #555 !important;
  font-size: 12.5px;
  font-weight: 500;
  white-space: nowrap;
}
.tmega .tmega-col-list li a:hover,
.tmega .tmega-col-list li a:focus {
  color: var(--accent-color) !important;
  background: transparent;
  padding: 6px 0 6px 4px !important;
}

.main-menu ul li.highlighted-menu {
  display: none;
}

.header-btn {
  line-height: 0;
}

.responsive-menu,
.navbar-toggle {
  display: none;
}

.responsive-menu {
  position: relative;
  top: 0;
}

.slicknav_btn {
  background: var(--accent-color);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin: 0;
  border-radius: 6px;
}

.slicknav_icon .slicknav_icon-bar {
  display: block;
  width: 100%;
  height: 3px;
  width: 22px;
  background-color: var(--white-color);
  border-radius: 6px;
  margin: 4px auto !important;
  transition: all 0.1s ease-in-out;
}

.slicknav_icon .slicknav_icon-bar:first-child {
  margin-top: 0 !important;
}

.slicknav_icon .slicknav_icon-bar:last-child {
  margin-bottom: 0 !important;
}

.navbar-toggle
  a.slicknav_btn.slicknav_open
  .slicknav_icon
  span.slicknav_icon-bar:nth-child(1) {
  transform: rotate(-45deg) translate(-5px, 5px);
}

.navbar-toggle
  a.slicknav_btn.slicknav_open
  .slicknav_icon
  span.slicknav_icon-bar:nth-child(2) {
  opacity: 0;
}

.navbar-toggle
  a.slicknav_btn.slicknav_open
  .slicknav_icon
  span.slicknav_icon-bar:nth-child(3) {
  transform: rotate(45deg) translate(-5px, -5px);
}

.slicknav_menu {
  position: absolute;
  width: 100%;
  padding: 0;
  background: var(--accent-color);
}

/* Full-screen mobile menu: while the hamburger is open (.slicknav_btn.slicknav_open,
   appended into .navbar-toggle), blow .responsive-menu up to the full viewport so the
   nav — and the info footer below it — take over the screen instead of dropping down
   as a short panel under the header. Sits at a lower z-index than the header pill
   (100) so the header, and its close/hamburger button, stay on top and tappable. */
.header-sticky:has(.slicknav_btn.slicknav_open) .responsive-menu {
  /* .header-sticky has backdrop-filter, which makes it the containing block for any
     fixed-position descendant (per spec, filter/backdrop-filter behaves like
     transform here) — inset:0 would then size this against the ~70px header pill,
     not the viewport. width/height in viewport units sidestep that. */
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  z-index: 99;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Only the link list scrolls (min-height:0 lets a flex child shrink below its content
   size so overflow-y can actually kick in) — the info footer below it stays put. */
.header-sticky:has(.slicknav_btn.slicknav_open) .slicknav_menu {
  position: static;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-top: 100px;
}

/* Page behind the full-screen menu shouldn't scroll while it's open — overflow:hidden
   on html too, since some mobile browsers still let the page pan with only body set. */
html:has(.slicknav_btn.slicknav_open),
body:has(.slicknav_btn.slicknav_open) {
  overflow: hidden;
}

.rz-mobile-menu-close {
  display: none;
}

.header-sticky:has(.slicknav_btn.slicknav_open) .rz-mobile-menu-close {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 20px;
  right: 20px;
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 50%;
  /* Solid, not transparent: this sits above the menu's own scroll area, and a
     transparent button let scrolled links/submenu text show straight through it
     as the list scrolled underneath. */
  background: var(--white-color);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .15);
  color: #111;
  font-size: 20px;
  z-index: 100;
  cursor: pointer;
}

.rz-mobile-menu-footer {
  display: none;
}

/* Matches the drawer's own white-sheet / dark-text theme (see the SlickNav clone
   overrides in Layout.astro) rather than the site's green hero palette, since that
   white theme is what this menu already establishes. */
.header-sticky:has(.slicknav_btn.slicknav_open) .rz-mobile-menu-footer {
  display: block;
  background: var(--white-color);
  padding: 24px 20px 32px;
  border-top: 1px solid #e6e8ec;
  margin-top: auto;
}

.rz-mobile-menu-book {
  display: block;
  width: 100%;
  text-align: center;
  margin: 0 0 18px;
}

.rz-mobile-menu-social {
  display: flex;
  gap: 10px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.rz-mobile-menu-social li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--accent-color);
  color: var(--white-color);
  transition: all 0.3s ease-in-out;
}

.rz-mobile-menu-social li a:hover {
  background: #111;
  color: var(--white-color);
}

.rz-mobile-menu-address {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #111;
  opacity: 0.7;
  font-size: 14px;
  margin: 0 0 10px;
}

.rz-mobile-menu-address i {
  color: var(--accent-color);
  font-size: 18px;
  margin-top: 1px;
}

.rz-mobile-menu-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--accent-color);
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
}

.rz-mobile-menu-phone:last-child {
  margin-bottom: 0;
}

.rz-mobile-menu-phone-emergency {
  color: var(--error-color);
}

.rz-mobile-menu-phone-emergency span {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: var(--error-color);
  color: var(--white-color);
  padding: 2px 6px;
  border-radius: 4px;
}

.slicknav_menu ul {
  margin: 5px 0;
}

.slicknav_menu ul ul {
  margin: 0;
}

.slicknav_nav .slicknav_row,
.slicknav_nav li a {
  position: relative;
  font-size: 16px;
  font-weight: 600;
  text-transform: capitalize;
  padding: 7px 20px;
  color: var(--white-color);
  line-height: normal;
  margin: 0;
  border-radius: 0 !important;
  transition: all 0.3s ease-in-out;
}

.slicknav_nav a:hover,
.slicknav_nav a:focus,
.slicknav_nav .slicknav_row:hover {
  background-color: transparent;
  color: var(--primary-color);
}

.slicknav_menu ul ul li a {
  padding: 7px 20px 7px 30px;
}

.slicknav_arrow {
  font-size: 0 !important;
}

.slicknav_arrow:after {
  content: "\f107";
  position: absolute;
  font-family: "FontAwesome";
  font-weight: 900;
  font-size: 12px;
  margin-left: 8px;
  color: var(--white-color);
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease-out;
}

.slicknav_open > a .slicknav_arrow:after {
  transform: translateY(-50%) rotate(-180deg);
  color: var(--primary-color);
}

/************************************/
/*** 	    04. Hero css	      ***/
/************************************/

.hero {
  position: relative;
  background-image: url("../images/hero-bg-image.jpg");
  background-position: center center;
  min-height: 980px;
  align-content: end;
  padding: 230px 0 120px;
  overflow: hidden;
}

.hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.8) 100%);
  z-index: 1;
}

.hero .container {
  position: relative;
  z-index: 2;
}

.hero-content .section-title .section-sub-title {
  background: var(--dark-divider-color);
  backdrop-filter: blur(50px);
  -webkit-backdrop-filter: blur(50px);
  border: none;
  padding: 10px 16px 10px 32px;
}

.hero-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}

.video-play-button a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  cursor: none;
}

.video-play-button a span {
  position: relative;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  border-radius: 50%;
  color: var(--white-color);
  display: flex;
  justify-content: center;
  align-items: center;
}

.video-play-button a span.bg-effect:before,
.video-play-button a span.bg-effect:after {
  content: "";
  position: absolute;
  width: 160%;
  height: 160%;
  border: 35px solid var(--white-color);
  opacity: 50%;
  border-radius: 50%;
  transform: scale(0.6);
  z-index: -1;
  animation: border-zooming 1.2s infinite linear;
}

.video-play-button a span.bg-effect:after {
  animation-delay: 0.3s;
}

@keyframes border-zooming {
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

.video-play-button a span i {
  font-size: 16px;
  color: inherit;
  margin-left: 2px;
}

.video-play-button p {
  font-size: 16px;
  font-weight: 700;
  color: var(--white-color);
  margin: 0;
}

.hero-info-box {
  max-width: 335px;
  border: 1px solid var(--dark-divider-color);
  background-color: var(--divider-color);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 40px;
  margin-left: auto;
}

.hero-info-client-content {
  margin-bottom: 20px;
}

.hero-info-client-content p {
  font-weight: 500;
  color: var(--white-color);
  margin: 0;
}

.satisfy-client-images {
  display: flex;
  align-items: center;
}

.satisfy-client-image {
  position: relative;
  display: inline-block;
  margin-left: -10px;
  border: 1px solid var(--white-color);
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
}

.satisfy-client-image:first-child {
  margin: 0;
}

.satisfy-client-image figure {
  display: block;
}

.satisfy-client-image figure img {
  width: 100%;
  max-width: 50px;
  border-radius: 50%;
}

.satisfy-client-image.add-more {
  width: 52px;
  height: 52px;
  background-color: var(--accent-color);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease-in-out;
}

.satisfy-client-image.add-more i {
  font-size: 20px;
  color: var(--white-color);
}

.satisfy-client-image.add-more span {
  font-size: 16px;
  line-height: 1em;
  color: var(--white-color);
}

.hero-info-review-box {
  border-top: 1px solid var(--dark-divider-color);
  padding-top: 40px;
  margin-top: 40px;
}

.hero-info-review-box h2 {
  font-size: 46px;
  line-height: 1em;
  color: var(--white-color);
}

.hero-info-review-box p {
  font-size: 16px;
  font-weight: 500;
  color: var(--white-color);
  margin: 10px 0 0;
}

.hero-info-review-box p i {
  font-size: inherit;
  color: inherit;
}

/************************************/
/*** 	   05. About Us css	      ***/
/************************************/

.about-us {
  padding: 120px 0;
}

.about-us-content {
  margin-right: 15px;
}

.about-us-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.about-us-list ul li {
  position: relative;
  width: calc(50% - 10px);
  line-height: 1.5em;
  padding-left: 25px;
}

.about-us-list ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
  color: var(--accent-color);
  top: 0;
  left: 0;
}

.about-us-item-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 50px;
  background: linear-gradient(
    180deg,
    var(--secondary-color) 0%,
    transparent 100%
  );
  border-radius: 20px 20px 0 0;
  padding: 35px;
  margin-top: 40px;
}

.about-us-item {
  width: calc(50% - 25px);
  position: relative;
}

.about-us-item::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%);
  width: 1px;
  height: 80%;
  background: var(--divider-color);
}

.about-us-item:nth-child(2n + 2)::before,
.about-us-item:last-child::before {
  display: none;
}

.about-us-item h2 {
  font-size: 30px;
  line-height: 1em;
}

.about-us-item p {
  margin: 10px 0 0;
}

.about-us-btn {
  margin-top: 40px;
}

.about-us-image-box {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
}

.about-us-image-box::before {
  content: "";
  position: absolute;
  right: 83px;
  bottom: 7px;
  background-image: url("../images/section-bg-image-1.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  width: 94px;
  height: 180px;
  transform: rotate(-45deg) rotateY(180deg);
}

.about-us-image-box-1 {
  width: 64%;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
}

.about-us-image-1 {
  position: relative;
  width: 20%;
  z-index: 2;
}

.about-us-image-2 {
  width: 80%;
  margin-bottom: 75px;
}

.about-us-image-1 figure,
.about-us-image-2 figure {
  display: block;
  border-radius: 999px 999px 100px 100px;
}

.about-us-image-1 figure img,
.about-us-image-2 figure img {
  width: 100%;
  object-fit: cover;
  border-radius: 999px 999px 20px 20px;
}

.about-us-image-1 figure {
  border: 6px solid var(--white-color);
  margin-right: -180px;
}

.about-us-image-1 figure img {
  aspect-ratio: 1 / 1.2209;
}

.about-us-image-2 figure {
  margin-right: -76px;
}

.about-us-image-2 figure img {
  aspect-ratio: 1 / 1.398;
}

.about-us-image-box-2 {
  position: relative;
  width: 36%;
  border: 4px solid var(--white-color);
  border-radius: 14px;
  margin-top: 105px;
  overflow: hidden;
  z-index: 1;
}

.about-us-image-3 figure {
  display: block;
}

.about-us-image-3 figure img {
  width: 100%;
  aspect-ratio: 1 / 1.1711;
  object-fit: cover;
}

.about-image-content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  z-index: 1;
}

.about-image-content a {
  display: block;
  background-color: var(--accent-color);
  color: var(--white-color);
  font-weight: 500;
  padding: 12px;
  transition: all 0.4s ease-in-out;
}

.about-image-content a:hover {
  background: var(--primary-color);
}

/************************************/
/***     06. Our Services css     ***/
/************************************/

.our-services {
  background-image: url("../images/section-bg-image-2.png");
  background-repeat: no-repeat;
  background-position: bottom -20px left;
  background-size: auto;
  padding: 120px 0;
}

.service-slider {
  height: 100%;
}

.service-slider .swiper {
  height: 100%;
  padding-bottom: 70px;
}

.service-item {
  position: relative;
  height: 100%;
  min-height: 450px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  background: var(--white-color);
  border-radius: 20px;
  padding: 40px;
  overflow: hidden;
}

.service-item-header {
  position: relative;
  z-index: 2;
}

.service-item-number h2 {
  font-size: 20px;
  transition: all 0.4s ease-in-out;
}

.service-item-content {
  border-top: 1px solid var(--divider-color);
  padding-top: 20px;
  margin-top: 20px;
  transition: all 0.4s ease-in-out;
}

.service-item-content h2 {
  font-size: 20px;
}

.service-item-content h2 a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.service-item-content p {
  margin: 10px 0 0;
  transition: all 0.4s ease-in-out;
}

/* Our Treatments: therapy intros vary in length — clamp to 2 lines so the cards
   stay the same height as the Our Services cards. */
.our-treatments .service-item-content p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Let each treatment card size to its content (matches Our Services: min-height 450)
   instead of stretching to the swiper wrapper's full height. */
.our-treatments .service-slider .swiper-wrapper {
  align-items: flex-start !important;
  height: auto !important;
}
.our-treatments .service-slider .swiper-slide,
.our-treatments .service-slider .service-item {
  height: auto !important;
}

.service-slider .swiper-slide.swiper-slide-next .service-item-number h2,
.service-slider .swiper-slide.swiper-slide-next .service-item-content h2,
.service-slider .swiper-slide.swiper-slide-next .service-item-content p {
  color: var(--white-color);
}

.service-slider .swiper-slide.swiper-slide-next .service-item-content {
  border-color: var(--dark-divider-color);
}

.service-item .icon-box {
  padding-top: 110px;
}

.service-item .icon-box img {
  position: relative;
  width: 100%;
  max-width: 50px;
  transition: all 0.4s ease-in-out;
  z-index: 2;
}

.service-slider .swiper-slide.swiper-slide-next .icon-box img {
  filter: brightness(0) invert(1);
}

.service-item-image {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(40px, 40px);
  width: 240px;
  height: 240px;
  border-radius: 50%;
  overflow: hidden;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}

.service-slider .swiper-slide.swiper-slide-next .service-item-image {
  top: auto;
  left: auto;
  width: 100%;
  height: 100%;
  transform: translate(0, 0);
  border-radius: 0px;
}

.service-item-image figure {
  position: relative;
  display: block;
  height: 100%;
}

.service-item-image figure::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--primary-color);
  opacity: 0;
  transition: all 0.4s ease-in-out;
}

.service-slider
  .swiper-slide.swiper-slide-next
  .service-item-image
  figure::before {
  opacity: 50%;
}

.service-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-pagination.swiper-pagination-bullets {
  position: absolute;
  bottom: 0;
  text-align: center;
}

.service-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--divider-color);
  border-radius: 2px;
  opacity: 1;
  margin: 0 3px;
  transition: all 0.3s ease-in-out;
}

.service-pagination .swiper-pagination-bullet-active {
  width: 30px;
  background: var(--accent-color);
}

.section-footer-text {
  margin-top: 30px;
  text-align: center;
}

.section-footer-text p {
  color: var(--primary-color);
  margin-bottom: 0;
}

.section-footer-text p span {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  background: var(--accent-color);
  color: var(--white-color);
  line-height: 1em;
  padding: 5px 12px;
  border-radius: 100px;
  margin-right: 10px;
}

.section-footer-text p a {
  display: inline-block;
  font-weight: 600;
  text-transform: capitalize;
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--accent-color);
  transition: all 0.3s ease-in-out;
}

.section-footer-text p a:hover {
  color: var(--primary-color);
}

.section-footer-text ul {
  width: 100%;
  padding: 0;
  margin: 20px 0 0;
  list-style: none;
}

.section-footer-text ul li {
  display: inline-block;
  line-height: normal;
  color: var(--primary-color);
  margin-right: 10px;
}

.section-footer-text .section-footer-border-list li {
  border-right: 1px solid var(--divider-color);
  padding-right: 15px;
}

.section-footer-text .section-footer-border-list li:last-child {
  padding-right: 0;
  border-right: none;
}

.section-footer-text ul li b {
  font-weight: 600;
}

.section-footer-text ul li i {
  color: var(--accent-color);
}

.section-footer-text.section-footer-contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 20px;
}

.section-footer-text.section-footer-contact span {
  width: 30px;
  height: 30px;
  padding: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
}

.section-footer-text.section-footer-contact span img {
  width: 100%;
  max-width: 16px;
}

.section-footer-text.section-satisfy-img {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 15px 10px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image figure img {
  max-width: 30px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image.add-more {
  width: 32px;
  height: 32px;
  margin-left: -10px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image.add-more img {
  max-width: 16px;
}

.section-footer-text.section-satisfy-img ul {
  margin: 0;
}

.dark-section .section-footer-text p,
.dark-section .section-footer-text ul li,
.dark-section .section-footer-text ul li i {
  color: var(--white-color);
}

.dark-section .section-footer-text p a:hover {
  color: var(--white-color);
}

.dark-section .section-footer-text ul li {
  border-color: var(--dark-divider-color);
}

.our-services .section-footer-text {
  margin-top: 40px;
}

/************************************/
/***     07. Why Choose Us css    ***/
/************************************/

.why-choose-us {
  padding: 120px 0;
}

.why-choose-image-box {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  background-image: url("../images/why-choose-bg-image.png");
  background-repeat: no-repeat;
  background-position: bottom 60px left 178px;
  background-size: auto;
}

.why-choose-image-box-1 {
  position: relative;
  width: 47%;
  padding: 0 0 143px 60px;
}

.why-choose-image-box-2 {
  position: relative;
  width: 53%;
  z-index: 1;
}

.why-choose-image {
  position: relative;
  z-index: 1;
}

.why-choose-image figure {
  display: block;
  border-radius: 20px;
}

.why-choose-image-box-1 .why-choose-image figure {
  margin-right: -210px;
}

.why-choose-image figure img {
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.why-choose-image-box-1 .why-choose-image figure img {
  aspect-ratio: 1 / 1.1781;
}

.why-choose-image-box-2 .why-choose-image figure {
  border: 6px solid var(--white-color);
  border-radius: 26px 110px;
}

.why-choose-image-box-2 .why-choose-image figure img {
  aspect-ratio: 1 / 1.2571;
  border-radius: 20px 110px;
}

.why-choose-cta-box {
  position: absolute;
  top: 60px;
  left: 0;
  max-width: 192px;
  background: var(--accent-color);
  border-radius: 20px;
  padding: 25px;
  text-align: center;
  animation: movestyle 4s infinite alternate linear;
  z-index: 1;
}

@keyframes movestyle {
  50% {
    transform: translateX(20px);
  }
}

.why-choose-cta-box .icon-box {
  margin-bottom: 30px;
}

.why-choose-cta-box .icon-box img {
  width: 100%;
  max-width: 50px;
}

.why-choose-cta-content p {
  line-height: normal;
  color: var(--white-color);
  margin: 0 0 10px;
}

.why-choose-cta-content h3 {
  font-size: 40px;
  color: var(--white-color);
}

.why-choose-body {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.why-choose-info-box,
.why-choose-counter-box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  border-radius: 20px;
  padding: 30px;
}

.why-choose-info-box {
  width: calc(57% - 15px);
  background: var(--secondary-color);
}

.why-choose-info-content h3 {
  font-size: 20px;
}

.why-choose-info-content p {
  margin: 10px 0 0;
}

.why-choose-info-list {
  border-top: 1px solid var(--divider-color);
  padding-top: 20px;
}

.why-choose-info-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.why-choose-info-list ul li {
  position: relative;
  line-height: 1.5em;
  padding-left: 25px;
  margin-bottom: 15px;
}

.why-choose-info-list ul li:last-child {
  margin-bottom: 0;
}

.why-choose-info-list ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
  color: var(--accent-color);
  top: 0px;
  left: 0px;
}

.why-choose-counter-box {
  width: calc(43% - 15px);
  background: var(--primary-color);
}

.why-choose-counter-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--dark-divider-color);
  padding-bottom: 20px;
}

.why-choose-counter-header h2 {
  font-size: 34px;
  color: var(--white-color);
}

.why-choose-counter-header p {
  max-width: 85px;
  color: var(--white-color);
  line-height: 1.3em;
  margin: 0;
}

.why-choose-counter-body .icon-box {
  margin-bottom: 40px;
}

.why-choose-counter-body .icon-box img {
  width: 100%;
  max-width: 40px;
}

.why-choose-counter-content p {
  color: var(--white-color);
  margin: 0;
}

.why-choose-btn {
  border-top: 1px solid var(--divider-color);
  padding-top: 40px;
  margin-top: 40px;
}

/************************************/
/***     08. Our Benefits css     ***/
/************************************/

.our-benefits {
  background-image: url("../images/section-bg-image-3.png");
  background-repeat: no-repeat;
  background-position: bottom -60px left -60px;
  background-size: auto;
  padding: 120px 0;
}

.our-benefit-item {
  height: calc(100% - 30px);
  min-height: 430px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  background-color: var(--bg-color);
  border-radius: 20px;
  padding: 40px 35px;
  margin-bottom: 30px;
}

.benefit-item-header .icon-box {
  margin-bottom: 30px;
}

.benefit-item-header .icon-box img {
  width: 100%;
  max-width: 50px;
}

.benefit-item-content h3 {
  font-size: 20px;
}

.benefit-item-content p {
  margin: 10px 0 0;
}

.benefit-item-list {
  border-top: 1px solid var(--divider-color);
  padding-top: 30px;
}

.benefit-item-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.benefit-item-list ul li {
  position: relative;
  line-height: 1.5em;
  padding-left: 25px;
  margin-bottom: 15px;
}

.benefit-item-list ul li:last-child {
  margin-bottom: 0;
}

.benefit-item-list ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
  color: var(--accent-color);
  top: 0;
  left: 0;
}

.our-benefit-image-box {
  position: relative;
  height: calc(100% - 30px);
  border-radius: 20px;
  margin-bottom: 30px;
  overflow: hidden;
}

.our-benefit-image {
  height: 100%;
}

.our-benefit-image figure {
  position: relative;
  display: block;
  height: 100%;
}

.our-benefit-image figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1.0661;
  object-fit: cover;
}

.benefit-working-hours-box {
  position: absolute;
  right: 20px;
  bottom: 20px;
  left: 20px;
  border-radius: 20px;
  background-color: var(--divider-color);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 20px;
  z-index: 1;
}

.benefit-working-hour-header {
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--dark-divider-color);
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.benefit-working-hour-header .icon-box i {
  font-size: 24px;
  color: var(--white-color);
}

.benefit-working-hour-title h3 {
  font-size: 20px;
  color: var(--white-color);
}

.benefit-working-hour-content ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.benefit-working-hour-content ul li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  font-weight: 500;
  line-height: 1.5em;
  color: var(--white-color);
  margin-bottom: 15px;
}

.benefit-working-hour-content ul li:last-child {
  margin-bottom: 0;
}

.our-benefit-footer-box {
  margin-top: 30px;
}

.our-benefit-footer-list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.our-benefit-footer-list ul li {
  position: relative;
  font-weight: 500;
  line-height: normal;
  color: var(--primary-color);
  border: 1px solid var(--divider-color);
  border-radius: 100px;
  padding: 10px 16px 10px 32px;
  transition: all 0.4s ease-in-out;
}

.our-benefit-footer-list ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  background: var(--accent-color);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  transition: all 0.4s ease-in-out;
}

.our-benefit-footer-list ul li:hover {
  color: var(--white-color);
  background: var(--primary-color);
  border-color: var(--primary-color);
}

.our-benefit-footer-list ul li:hover:before {
  background: var(--white-color);
}

/************************************/
/***      09. Our Feature css     ***/
/************************************/

.our-feature {
  padding: 120px 0;
}

.our-feature-image-box {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  margin-right: 15px;
}

.our-feature-image-box::before {
  content: "";
  position: absolute;
  top: 90px;
  left: 96px;
  background-image: url("../images/section-bg-image-1.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  width: 94px;
  height: 180px;
  transform: rotate(135deg) rotateY(180deg);
}

.our-feature-image-box-1 {
  position: relative;
  width: 68%;
  z-index: 2;
}

.our-feature-image-box-2 {
  width: 32%;
  padding-bottom: 100px;
}

.our-feature-image figure {
  display: block;
  border-radius: 20px;
}

.our-feature-image figure img {
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.our-feature-image-box-1 .our-feature-image figure {
  border: 6px solid var(--bg-color);
  border-radius: 26px;
}

.our-feature-image-box-1 .our-feature-image figure img {
  aspect-ratio: 1 / 0.7211;
}

.our-feature-image-box-2 .our-feature-image figure {
  margin-left: -230px;
}

.our-feature-image-box-2 .our-feature-image figure img {
  aspect-ratio: 1 / 1.0152;
}

.our-feature-image-box-1 .contact-us-circle {
  position: absolute;
  bottom: 50px;
  right: 0;
  transform: translateX(50%);
  z-index: 1;
}

.our-feature-image-box-1 .contact-us-circle a {
  border: 6px solid var(--bg-color);
}

.contact-us-circle a {
  display: inline-block;
  border-radius: 50%;
}

.contact-us-circle a img {
  width: 100%;
  max-width: 120px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  animation: infiniterotate 20s infinite linear;
}

@keyframes infiniterotate {
  100% {
    transform: rotate(360deg);
  }
}

.contact-us-circle a:hover img {
  animation-play-state: paused;
}

.feature-accordion {
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 50px;
}

.feature-accordion .accordion-item {
  margin-bottom: 40px;
}

.feature-accordion .accordion-item:last-child {
  margin-bottom: 0;
}

.feature-accordion .accordion-header {
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 20px;
}

.feature-accordion .accordion-item:last-child .accordion-header {
  border: none;
  padding-bottom: 0;
}

.feature-accordion .accordion-header .accordion-button {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2em;
  color: var(--primary-color);
  padding: 2px 30px 2px 0;
  transition: all 0.3s ease-in-out;
}

.feature-accordion .accordion-item .accordion-button::after,
.feature-accordion .accordion-item .accordion-button.collapsed::after {
  content: "\f139";
  font-family: "FontAwesome";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-size: 26px;
  line-height: normal;
  color: var(--accent-color);
  transition: all 0.4s ease-in-out;
}

.feature-accordion .accordion-button:not(.collapsed)::after {
  transform: translateY(-50%) rotate(180deg);
}

.feature-accordion .accordion-item .accordion-body {
  padding-top: 20px;
}

.feature-accordion .accordion-item .accordion-body p {
  margin: 0 0 20px;
}

.feature-accordion .accordion-item .accordion-body p:last-child {
  margin: 0;
}

.feature-accordion .accordion-item .accordion-body ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.feature-accordion .accordion-item .accordion-body ul li {
  position: relative;
  line-height: 1.5em;
  padding-left: 25px;
  margin-bottom: 15px;
}

.feature-accordion .accordion-item .accordion-body ul li:last-child {
  margin-bottom: 0;
}

.feature-accordion .accordion-item .accordion-body ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
  color: var(--accent-color);
  top: 0;
  left: 0;
}

.our-feature .section-footer-text {
  margin-top: 60px;
}

/************************************/
/***      10. Intro Video css     ***/
/************************************/

.intro-video {
  overflow: hidden;
}

.intro-video .container-fluid {
  padding: 0;
}

.intro-video-box {
  position: relative;
}

.intro-video-image figure {
  position: relative;
  display: block;
}

.intro-video-image figure:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  opacity: 40%;
  z-index: 1;
}

.intro-video-image img {
  width: 100%;
  aspect-ratio: 1 / 0.4444;
  object-fit: cover;
  transition: all 1s ease-in-out;
}

.intro-video:hover .intro-video-image img {
  transform: scale(1.03);
}

.intro-video-circle-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  z-index: 1;
}

.intro-video-circle img {
  width: 100%;
  max-width: 110px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  animation: infiniterotate 20s infinite linear;
}

.intro-video-circle-box .video-play-button {
  margin-left: -35px;
}

.intro-video-circle-box .video-play-button a span {
  width: 110px;
  height: 110px;
  background: var(--dark-divider-color);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.intro-video-circle-box .video-play-button a span i {
  font-size: 30px;
}

/************************************/
/***      11. Our Pricing css     ***/
/************************************/

.our-pricing {
  padding: 120px 0;
}

.pricing-item-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 10px;
}

.pricing-item {
  width: calc(33.33% - 20px);
  padding: 40px 30px;
}

.pricing-item.highlighted-box {
  background-color: var(--bg-color);
  border-radius: 20px;
  padding: 40px;
}

.pricing-item-header .icon-box {
  margin-bottom: 30px;
}

.pricing-item-header .icon-box img {
  width: 100%;
  max-width: 50px;
}

.pricing-item-content .pricing-item-title {
  display: block;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2em;
  color: var(--primary-color);
}

.pricing-item-content p {
  margin: 10px 0 0;
}

.pricing-item-price {
  border-top: 1px solid var(--divider-color);
  padding-top: 30px;
  margin-top: 30px;
}

.pricing-item-price h2 {
  font-size: 40px;
  line-height: 1em;
}

.pricing-item-price h2 sub {
  font-size: 16px;
  bottom: 0;
}

.pricing-item-body {
  border-top: 1px solid var(--divider-color);
  padding-top: 30px;
  margin-top: 30px;
}

.pricing-item-body-list h3 {
  font-size: 20px;
  margin-bottom: 20px;
}

.pricing-item-body-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pricing-item-body-list ul li {
  position: relative;
  line-height: 1.5em;
  padding-left: 25px;
  margin-bottom: 15px;
}

.pricing-item-body-list ul li:last-child {
  margin-bottom: 0;
}

.pricing-item-body-list ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
  color: var(--accent-color);
  top: 0;
  left: 0;
}

.pricing-item-btn {
  margin-top: 40px;
}

.pricing-benefit-list {
  margin-top: 60px;
}

.pricing-benefit-list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 50px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pricing-benefit-list ul li {
  display: inline-flex;
  align-items: center;
  color: var(--primary-color);
}

.pricing-benefit-list ul li img {
  width: 100%;
  max-width: 20px;
  margin-right: 10px;
}

/************************************/
/***   12. Book Appointment css   ***/
/************************************/

.book-appointment {
  padding: 120px 0;
}

.appointment-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  margin-right: 15px;
}

.appointment-image-box {
  position: relative;
  height: 100%;
  min-height: 450px;
  align-content: end;
  border-radius: 20px;
  padding: 40px;
  overflow: hidden;
}

.appointment-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.appointment-image figure {
  position: relative;
  display: block;
  height: 100%;
}

.appointment-image figure::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.7) 100%);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.appointment-image figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.appointment-contact-item-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  z-index: 2;
}

.appointment-contact-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}

.appointment-contact-item .icon-box {
  position: relative;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.appointment-contact-item .icon-box::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.appointment-contact-item:hover .icon-box::before {
  transform: scale(1);
}

.appointment-contact-item .icon-box img {
  position: relative;
  width: 100%;
  max-width: 24px;
  z-index: 1;
}

.appointment-contact-item-content {
  width: calc(100% - 65px);
}

.appointment-contact-item-content p {
  color: var(--white-color);
  margin: 0;
}

.appointment-contact-item-content h3 {
  font-size: 20px;
  color: var(--white-color);
  margin: 5px 0 0;
}

.appointment-contact-item-content h3 a {
  color: inherit;
}

.appointment-form {
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 3.125vw;
}

.appointment-form .section-title {
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 40px;
}

.appointment-form .section-title h2 {
  font-size: 40px;
}

.appointment-form .form-group label {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-color);
  margin-bottom: 15px;
}

.appointment-form .form-control {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6em;
  color: var(--primary-color);
  background: var(--bg-color);
  border: 1px solid var(--bg-color);
  border-radius: 5px;
  padding: 13px 20px;
  outline: none;
  box-shadow: none;
}

.appointment-form .form-control::placeholder {
  color: var(--text-color);
  opacity: 50%;
}

.appointment-form
  input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-text,
.appointment-form
  input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-month-field,
.appointment-form
  input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-day-field,
.appointment-form
  input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-year-field {
  color: var(--primary-color);
}

input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(0);
  cursor: pointer;
  opacity: 50%;
}

.dark-section .appointment-form {
  background: var(--dark-divider-color);
  backdrop-filter: blur(50px);
  -webkit-backdrop-filter: blur(50px);
}

.dark-section .appointment-form .section-title {
  border-color: var(--dark-divider-color);
}

.dark-section .appointment-form form .form-group label {
  color: var(--white-color);
}

.dark-section .appointment-form .form-control {
  color: var(--white-color);
  border-color: var(--dark-divider-color);
  background: transparent;
}

.dark-section .appointment-form .form-control::placeholder {
  color: var(--white-color);
}

.dark-section
  .appointment-form
  input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-text,
.dark-section
  .appointment-form
  input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-month-field,
.dark-section
  .appointment-form
  input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-day-field,
.dark-section
  .appointment-form
  input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-year-field {
  color: var(--white-color);
}

/* .dark-section .appointment-form input[type="date"]::before{
  color: var(--white-color);
} */

.dark-section
  .appointment-form
  input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

/************************************/
/***   13. Our Testimonials css   ***/
/************************************/

.our-testimonials {
  padding: 120px 0;
}

.testimonial-slider .swiper-wrapper {
  cursor: none;
}

.testimonial-item {
  min-height: 440px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 40px;
  transition: all 0.6s ease-in-out;
}

.testimonial-slider .swiper-wrapper .swiper-slide .testimonial-item {
  transform: scale(0.95);
}

.testimonial-slider
  .swiper-wrapper
  .swiper-slide.swiper-slide-next
  .testimonial-item {
  transform: scale(1);
}

.testimonial-item-author {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}

.testimonial-author-image figure {
  display: block;
  border-radius: 50%;
}

.testimonial-author-image figure img {
  width: 100%;
  max-width: 50px;
}

.testimonial-author-content {
  width: calc(100% - 65px);
}

.testimonial-author-content h2 {
  font-size: 20px;
}

.testimonial-author-content p {
  line-height: normal;
  margin: 5px 0 0;
}

.testimonial-item-rating {
  margin-bottom: 30px;
}

.testimonial-item-rating i {
  font-size: 18px;
  color: var(--accent-color);
}

.testimonial-item-content p {
  font-size: 20px;
  font-weight: 500;
  color: var(--primary-color);
  margin: 0;
}

.our-testimonials .section-footer-text {
  margin-top: 60px;
}

/************************************/
/***       14. Our FAQ's css      ***/
/************************************/

.our-faqs {
  padding: 120px 0;
}

.faqs-content {
  min-height: 490px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: start;
  margin-right: 15px;
}

.faq-cta-box {
  min-width: 300px;
  border-radius: 14px;
  overflow: hidden;
}

.faq-cta-header {
  background-color: var(--accent-color);
  padding: 16px 25px;
}

.faq-cta-header h3 {
  font-size: 18px;
  line-height: 1em;
  color: var(--white-color);
}

.faq-cta-item-list {
  background-color: var(--bg-color);
  padding: 25px;
}

.faq-cta-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}

.faq-cta-item:last-child {
  margin-bottom: 0;
}

.faq-cta-item .icon-box {
  position: relative;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.faq-cta-item .icon-box::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.faq-cta-item:hover .icon-box::before {
  transform: scale(1);
}

.faq-cta-item .icon-box img {
  position: relative;
  width: 100%;
  max-width: 24px;
  z-index: 1;
}

.faq-cta-item-content {
  width: calc(100% - 65px);
}

.faq-cta-item-content p {
  margin: 0;
}

.faq-cta-item-content h3 {
  font-size: 20px;
  margin: 5px 0 0;
}

.faq-cta-item-content h3 a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.faq-cta-item-content h3 a:hover {
  color: var(--accent-color);
}

.faq-accordion .accordion-item {
  position: relative;
  background: var(--secondary-color);
  border-radius: 14px;
  margin-bottom: 30px;
  overflow: hidden;
}

.faq-accordion .accordion-item:last-child {
  margin-bottom: 0;
}

.light-section .faq-accordion .accordion-item {
  background: var(--bg-color);
}

.faq-accordion .accordion-header .accordion-button {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.333em;
  background: transparent;
  color: var(--primary-color);
  padding: 18px 55px 18px 30px;
  transition: all 0.4s ease-in-out;
}

.faq-accordion .accordion-item .accordion-button:not(.collapsed) {
  background-color: var(--accent-color);
  color: var(--white-color);
}

.faq-accordion .accordion-item .accordion-button::after,
.faq-accordion .accordion-item .accordion-button.collapsed::after {
  content: "\2b";
  font-family: "Font Awesome 7 Free";
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  font-weight: 600;
  color: var(--primary-color);
  transition: 0.4s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed)::after {
  content: "\f068";
  color: var(--white-color);
}

.faq-accordion .accordion-item .accordion-body {
  background-color: transparent;
  padding: 18px 30px;
}

.faq-accordion .accordion-item .accordion-body p {
  margin: 0;
}

.our-faqs .company-supports-slider-box {
  margin-top: 80px;
}

.company-supports-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 50px;
}

.company-supports-content hr {
  height: 1px;
  flex-grow: 1;
  color: var(--divider-color);
  opacity: 1;
  margin: 0;
}

.company-supports-content p {
  font-size: 18px;
  font-weight: 600;
  color: var(--primary-color);
  text-align: center;
  margin: 0;
}

.company-supports-slider {
  margin: 0 4.688vw;
}

.company-supports-logo {
  text-align: center;
}

.company-supports-logo img {
  width: 100%;
  max-width: 175px;
  height: 40px;
}

/************************************/
/***       15. Our Blog css       ***/
/************************************/

.our-blog {
  padding: 120px 0 90px;
}

.post-item {
  height: calc(100% - 30px);
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 10px;
  margin-bottom: 30px;
  overflow: hidden;
}

.post-featured-image {
  margin-bottom: 10px;
}

.post-featured-image a {
  cursor: none;
  display: block;
  overflow: hidden;
}

.post-featured-image figure {
  display: block;
  border-radius: 20px;
}

.post-featured-image img {
  width: 100%;
  aspect-ratio: 1 / 0.731;
  object-fit: cover;
  border-radius: 20px;
  transition: all 0.6s ease-in-out;
}

.post-item:hover .post-featured-image img {
  transform: scale(1.03);
}

.post-item-body {
  padding: 20px;
}

.post-item-content h2 {
  font-size: 20px;
  line-height: 1.4em;
}

.post-item-content h2 a {
  color: inherit;
}

.post-item-btn {
  border-top: 1px solid var(--divider-color);
  padding-top: 20px;
  margin-top: 20px;
}

/************************************/
/***   16. Scrolling Ticker css   ***/
/************************************/

.our-scrolling-ticker {
  position: relative;
  margin-bottom: 10px;
}

.scrolling-ticker-box {
  --gap: 10px;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  user-select: none;
  gap: var(--gap);
}

.scrolling-content {
  flex-shrink: 0;
  display: flex;
  gap: var(--gap);
  min-width: 100%;
  animation: scroll 25s linear infinite;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - var(--gap)));
  }
}

.our-scrolling-ticker:hover .scrolling-content {
  animation-play-state: paused;
}

.scrolling-content .scrolling-ticker-gallery {
  width: calc((100vw / 4) - 7.5px);
}

.scrolling-content .scrolling-ticker-gallery figure {
  display: block;
  border-radius: 20px;
}

.scrolling-content .scrolling-ticker-gallery img {
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
  aspect-ratio: 1 / 0.7831;
}

/************************************/
/***         17. Footer css       ***/
/************************************/

.main-footer {
  padding: 100px 0 0;
}

.footer-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid var(--dark-divider-color);
  padding-bottom: 60px;
  margin-bottom: 60px;
}

.stay-updated-strip {
  background: #0a3f19;
  padding: 20px 0;
}

.footer-header-highlight {
  border-bottom: none;
  padding: 0;
  margin: 0;
}

.footer-header-highlight .section-sub-title,
.footer-header-highlight .section-title h2 {
  color: #fff;
}

.footer-header .section-title {
  width: 57%;
  margin-bottom: 0;
}

.footer-header .section-title h2 {
  font-size: 28px;
}

.rz-newsletter-form {
  margin-top: 26px;
}
.rz-newsletter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  max-width: 460px;
}
.rz-newsletter-row input {
  flex: 1 1 240px;
  padding: 14px 20px;
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: transparent;
  color: var(--white-color);
  font-size: 14px;
}
.rz-newsletter-row input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.rz-newsletter-row .btn-default {
  flex-shrink: 0;
}
.rz-newsletter-ok {
  color: #7ed6a5;
  margin: 12px 0 0;
  font-size: 13.5px;
}
.rz-newsletter-err {
  color: #ff8a8a;
  margin: 12px 0 0;
  font-size: 13.5px;
}

.about-footer {
  max-width: 360px;
}

.footer-logo img {
  width: 100%;
  max-width: 174px;
}

.about-footer-content {
  margin-top: 20px;
}

.about-footer-content p {
  color: var(--white-color);
  margin: 0;
}

.footer-social-links {
  margin-top: 40px;
}

.footer-social-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-social-links ul li a {
  width: 40px;
  height: 40px;
  color: var(--white-color);
  border: 1px solid var(--dark-divider-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}

.footer-social-links ul li a:hover {
  background: var(--white-color);
  color: var(--accent-color);
}

.footer-social-links ul li a i {
  font-size: 18px;
  color: inherit;
}

.footer-links-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
}

.footer-links {
  max-width: 30%;
}

.footer-links h2 {
  font-size: 20px;
  color: var(--white-color);
  margin-bottom: 30px;
}

.footer-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-links ul li {
  position: relative;
  line-height: 1.5em;
  color: var(--white-color);
  margin-bottom: 15px;
}

.footer-links ul li:last-child {
  margin-bottom: 0;
}

.footer-links ul li a {
  color: inherit;
  transition: all 0.3s ease-in-out;
}

.footer-links ul li a:hover {
  color: var(--primary-color);
}

.footer-contact-info-list {
  max-width: 40%;
}

.footer-contact-item {
  margin-bottom: 30px;
}

.footer-contact-item:last-child {
  margin-bottom: 0;
}

.footer-contact-item p {
  color: var(--white-color);
  line-height: normal;
  margin: 0 0 10px 0;
}

.footer-contact-item h3 {
  font-size: 20px;
  color: var(--white-color);
  margin: 0;
}

.footer-contact-item h3 a {
  color: inherit;
  transition: all 0.3s ease-in-out;
}

.footer-contact-item h3 a:hover {
  color: var(--primary-color);
}

.footer-copyright-text {
  text-align: center;
  border-top: 1px solid var(--dark-divider-color);
  padding: 60px 0;
  margin-top: 60px;
}

.footer-copyright-text p {
  color: var(--white-color);
  margin-bottom: 0;
}

/************************************/
/*** 	18. About Us Page css     ***/
/************************************/

.page-header {
  position: relative;
  background: url("../images/page-header-bg.jpg") no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 160px 0 90px;
  overflow: hidden;
}

.page-header:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.8) 100%);
  z-index: 1;
}

.page-header-box {
  position: relative;
  z-index: 2;
}

.page-header-box h1 {
  display: inline-block;
  font-size: 66px;
  line-height: 1.1em;
  color: var(--white-color);
  margin-bottom: 10px;
  cursor: none;
}

.page-header-box ol {
  display: inline-flex;
  margin: 0;
}

.page-header-box ol li.breadcrumb-item {
  font-size: 16px;
  font-weight: 400;
  text-transform: capitalize;
  color: var(--white-color);
}

.page-header-box ol .breadcrumb-item + .breadcrumb-item::before {
  color: var(--white-color);
}

.page-header-box ol li.breadcrumb-item a {
  color: inherit;
}

.our-approach {
  padding: 120px 0;
}

.approach-items-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 50px;
}

.approach-item {
  position: relative;
  width: calc(33.33% - 33.33px);
  background-color: var(--white-color);
  border-radius: 1200px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  gap: 20px;
  min-height: 500px;
  padding: 100px 40px;
  overflow: hidden;
}

.approach-item::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--accent-color);
  border-radius: 1200px;
  width: 100%;
  height: 0;
  transition: all 0.4s ease-in-out;
}

.approach-item:hover:before {
  top: auto;
  height: 100%;
}

.approach-item-header {
  position: relative;
  z-index: 1;
}

.approach-item-header .icon-box {
  margin-bottom: 30px;
}

.approach-item-header .icon-box img {
  width: 100%;
  max-width: 60px;
  transition: all 0.4s ease-in-out;
}

.approach-item:hover .approach-item-header .icon-box img {
  filter: brightness(0) invert(1);
}

.approach-item-content h3 {
  font-size: 20px;
  transition: all 0.4s ease-in-out;
}

.approach-item-content p {
  margin: 10px 0 0;
  transition: all 0.4s ease-in-out;
}

.approach-item:hover .approach-item-content h3,
.approach-item:hover .approach-item-content p {
  color: var(--white-color);
}

.approach-item-list {
  position: relative;
  border-top: 1px solid var(--divider-color);
  padding-top: 20px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}

.approach-item:hover .approach-item-list {
  border-color: var(--dark-divider-color);
}

.approach-item-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.approach-item-list ul li {
  position: relative;
  text-align: left;
  display: inline-block;
  line-height: 1.5em;
  padding-left: 25px;
  margin-bottom: 15px;
  transition: all 0.4s ease-in-out;
}

.approach-item:hover .approach-item-list ul li {
  color: var(--white-color);
}

.approach-item-list ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
  color: var(--accent-color);
  top: 0;
  left: 0;
  transition: all 0.4s ease-in-out;
}

.approach-item-list ul li:last-child {
  margin-bottom: 0;
}

.approach-item:hover .approach-item-list ul li::before {
  filter: brightness(0) invert(1);
}

.our-approach .section-footer-text {
  margin-top: 60px;
}

.our-team {
  background-image: url("../images/section-bg-image-2.png");
  background-repeat: no-repeat;
  background-position: bottom -30px right -35px;
  background-size: auto;
  padding: 120px 0;
}

.team-item {
  border: 1px solid var(--divider-color);
  border-radius: 20px;
  height: calc(100% - 30px);
  margin-bottom: 30px;
  overflow: hidden;
}

.team-item-image {
  position: relative;
}

.team-item-image a,
.team-item-image figure {
  position: relative;
  display: block;
  border-radius: 20px 20px 0 0;
  cursor: none;
  overflow: hidden;
}

.team-item-image figure::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.8) 100%);
  z-index: 1;
}

.team-item-image img {
  width: 100%;
  aspect-ratio: 1 / 0.848;
  object-fit: cover;
  transition: all 0.6s ease-in-out;
}

.team-item:hover .team-item-image img {
  transform: scale(1.06);
}

.team-item-social-list {
  position: absolute;
  right: 40px;
  bottom: 40px;
  left: 40px;
  opacity: 0;
  transform: translateY(50%) scaleY(0);
  visibility: hidden;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}

.team-item:hover .team-item-social-list {
  transform: translateY(0) scaleY(1);
  opacity: 1;
  visibility: visible;
}

.team-item-social-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.team-item-social-list ul li a {
  width: 40px;
  height: 40px;
  border: 1px solid var(--dark-divider-color);
  color: var(--white-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
}

.team-item-social-list ul li a:hover {
  background: var(--accent-color);
  border-color: var(--accent-color);
  color: var(--white-color);
}

.team-item-social-list ul li a i {
  font-size: 18px;
  color: inherit;
}

.team-item-content {
  padding: 30px 40px;
  text-align: center;
}

.team-item-content h2 {
  font-size: 20px;
}

.team-item-content h2 a {
  color: inherit;
}

.team-item-content p {
  border-top: 1px solid var(--divider-color);
  padding-top: 20px;
  margin: 20px 0 0;
}

/************************************/
/*** 	19. Services Page css     ***/
/************************************/

.page-services {
  padding: 120px 0 90px;
}

.page-services .service-item {
  height: calc(100% - 30px);
  background: var(--secondary-color);
  margin-bottom: 30px;
}

.service-item-list .service-item.active .service-item-image,
.service-item-list .service-item:hover .service-item-image {
  top: auto;
  left: auto;
  width: 100%;
  height: 100%;
  transform: translate(0, 0);
  border-radius: 20px;
}

.service-item-list .service-item.active .service-item-image figure::before,
.service-item-list .service-item:hover .service-item-image figure::before {
  opacity: 50%;
}

.service-item-list .service-item.active .service-item-number h2,
.service-item-list .service-item:hover .service-item-number h2,
.service-item-list .service-item.active .service-item-content h2,
.service-item-list .service-item:hover .service-item-content h2,
.service-item-list .service-item.active .service-item-content p,
.service-item-list .service-item:hover .service-item-content p {
  color: var(--white-color);
}

.service-item-list .service-item.active .service-item-content,
.service-item-list .service-item:hover .service-item-content {
  border-color: var(--dark-divider-color);
}

.service-item-list .service-item.active .icon-box img,
.service-item-list .service-item:hover .icon-box img {
  filter: brightness(0) invert(1);
}

/************************************/
/*** 	20. Service Single css    ***/
/************************************/

.page-service-single {
  padding: 120px 0;
}

.page-single-sidebar {
  position: sticky;
  top: 30px;
  margin-right: 15px;
}

.page-category-list {
  background: var(--secondary-color);
  border-radius: 20px;
  margin-bottom: 30px;
  overflow: hidden;
}

.page-category-list .page-category-list-title {
  font-size: 20px;
  line-height: 1.2em;
  background: var(--accent-color);
  color: var(--white-color);
  padding: 20px 30px;
}

.page-category-list ul {
  list-style: none;
  margin: 0;
  padding: 40px;
}

.page-category-list ul li {
  line-height: 1.5em;
  color: var(--primary-color);
  font-weight: 600;
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.page-category-list ul li:last-child {
  border-bottom: none;
  margin: 0;
  padding: 0;
}

.page-category-list ul li a {
  position: relative;
  display: block;
  text-transform: capitalize;
  color: inherit;
  padding-right: 20px;
  transition: all 0.4s ease-in-out;
}

.page-category-list ul li a:hover {
  color: var(--accent-color);
}

.page-category-list ul li a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  background: url("../images/arrow-accent.svg") no-repeat;
  background-position: center center;
  background-size: cover;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
  transition: all 0.4s ease-in-out;
}

.page-category-list ul li a:hover::before {
  transform: translateY(-50%) rotate(45deg);
}

.sidebar-cta-box {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
  min-height: 350px;
  background: url("../images/sidebar-cta-box-bg.jpg") no-repeat;
  background-position: center center;
  background-size: cover;
  border-radius: 20px;
  padding: 40px;
  overflow: hidden;
}

.sidebar-cta-box::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  opacity: 40%;
  z-index: 1;
}

.sidebar-cta-content,
.sidebar-cta-btn {
  position: relative;
  z-index: 2;
}

.sidebar-cta-content h2 {
  font-size: 20px;
  color: var(--white-color);
}

.sidebar-cta-content p {
  color: var(--white-color);
  margin: 10px 0 0;
}

.page-single-image {
  margin-bottom: 30px;
}

.page-single-image figure {
  display: block;
  border-radius: 20px;
}

.page-single-image img {
  width: 100%;
  aspect-ratio: 1 / 0.622;
  object-fit: cover;
  border-radius: 20px;
}

.service-entry {
  margin-bottom: 60px;
}

.service-entry p {
  margin-bottom: 20px;
}

.service-entry h2 {
  font-size: 46px;
  margin-bottom: 20px;
}

.service-entry h3 {
  font-size: 20px;
  margin-bottom: 10px;
}

.service-entry p:last-child,
.service-entry h2:last-child,
.service-entry h3:last-child {
  margin: 0;
}

.service-benefits-box,
.service-intro-video-box {
  margin-top: 60px;
}

.service-benefits-item-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 40px;
}

.service-benefits-item {
  width: calc(50% - 15px);
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 30px;
}

.service-benefits-item .icon-box {
  margin-bottom: 30px;
}

.service-benefits-item .icon-box img {
  width: 100%;
  max-width: 50px;
}

.service-intro-video {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  margin-top: 40px;
}

.service-intro-video-image figure {
  position: relative;
  display: block;
}

.service-intro-video-image figure::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--primary-color);
  opacity: 30%;
  z-index: 1;
}

.service-intro-video-image figure img {
  width: 100%;
  aspect-ratio: 1 / 0.538;
  object-fit: cover;
}

.service-intro-video .watch-our-video-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.watch-our-video-circle a {
  cursor: none;
  border-radius: 50%;
}

.watch-our-video-circle a img {
  width: 100%;
  max-width: 120px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  animation: infiniterotate 20s infinite linear;
}

.service-intro-video .watch-our-video-circle a img {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/************************************/
/*** 	21. Blog Archive css      ***/
/************************************/

.page-blog {
  padding: 120px 0;
}

.page-pagination {
  margin-top: 30px;
  text-align: center;
}

.page-pagination ul {
  justify-content: center;
  padding: 0;
  margin: 0;
}

.page-pagination ul li a,
.page-pagination ul li span {
  display: flex;
  text-decoration: none;
  justify-content: center;
  align-items: center;
  background: var(--secondary-color);
  color: var(--primary-color);
  border-radius: 10px;
  width: 40px;
  height: 40px;
  margin: 0 5px;
  font-weight: 600;
  line-height: 1em;
  transition: all 0.3s ease-in-out;
}

.page-pagination ul li.active a,
.page-pagination ul li a:hover {
  background: var(--accent-color);
  color: var(--white-color);
}

/************************************/
/*** 	 22. Blog Single css      ***/
/************************************/

.page-single-post {
  padding: 120px 0;
}

.post-single-meta ol li {
  font-size: 18px;
  color: var(--white-color);
  margin-right: 15px;
}

.post-single-meta ol li:last-child {
  margin-right: 0;
}

.post-single-meta ol li i {
  font-size: 18px;
  color: var(--white-color);
  margin-right: 5px;
}

.post-image {
  position: relative;
  margin-bottom: 30px;
}

.post-image figure {
  display: block;
  border-radius: 20px;
  overflow: hidden;
}

.post-image img {
  width: 100%;
  aspect-ratio: 1 / 0.5;
  object-fit: cover;
  border-radius: 20px;
}

.post-content {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.post-entry {
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.post-entry:after {
  content: "";
  display: block;
  clear: both;
}

.post-entry a {
  color: var(--accent-color);
}

.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6 {
  font-weight: 600;
  line-height: 1.2em;
  margin: 0 0 0.42em;
}

.post-entry h1 {
  font-size: 66px;
  line-height: 1.1em;
  letter-spacing: -0.02em;
}

.post-entry h2 {
  font-size: 46px;
  line-height: 1.1em;
  letter-spacing: -0.02em;
}

.post-entry h3 {
  font-size: 40px;
}

.post-entry h4 {
  font-size: 30px;
}

.post-entry h5 {
  font-size: 24px;
}

.post-entry h6 {
  font-size: 20px;
}

.post-entry p {
  margin-bottom: 20px;
}

.post-entry p:last-child {
  margin-bottom: 0;
}

.post-entry p strong {
  color: var(--primary-color);
  font-size: 18px;
}

.post-entry ol {
  margin: 0 0 30px;
}

.post-entry ul {
  padding: 0;
  margin: 20px 0 20px;
  padding-left: 20px;
}

.post-entry ol:last-child,
.post-entry ul:last-child {
  margin-bottom: 0;
}

.post-entry ol li,
.post-entry ul li {
  position: relative;
  font-size: 18px;
  line-height: 1.5em;
  color: var(--text-color);
  margin-bottom: 10px;
}

.post-entry ul li:last-child {
  margin-bottom: 0;
}

.post-entry ul ul,
.post-entry ul ol,
.post-entry ol ol,
.post-entry ol ul {
  margin-top: 20px;
  margin-bottom: 0;
}

.post-entry ul ul li:last-child,
.post-entry ul ol li:last-child,
.post-entry ol ol li:last-child,
.post-entry ol ul li:last-child {
  margin-bottom: 0;
}

.post-entry blockquote {
  background: var(--secondary-color) url("../images/icon-blockquote.svg");
  background-repeat: no-repeat;
  background-position: 30px 30px;
  background-size: 45px;
  border-radius: 20px;
  padding: 30px 30px 30px 90px;
  margin-bottom: 20px;
}

.post-entry blockquote p {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4em;
  color: var(--primary-color);
}

.post-entry blockquote p:last-child {
  margin-bottom: 0;
}

.tag-links {
  font-family: var(--accent-font);
  font-size: 20px;
  font-weight: 600;
  color: var(--primary-color);
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.post-tags .tag-links a {
  display: inline-block;
  font-family: var(--accent-font);
  font-size: 16px;
  line-height: 1em;
  font-weight: 500;
  text-transform: capitalize;
  background: var(--accent-color);
  color: var(--white-color);
  border-radius: 10px;
  padding: 12px 20px;
  transition: all 0.4s ease-in-out;
}

.post-tags .tag-links a:hover {
  background: var(--primary-color);
}

.post-social-sharing {
  text-align: right;
}

.post-social-sharing ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.post-social-sharing ul li {
  display: inline-block;
  margin-right: 10px;
}

.post-social-sharing ul li:last-child {
  margin-right: 0;
}

.post-social-sharing ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid var(--divider-color);
  color: var(--primary-color);
  border-radius: 10px;
  width: 40px;
  height: 40px;
  transition: all 0.4s ease-in-out;
}

.post-social-sharing ul li:hover a {
  background: var(--primary-color);
  color: var(--white-color);
}

.post-social-sharing ul li a i {
  font-size: 18px;
  color: inherit;
}

/************************************/
/***      23. Team Page css       ***/
/************************************/

.page-team {
  padding: 120px 0 90px;
}

/************************************/
/***  	  24. Team Single css     ***/
/************************************/

.page-team-single {
  padding: 120px 0;
}

.team-single-image {
  margin-bottom: 30px;
}

.team-single-image figure {
  display: block;
  border-radius: 20px;
}

.team-single-image figure img {
  width: 100%;
  aspect-ratio: 1 / 1.159;
  object-fit: cover;
  border-radius: 20px;
}

.team-member-about,
.team-member-expertise,
.team-member-fact {
  margin-bottom: 60px;
}

.member-social-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 20px;
  border-top: 1px solid var(--divider-color);
  padding-top: 40px;
  margin-top: 40px;
}

.member-social-list h3 {
  font-size: 20px;
}

.member-social-list ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  padding: 0;
  margin: 0;
}

.member-social-list ul li a {
  width: 40px;
  height: 40px;
  color: var(--primary-color);
  border: 1px solid var(--divider-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}

.member-social-list ul li a:hover {
  background-color: var(--accent-color);
  border-color: var(--accent-color);
  color: var(--white-color);
}

.member-social-list ul li a i {
  font-size: 18px;
  color: inherit;
}

.team-member-expertise {
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 60px;
}

.skills-progress-bar {
  margin-bottom: 30px;
}

.skills-progress-bar:last-child {
  margin-bottom: 0;
}

.skills-progress-bar .skill-data {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 15px;
}

.skills-progress-bar .skill-data .skill-title,
.skills-progress-bar .skill-data .skill-no {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-color);
}

.skills-progress-bar .skillbar .skill-progress {
  position: relative;
  width: 100%;
  height: 10px;
  background: var(--bg-color);
  border-radius: 10px;
  overflow: hidden;
}

.skills-progress-bar .skillbar .skill-progress .count-bar {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background: var(--accent-color);
  border-radius: 10px;
}

.team-member-fact-body {
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 40px;
}

.team-member-fact-item-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.team-member-fact-item {
  width: calc(50% - 15px);
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 15px;
}

.team-member-fact-item .icon-box img {
  width: 100%;
  max-width: 50px;
}

.team-member-fact-item-content {
  width: calc(100% - 65px);
}

.team-member-fact-item-content h3 {
  font-size: 20px;
}

.team-member-fact-item-content p {
  margin: 5px 0 0;
}

.team-member-counter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  border-top: 1px solid var(--divider-color);
  margin-top: 80px;
  padding-top: 40px;
}

.team-member-counter-item {
  width: calc(33.33% - 20px);
}

.team-member-counter-item h2 {
  font-size: 46px;
  line-height: 1em;
  margin-bottom: 20px;
}

.team-member-counter-item h3 {
  font-size: 20px;
}

.team-member-counter-item p {
  margin: 10px 0 0;
}

/************************************/
/*** 	25. Pricing Page css      ***/
/************************************/

.page-pricing {
  padding: 120px 0;
}

/************************************/
/***  26. Testimonials Page css   ***/
/************************************/

.page-testimonials {
  padding: 120px 0 90px;
}

.page-testimonials .testimonial-item {
  background-color: var(--secondary-color);
  height: calc(100% - 30px);
  margin-bottom: 30px;
}

/************************************/
/*** 	27. Image Gallery css     ***/
/************************************/

.page-gallery {
  padding: 120px 0 90px;
}

.page-gallery .page-gallery-box .photo-gallery {
  height: calc(100% - 30px);
  margin-bottom: 30px;
}

.page-gallery-box .photo-gallery a {
  cursor: none;
}

.page-gallery-box .photo-gallery figure {
  display: block;
  border-radius: 20px;
}

.page-gallery-box .photo-gallery img {
  width: 100%;
  aspect-ratio: 1 / 0.744;
  object-fit: cover;
  border-radius: 20px;
}

/************************************/
/*** 	28.  Video Gallery css    ***/
/************************************/

.page-video-gallery {
  padding: 120px 0 90px;
}

.video-gallery-image {
  height: calc(100% - 30px);
  margin-bottom: 30px;
  overflow: hidden;
}

.video-gallery-image a {
  position: relative;
  display: block;
  cursor: none;
}

.video-gallery-image a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--primary-color);
  border-radius: 20px;
  opacity: 0%;
  visibility: hidden;
  width: 100%;
  height: 100%;
  z-index: 1;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
}

.video-gallery-image:hover a::before {
  opacity: 50%;
  visibility: visible;
  transform: scale(1);
}

.video-gallery-image a::after {
  content: "\f04b";
  font-family: "FontAwesome";
  position: absolute;
  top: 50%;
  left: 50%;
  right: 0;
  transform: translate(-50%, -50%);
  font-size: 20px;
  background: var(--accent-color);
  color: var(--white-color);
  border-radius: 50%;
  height: 60px;
  width: 60px;
  cursor: none;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-in-out;
  z-index: 1;
}

.video-gallery-image:hover a::after {
  opacity: 1;
  visibility: visible;
}

.video-gallery-image img {
  width: 100%;
  aspect-ratio: 1 / 0.744;
  object-fit: cover;
  border-radius: 20px;
}

/************************************/
/*** 	  29. FAQ's Page css      ***/
/************************************/

.page-faqs {
  padding: 120px 0;
}

.page-faqs .page-single-faqs {
  margin-bottom: 60px;
}

.page-faqs .page-single-faqs:last-child {
  margin-bottom: 0px;
}

/************************************/
/***   30. Contact Us Page css    ***/
/************************************/

.page-contact-us {
  padding: 120px 0 60px;
}

.contact-us-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 500px;
  margin-right: 15px;
}

.contact-info-item-list {
  border-top: 1px solid var(--divider-color);
  display: flex;
  flex-wrap: wrap;
  gap: 30px 50px;
  padding-top: 40px;
  overflow: hidden;
}

.contact-info-item {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.contact-info-item::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%);
  background: var(--divider-color);
  width: 1px;
  height: 80%;
}

.contact-info-item:nth-child(2n + 2):before,
.contact-info-item:last-child:before {
  display: none;
}

.contact-info-item .icon-box {
  position: relative;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.contact-info-item .icon-box::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: var(--primary-color);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.contact-info-item:hover .icon-box::before {
  transform: scale(1);
}

.contact-info-item .icon-box img {
  position: relative;
  width: 100%;
  max-width: 24px;
  z-index: 1;
}

.contact-info-item-content {
  width: calc(100% - 65px);
}

.contact-info-item-content p {
  margin: 0;
}

.contact-info-item-content h3 {
  font-size: 20px;
  color: var(--primary-color);
  margin-top: 5px;
}

.contact-info-item-content h3 a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.contact-info-item-content h3 a:hover {
  color: var(--accent-color);
}

.contact-us-form {
  background: var(--secondary-color);
  border-radius: 20px;
  padding: 60px;
}

.contact-us-form .section-title {
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 40px;
}

.contact-form .form-control {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25em;
  color: var(--primary-color);
  background-color: var(--bg-color);
  border-radius: 10px;
  padding: 20px;
  border: none;
  box-shadow: none;
  outline: none;
}

.contact-form .form-control::placeholder {
  color: var(--text-color);
  opacity: 50%;
}

.google-map {
  padding: 60px 0 120px;
}

.google-map-iframe {
  width: 100%;
  height: 650px;
  border-radius: 20px;
  overflow: hidden;
}

.google-map-iframe iframe {
  width: 100%;
  height: 100%;
}

/*************************************/
/*** 31. Book Appointment Page css ***/
/*************************************/

.page-appointment {
  padding: 120px 0;
}

/************************************/
/***   32. 404 Error Page css    ***/
/************************************/

.error-page {
  padding: 120px 0;
}

.error-page-image {
  text-align: center;
  margin-bottom: 30px;
}

.error-page-image img {
  width: 100%;
  max-width: 510px;
}

.error-page-content {
  text-align: center;
}

.error-page-content .section-title {
  margin-bottom: 15px;
}

/************************************/
/***      33. Responsive css      ***/
/************************************/

@media only screen and (max-width: 1024px) {
  .main-menu ul li {
    margin: 0;
  }

  .section-title p {
    margin-top: 10px;
  }

  .section-title-content {
    margin-top: 10px;
  }

  .section-content-btn .section-btn {
    margin-top: 20px;
  }

  .section-btn {
    text-align: left;
    margin-top: 15px;
  }

  .hero {
    min-height: auto;
  }

  .hero-info-box {
    margin: 30px 0 0 0;
  }

  .about-us-content {
    margin: 0 0 30px;
  }

  .about-us-image-box {
    max-width: 740px;
    margin: 0 auto;
  }

  .our-services {
    background-position: bottom -10px left;
    background-size: 350px auto;
  }

  .service-slider .swiper-slide.swiper-slide-next .service-item-number h2,
  .service-slider .swiper-slide.swiper-slide-next .service-item-content h2 {
    color: var(--primary-color);
  }

  .service-slider .swiper-slide.swiper-slide-next .service-item-content {
    border-color: var(--divider-color);
  }

  .service-slider .swiper-slide.swiper-slide-next .service-item-content p {
    color: var(--text-color);
  }

  .service-slider .swiper-slide.swiper-slide-next .icon-box img {
    filter: brightness(1) invert(0);
  }

  .service-slider .swiper-slide.swiper-slide-next .service-item-image {
    width: 240px;
    height: 240px;
    border-radius: 50%;
    transform: translate(40px, 40px);
  }

  .service-slider
    .swiper-slide.swiper-slide-next
    .service-item-image
    figure::before {
    opacity: 0;
  }

  .service-slider .service-item:hover .service-item-image {
    top: auto;
    left: auto;
    width: 100%;
    height: 100%;
    transform: translate(0, 0);
    border-radius: 20px;
  }

  .service-slider .service-item:hover .service-item-image figure::before {
    opacity: 50%;
  }

  .service-slider .service-item:hover .service-item-number h2,
  .service-slider .service-item:hover .service-item-content h2,
  .service-slider .service-item:hover .service-item-content p {
    color: var(--white-color);
  }

  .service-slider .service-item:hover .service-item-content {
    border-color: var(--dark-divider-color);
  }

  .service-slider .service-item:hover .icon-box img {
    filter: brightness(0) invert(1);
  }

  .why-choose-image-box {
    max-width: 740px;
    margin: 0 auto 30px;
  }

  .why-choose-image-box-2 .why-choose-image figure img {
    aspect-ratio: 1 / 1.1;
  }

  .our-benefits {
    background-position: bottom -35px left -35px;
    background-size: 200px auto;
  }

  .our-feature-image-box {
    max-width: 740px;
    margin: 0 auto 30px;
  }

  .intro-video-image img {
    aspect-ratio: 1 / 0.6;
  }

  .pricing-item {
    width: calc(50% - 15px);
  }

  .appointment-content {
    height: auto;
    margin: 0 0 30px;
  }

  .appointment-image-box {
    height: auto;
  }

  .testimonial-slider .swiper-wrapper .swiper-slide .testimonial-item {
    transform: none;
  }

  .faqs-content {
    min-height: auto;
    margin: 0 0 30px;
  }

  .scrolling-content .scrolling-ticker-gallery {
    width: calc((100vw / 3) - 6.67px);
  }

  .footer-header {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }

  .footer-header .section-title {
    width: 70%;
  }

  .about-footer {
    max-width: 100%;
    margin: 0 0 30px;
  }

  .footer-social-links {
    margin-top: 20px;
  }

  .about-footer-content {
    margin-top: 15px;
  }

  .footer-links h2 {
    margin-bottom: 20px;
  }

  .footer-links ul li {
    margin-bottom: 10px;
  }

  .footer-contact-item {
    margin-bottom: 20px;
  }

  .footer-copyright-text {
    padding: 30px 0;
    margin-top: 30px;
  }

  .approach-items-list {
    gap: 30px;
  }

  .approach-item {
    width: calc(50% - 15px);
    border-radius: 20px;
    min-height: 400px;
    padding: 40px;
  }

  .approach-item::before {
    border-radius: 20px;
  }

  .our-team {
    background-position: bottom -20px right -25px;
    background-size: 350px auto;
  }

  .page-single-sidebar {
    margin: 0;
  }

  .page-category-list .page-category-list-title {
    padding: 15px 20px;
  }

  .page-category-list ul {
    padding: 20px;
  }

  .page-category-list ul li {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  .sidebar-cta-box {
    padding: 30px;
  }

  .service-entry {
    margin-bottom: 40px;
  }

  .service-benefits-box,
  .service-intro-video-box {
    margin-top: 40px;
  }

  .service-benefits-item-list,
  .service-intro-video {
    margin-top: 30px;
  }

  .team-member-about,
  .team-member-expertise,
  .team-member-fact {
    margin-bottom: 40px;
  }

  .team-member-expertise {
    padding: 30px;
  }

  .team-member-fact-body {
    padding: 30px;
  }

  .team-member-fact-item-list {
    gap: 30px;
  }

  .team-member-fact-item {
    width: calc(50% - 15px);
  }

  .team-member-fact-item-content {
    width: 100%;
  }

  .team-member-counter-list {
    padding-top: 30px;
    margin-top: 30px;
  }

  .team-member-counter-item {
    width: calc(50% - 15px);
  }

  .contact-us-content {
    margin: 0 0 30px;
    min-height: 0;
  }

  .contact-us-form {
    padding: 30px;
  }
}

@media only screen and (max-width: 991px) {
  .btn-default {
    padding: 15px 15px 15px 50px;
  }

  .btn-default:hover {
    padding: 15px 50px 15px 15px;
  }

  .btn-default::before {
    height: 36px;
    width: 36px;
    left: 5px;
  }

  .btn-default:hover::before {
    left: 100%;
    transform: translate(calc(100% - 77px), -50%);
  }

  .readmore-btn {
    padding: 3px 30px 3px 0;
  }

  .readmore-btn::before {
    width: 22px;
    height: 22px;
    background-size: 10px auto;
  }

  header.main-header {
    top: 0px;
    right: 0px;
    left: 0px;
  }

  header.main-header .header-sticky {
    border-radius: 0;
  }

  header.main-header .header-sticky.active {
    width: 100%;
    border-radius: 0;
    top: 0;
    left: 0;
    right: 0;
  }

  .responsive-menu,
  .navbar-toggle {
    display: block;
  }

  .slicknav_nav li,
  .slicknav_nav ul {
    display: block;
  }

  .header-btn {
    display: none;
  }

  .section-row {
    margin-bottom: 40px;
  }

  .section-title {
    margin-bottom: 30px;
  }

  .section-sub-heading,
  .section-title .section-sub-title {
    padding: 6px 12px 6px 26px;
    margin-bottom: 10px;
  }

  .section-sub-heading,
  .section-title .section-sub-title::before {
    left: 12px;
  }

  .section-title h1 {
    font-size: 48px;
  }

  .section-title h2 {
    font-size: 36px;
  }

  .hero {
    padding: 150px 0 60px;
  }

  .hero-content .section-title .section-sub-title {
    padding: 8px 12px 8px 26px;
  }

  .video-play-button a span {
    width: 46px;
    height: 46px;
  }

  .hero-info-box {
    padding: 30px;
  }

  .satisfy-client-image figure img {
    max-width: 40px;
  }

  .satisfy-client-image.add-more {
    width: 42px;
    height: 42px;
  }

  .satisfy-client-image.add-more i {
    font-size: 18px;
  }

  .hero-info-review-box {
    padding-top: 30px;
    margin-top: 30px;
  }

  .hero-info-review-box h2 {
    font-size: 36px;
  }

  .about-us {
    padding: 60px 0;
  }

  .about-us-list ul li {
    padding-left: 22px;
  }

  .about-us-list ul li::before {
    font-size: 16px;
  }

  .about-us-item-list {
    padding: 30px;
    margin-top: 30px;
  }

  .about-us-item h2 {
    font-size: 26px;
  }

  .about-us-btn {
    margin-top: 30px;
  }

  .our-services {
    padding: 60px 0;
  }

  .service-slider .swiper {
    padding-bottom: 50px;
  }

  .service-item {
    min-height: auto;
    padding: 30px;
  }

  .service-item .icon-box {
    padding-top: 90px;
  }

  .service-item-image,
  .service-slider .swiper-slide.swiper-slide-next .service-item-image {
    width: 200px;
    height: 200px;
  }

  .service-slider .service-item:hover .service-item-image {
    width: 100%;
    height: 100%;
  }

  .section-footer-text,
  .section-footer-text ul {
    margin-top: 10px;
  }

  .section-footer-text ul li {
    margin-right: 5px;
  }

  .section-footer-text .section-footer-border-list li {
    padding-right: 10px;
  }

  .section-footer-text.section-satisfy-img {
    gap: 10px;
  }

  .our-services .section-footer-text {
    margin-top: 30px;
  }

  .why-choose-us {
    padding: 60px 0;
  }

  .why-choose-cta-box .icon-box {
    margin-bottom: 20px;
  }

  .why-choose-cta-content h3 {
    font-size: 34px;
  }

  .why-choose-info-list ul li {
    margin-bottom: 10px;
    padding-left: 22px;
  }

  .why-choose-info-list ul li::before {
    font-size: 16px;
  }

  .why-choose-counter-header h2 {
    font-size: 30px;
  }

  .why-choose-counter-body .icon-box {
    margin-bottom: 30px;
  }

  .why-choose-btn {
    padding-top: 30px;
    margin-top: 30px;
  }

  .our-benefits {
    padding: 60px 0;
  }

  .our-benefit-item {
    min-height: auto;
    padding: 30px;
  }

  .benefit-item-list ul li {
    margin-bottom: 10px;
    padding-left: 22px;
  }

  .benefit-item-list ul li::before {
    font-size: 16px;
  }

  .our-benefit-image,
  .our-benefit-image figure,
  .our-benefit-image figure img {
    height: auto;
  }

  .benefit-working-hours-box {
    padding: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
  }

  .benefit-working-hour-header {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  .benefit-working-hour-header .icon-box i {
    font-size: 20px;
  }

  .benefit-working-hour-content ul li {
    margin-bottom: 10px;
  }

  .our-benefit-footer-box {
    margin-top: 10px;
  }

  .our-benefit-footer-list ul {
    gap: 15px;
  }

  .our-benefit-footer-list ul li {
    font-size: 14px;
    padding: 7px 12px 7px 28px;
  }

  .our-benefit-footer-list ul li::before {
    left: 12px;
  }

  .our-benefit-footer-box .section-footer-text {
    margin-top: 20px;
  }

  .our-feature {
    padding: 60px 0;
  }

  .feature-accordion {
    padding: 30px;
  }

  .feature-accordion .accordion-item {
    margin-bottom: 20px;
  }

  .feature-accordion .accordion-header .accordion-button {
    font-size: 18px;
  }

  .feature-accordion .accordion-item .accordion-button::after,
  .feature-accordion .accordion-item .accordion-button.collapsed::after {
    font-size: 22px;
  }

  .feature-accordion .accordion-item .accordion-body p {
    margin: 0 0 15px;
  }

  .feature-accordion .accordion-item .accordion-body ul li {
    margin-bottom: 10px;
    padding-left: 20px;
  }

  .feature-accordion .accordion-item .accordion-body ul li::before {
    font-size: 16px;
  }

  .our-feature .section-footer-text {
    margin-top: 40px;
  }

  .our-feature .section-footer-text ul li:first-child {
    padding-right: 5px;
  }

  .intro-video-circle img {
    max-width: 80px;
  }

  .intro-video-circle-box .video-play-button a span {
    width: 80px;
    height: 80px;
  }

  .intro-video-circle-box .video-play-button a span i {
    font-size: 24px;
  }

  .our-pricing {
    padding: 60px 0;
  }

  .pricing-item {
    padding: 30px 20px;
  }

  .pricing-item.highlighted-box {
    padding: 30px;
  }

  .pricing-item-header .icon-box {
    margin-bottom: 20px;
  }

  .pricing-item-price {
    margin-top: 20px;
    padding-top: 20px;
  }

  .pricing-item-price h2 {
    font-size: 34px;
  }

  .pricing-item-body {
    padding-top: 20px;
    margin-top: 20px;
  }

  .pricing-item-body-list h3 {
    margin-bottom: 15px;
  }

  .pricing-item-body-list ul li {
    margin-bottom: 10px;
    padding-left: 22px;
  }

  .pricing-item-body-list ul li::before {
    font-size: 16px;
  }

  .pricing-item-btn {
    margin-top: 30px;
  }

  .pricing-benefit-list {
    margin-top: 40px;
  }

  .pricing-benefit-list ul {
    gap: 15px 30px;
  }

  .pricing-benefit-list ul li img {
    max-width: 18px;
  }

  .book-appointment {
    padding: 60px 0;
  }

  .appointment-form {
    padding: 30px;
  }

  .appointment-image-box {
    min-height: 350px;
    padding: 30px;
  }

  .appointment-form {
    padding: 30px;
  }

  .appointment-form .section-title {
    padding-bottom: 30px;
  }

  .appointment-form .section-title h2 {
    font-size: 34px;
  }

  .appointment-form .form-group label {
    margin-bottom: 10px;
  }

  .appointment-form .form-control {
    padding: 11px 15px;
  }

  .our-testimonials {
    padding: 60px 0px;
  }

  .testimonial-item {
    min-height: auto;
    padding: 30px;
  }

  .testimonial-item-rating {
    margin-bottom: 20px;
  }

  .testimonial-item-content p {
    font-size: 18px;
  }

  .our-testimonials .section-footer-text {
    margin-top: 40px;
  }

  .our-faqs {
    padding: 60px 0;
  }

  .faq-accordion .accordion-item {
    margin-bottom: 20px;
  }

  .faq-accordion .accordion-header .accordion-button {
    padding: 13px 45px 13px 20px;
  }

  .faq-accordion .accordion-item .accordion-button::after,
  .faq-accordion .accordion-item .accordion-button.collapsed::after {
    right: 20px;
  }

  .faq-accordion .accordion-item .accordion-body {
    padding: 13px 20px;
  }

  .our-faqs .company-supports-slider-box {
    margin-top: 40px;
  }

  .company-supports-content {
    margin-bottom: 30px;
  }

  .company-supports-slider {
    margin: 0;
  }

  .our-blog {
    padding: 60px 0 30px;
  }

  .post-item-body {
    padding: 10px;
  }

  .post-item-btn {
    padding-top: 15px;
    margin-top: 15px;
  }

  .main-footer {
    padding: 50px 0 0;
  }

  .footer-header .section-title h2 {
    font-size: 30px;
  }

  .footer-header .contact-us-circle a img {
    max-width: 100px;
  }

  .page-header {
    padding: 120px 0 60px;
  }

  .page-header-box h1 {
    font-size: 48px;
    margin-bottom: 10px;
  }

  .our-approach {
    padding: 60px 0;
  }

  .approach-item {
    min-height: auto;
    padding: 30px;
  }

  .approach-item-header .icon-box {
    margin-bottom: 20px;
  }

  .approach-item-header .icon-box img {
    max-width: 50px;
  }

  .approach-item-list ul li {
    margin-bottom: 10px;
    padding-left: 22px;
  }

  .approach-item-list ul li::before {
    font-size: 16px;
  }

  .our-approach .section-footer-text {
    margin-top: 40px;
  }

  .our-team {
    padding: 60px 0;
  }

  .team-item-social-list {
    right: 30px;
    bottom: 30px;
    left: 30px;
  }

  .team-item-content {
    padding: 20px 15px;
  }

  .page-services {
    padding: 60px 0 30px;
  }

  .page-service-single {
    padding: 60px 0;
  }

  .page-single-sidebar {
    position: initial;
    margin-bottom: 30px;
  }

  .sidebar-cta-box {
    min-height: initial;
  }

  .service-entry p {
    margin-bottom: 15px;
  }

  .service-entry h2 {
    font-size: 36px;
    margin-bottom: 15px;
  }

  .service-benefits-item-list {
    gap: 20px;
  }

  .service-benefits-item {
    width: calc(50% - 10px);
    padding: 20px;
  }

  .page-blog {
    padding: 60px 0;
  }

  .page-pagination {
    margin-top: 10px;
  }

  .page-single-post {
    padding: 60px 0;
  }

  .post-image {
    margin-bottom: 20px;
  }

  .post-entry h2 {
    font-size: 38px;
  }

  .post-entry p {
    margin-bottom: 15px;
  }

  .post-entry ol li,
  .post-entry ul li {
    font-size: 16px;
  }

  .post-entry blockquote {
    background-position: 20px 20px;
    background-size: 40px;
    padding: 20px 20px 20px 70px;
    margin-bottom: 15px;
  }

  .post-entry blockquote p {
    font-size: 18px;
  }

  .post-tags {
    margin-bottom: 20px;
  }

  .post-tags .tag-links a {
    padding: 12px 15px;
  }

  .post-social-sharing ul {
    text-align: left;
  }

  .page-team {
    padding: 60px 0 30px;
  }

  .page-team-single {
    padding: 60px 0;
  }

  .team-single-image figure img {
    aspect-ratio: 1 / 0.7;
  }

  .member-social-list {
    margin-top: 30px;
    padding-top: 30px;
  }

  .skills-progress-bar {
    margin-bottom: 20px;
  }

  .team-member-counter-item h2 {
    font-size: 36px;
    margin-bottom: 10px;
  }

  .page-pricing {
    padding: 60px 0;
  }

  .page-testimonials {
    padding: 60px 0 30px;
  }

  .page-gallery {
    padding: 60px 0 30px;
  }

  .page-video-gallery {
    padding: 60px 0 30px;
  }

  .page-faqs {
    padding: 60px 0;
  }

  .page-faqs .page-single-faqs {
    margin-bottom: 40px;
  }

  .page-contact-us {
    padding: 60px 0 30px;
  }

  .contact-info-item-list {
    padding-top: 30px;
  }

  .contact-us-form .section-title {
    padding-bottom: 30px;
  }

  .contact-form .form-control {
    padding: 15px;
  }

  .google-map {
    padding: 30px 0 60px;
  }

  .google-map-iframe {
    height: 450px;
  }

  .page-appointment {
    padding: 60px 0;
  }

  .error-page {
    padding: 60px 0px;
  }

  .error-page-image {
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .section-row {
    margin-bottom: 30px;
  }

  .section-title h1 {
    font-size: 28px;
  }

  .section-title h2 {
    font-size: 26px;
  }

  .hero-info-box {
    max-width: 100%;
    padding: 20px;
  }

  .hero-info-client-content p {
    margin-bottom: 15px;
  }

  .hero-info-review-box {
    padding-top: 20px;
    margin-top: 20px;
  }

  .hero-info-review-box h2 {
    font-size: 26px;
  }

  .hero-info-review-box p {
    margin: 5px 0 0;
  }

  .about-us-list ul {
    gap: 10px;
  }

  .about-us-list ul li {
    width: 100%;
  }

  .about-us-item-list {
    padding: 20px;
  }

  .about-us-item {
    width: 100%;
  }

  .about-us-item::before {
    top: auto;
    right: 0;
    bottom: -15px;
    width: 100%;
    height: 1px;
    transform: none;
  }

  .about-us-item:nth-child(2n + 2)::before {
    display: block;
  }

  .about-us-item:last-child::before {
    display: none;
  }

  .about-us-item h2 {
    font-size: 22px;
  }

  .about-us-item p {
    margin: 5px 0 0;
  }

  .about-us-image-box::before {
    right: 40px;
    bottom: 3px;
    width: 50px;
    height: 95px;
  }

  .about-us-image-box-1 {
    width: 55%;
  }

  .about-us-image-2 {
    margin-bottom: 40px;
  }

  .about-us-image-1 figure {
    border-width: 4px;
    margin-right: -90px;
  }

  .about-us-image-box-2 {
    width: 45%;
    margin-top: 60px;
  }

  .about-image-content a {
    font-size: 12px;
    padding: 10px;
  }

  .about-image-content p {
    font-size: 12px;
  }

  .our-services {
    background-position: bottom -5px left;
    background-size: 200px auto;
  }

  .service-item {
    padding: 20px;
  }

  .service-item-content {
    margin-top: 15px;
    padding-top: 15px;
  }

  .service-item-number h2,
  .service-item-content h2 {
    font-size: 18px;
  }

  .service-item-content p {
    margin-top: 5px;
  }

  .section-footer-text ul li {
    font-size: 14px;
  }

  .why-choose-image-box {
    background-position: bottom 30px left 90px;
    background-size: 90px auto;
  }

  .why-choose-image-box-1 {
    padding: 0 0 80px 30px;
  }

  .why-choose-image-box-1 .why-choose-image figure {
    margin-right: -105px;
  }

  .why-choose-image-box-2 .why-choose-image figure {
    border-width: 4px;
    border-radius: 16px 60px;
  }

  .why-choose-image-box-2 .why-choose-image figure img {
    border-radius: 10px 60px;
  }

  .why-choose-cta-box {
    top: 30px;
    max-width: 130px;
    padding: 15px;
  }

  .why-choose-cta-box .icon-box {
    margin-bottom: 15px;
  }

  .why-choose-cta-box .icon-box img {
    max-width: 40px;
  }

  .why-choose-cta-content p {
    font-size: 14px;
    margin: 0 0 5px;
  }

  .why-choose-cta-content h3 {
    font-size: 24px;
  }

  .why-choose-info-box,
  .why-choose-counter-box {
    padding: 20px;
  }

  .why-choose-info-box {
    width: 100%;
  }

  .why-choose-info-content h3 {
    font-size: 18px;
  }

  .why-choose-info-content p {
    margin: 5px 0 0;
  }

  .why-choose-counter-box {
    width: 100%;
  }

  .why-choose-counter-header h2 {
    font-size: 26px;
  }

  .why-choose-counter-body .icon-box {
    margin-bottom: 20px;
  }

  .our-benefit-item {
    padding: 20px;
    gap: 20px;
  }

  .benefit-item-header .icon-box {
    margin-bottom: 20px;
  }

  .benefit-item-content h3 {
    font-size: 18px;
  }

  .benefit-item-content p {
    margin: 5px 0 0;
  }

  .benefit-item-list {
    padding-top: 20px;
  }

  .benefits-working-header h2 {
    font-size: 18px;
  }

  .benefit-working-hour-header .icon-box i {
    font-size: 18px;
  }

  .benefit-working-hour-title h3 {
    font-size: 18px;
  }

  .our-benefit-footer-list ul {
    gap: 10px;
  }

  .our-benefit-footer-list ul li {
    padding: 7px 8px 7px 22px;
  }

  .our-benefit-footer-list ul li::before {
    width: 4px;
    height: 4px;
    left: 10px;
  }

  .our-feature-image-box::before {
    top: 40px;
    left: 70px;
    width: 50px;
    height: 95px;
  }

  .our-feature-image-box-2 {
    padding-bottom: 50px;
  }

  .our-feature-image-box-1 .our-feature-image figure {
    border-width: 4px;
    border-radius: 24px;
  }

  .our-feature-image-box-2 .our-feature-image figure {
    margin-left: -120px;
  }

  .our-feature-image-box-1 .contact-us-circle {
    bottom: 30px;
  }

  .our-feature-image-box-1 .contact-us-circle a {
    border-width: 4px;
  }

  .contact-us-circle a img {
    max-width: 80px;
  }

  .feature-accordion {
    padding: 20px;
  }

  .feature-accordion .accordion-header {
    padding-bottom: 15px;
  }

  .feature-accordion .accordion-header .accordion-button {
    font-size: 16px;
    padding: 0 25px 0 0;
  }

  .feature-accordion .accordion-item .accordion-button::after,
  .feature-accordion .accordion-item .accordion-button.collapsed::after {
    font-size: 20px;
  }

  .feature-accordion .accordion-item .accordion-body {
    padding-top: 15px;
  }

  .our-feature .section-footer-text {
    margin-top: 30px;
  }

  .intro-video-image img {
    aspect-ratio: 1 / 0.72;
  }

  .pricing-item-list {
    gap: 10px;
  }

  .pricing-item {
    width: 100%;
    padding: 20px 10px;
  }

  .pricing-item.highlighted-box {
    padding: 20px;
  }

  .pricing-item-content .pricing-item-title {
    font-size: 18px;
  }

  .pricing-item-content p {
    margin: 5px 0 0;
  }

  .pricing-item-price h2 {
    font-size: 28px;
  }

  .pricing-item-price h2 sub {
    font-size: 14px;
  }

  .pricing-item-body-list h3 {
    font-size: 18px;
  }

  .pricing-benefit-list {
    margin-top: 30px;
  }

  .pricing-benefit-list ul {
    gap: 10px 15px;
  }

  .pricing-benefit-list ul li {
    font-size: 14px;
  }

  .pricing-benefit-list ul li img {
    max-width: 16px;
    margin-right: 5px;
  }

  .appointment-image-box {
    padding: 20px;
  }

  .appointment-contact-item-list {
    gap: 20px;
  }

  .appointment-contact-item {
    width: 100%;
  }

  .appointment-contact-item-content h3 {
    font-size: 18px;
  }

  .appointment-form {
    padding: 20px;
  }

  .book-appointment .section-title h2 {
    font-size: 28px;
  }

  .testimonial-item {
    padding: 20px;
  }

  .testimonial-author-content h2 {
    font-size: 18px;
  }

  .testimonial-item-rating {
    margin-bottom: 20px;
  }

  .testimonial-item-content p {
    font-size: 16px;
  }

  .faq-cta-box {
    width: 100%;
    min-width: 100%;
  }

  .faq-cta-header {
    padding: 14px 20px;
  }

  .faq-cta-item-list {
    padding: 20px;
  }

  .faq-cta-item-content h3 {
    font-size: 18px;
  }

  .faq-accordion .accordion-header .accordion-button {
    font-size: 16px;
    padding: 10px 35px 10px 15px;
  }

  .faq-accordion .accordion-item .accordion-body {
    padding: 10px 15px;
  }

  .faq-accordion .accordion-item .accordion-button::after,
  .faq-accordion .accordion-item .accordion-button.collapsed::after {
    right: 15px;
    font-size: 18px;
  }

  .company-supports-content {
    margin-bottom: 20px;
    justify-content: center;
  }

  .company-supports-content p {
    font-size: 16px;
  }

  .company-supports-content hr {
    display: none;
  }

  .company-supports-logo img {
    max-width: 160px;
    height: 34px;
  }

  .post-item-content h2 {
    font-size: 18px;
  }

  .scrolling-content .scrolling-ticker-gallery figure,
  .scrolling-content .scrolling-ticker-gallery img {
    border-radius: 10px;
  }

  .scrolling-content .scrolling-ticker-gallery {
    width: calc((100vw / 2) - 5px);
  }

  .footer-header .section-title {
    width: 100%;
  }

  .footer-header .section-title h2 {
    font-size: 20px;
  }

  .footer-header .contact-us-circle {
    display: none;
  }

  .footer-links {
    max-width: 100%;
  }

  .footer-links h2 {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .footer-contact-item h3 {
    font-size: 18px;
  }

  .footer-copyright-text {
    padding: 15px 0;
  }

  .page-header-box h1 {
    font-size: 28px;
  }

  .approach-item {
    width: 100%;
    padding: 20px;
  }

  .approach-item-content h3 {
    font-size: 18px;
  }

  .approach-item-content p {
    margin-top: 5px;
  }

  .our-team {
    background-position: bottom -10px right -15px;
    background-size: 200px auto;
  }

  .team-item-social-list {
    bottom: 20px;
    left: 20px;
    right: 20px;
  }

  .team-item-content h2 {
    font-size: 18px;
  }

  .team-item-content p {
    margin-top: 15px;
    padding-top: 15px;
  }

  .page-category-list .page-category-list-title,
  .sidebar-cta-header-content h3 {
    font-size: 18px;
  }

  .sidebar-cta-box {
    padding: 20px;
  }

  .sidebar-cta-content h2 {
    font-size: 18px;
  }

  .sidebar-cta-content p {
    margin: 5px 0 0;
  }

  .page-single-image {
    margin-bottom: 20px;
  }

  .service-entry h2 {
    font-size: 26px;
  }

  .service-entry h3 {
    font-size: 18px;
    margin-bottom: 5px;
  }

  .service-benefits-item {
    width: 100%;
  }

  .service-benefits-item .icon-box {
    margin-bottom: 20px;
  }

  .service-benefits-item .icon-box img {
    max-width: 40px;
  }

  .service-intro-video-image figure img {
    aspect-ratio: 1 / 0.7;
  }

  .watch-our-video-circle a img {
    max-width: 90px;
  }

  .post-single-meta ol li,
  .post-single-meta ol li i {
    font-size: 16px;
  }

  .post-image img {
    aspect-ratio: 1 / 0.7;
  }

  .post-entry blockquote {
    padding: 65px 20px 20px 20px;
  }

  .post-entry blockquote p {
    font-size: 16px;
  }

  .post-entry h2 {
    font-size: 26px;
  }

  .tag-links {
    font-size: 18px;
  }

  .team-single-image figure img {
    aspect-ratio: 1 / 1.159;
  }

  .member-social-list h3,
  .team-member-fact-item-content h3,
  .team-member-counter-item h3 {
    font-size: 18px;
  }

  .team-member-expertise {
    padding: 20px;
  }

  .team-member-fact-body {
    padding: 20px;
  }

  .team-member-fact-item-list {
    gap: 20px;
  }

  .team-member-fact-item,
  .team-member-counter-item {
    width: 100%;
  }

  .team-member-fact-item .icon-box img {
    max-width: 40px;
  }

  .team-member-fact-item-content {
    width: calc(100% - 55px);
  }

  .team-member-counter-list {
    gap: 20px;
  }

  .team-member-counter-item h2 {
    font-size: 26px;
  }

  .team-member-counter-item p {
    margin-top: 5px;
  }

  .contact-info-item-list {
    gap: 20px;
  }

  .contact-info-item {
    width: 100%;
  }

  .contact-info-item-content h3 {
    font-size: 18px;
  }

  .contact-us-form {
    padding: 20px;
  }

  .google-map-iframe {
    height: 350px;
  }
}

/************************************/
/***    34. Home - Version 2 css  ***/
/************************************/

.hero-elite {
  position: relative;
  min-height: 100vh;
  align-content: center;
  background-image: url("../images/hero-bg-image-elite.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 220px 0 120px;
}

.hero-elite::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(
    270deg,
    transparent 31.22%,
    rgba(0, 0, 0, 0.64) 74.55%,
    rgba(0, 0, 0, 0.8) 100%
  );
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero-elite .container {
  position: relative;
  z-index: 2;
}

.hero-content-elite .section-title .section-sub-title {
  background-color: var(--dark-divider-color);
  border-color: transparent;
  backdrop-filter: blur(50px);
  -webkit-backdrop-filter: blur(50px);
}

.hero-content-body-elite {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}

.hero-client-box-elite {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}

.hero-client-content-elite h2 {
  color: var(--white-color);
  font-size: 16px;
  font-weight: 500;
}

.hero-client-rating-star-elite i {
  color: var(--white-color);
  font-size: 16px;
  margin-right: 5px;
}

.hero-client-content-elite p {
  color: var(--white-color);
  margin: 5px 0 0;
}

.hero-feature-list-elite {
  border-top: 1px solid var(--dark-divider-color);
  margin-top: 50px;
  padding-top: 50px;
}

.hero-feature-list-elite ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
  padding: 0;
  margin: 0;
}

.hero-feature-list-elite ul li {
  position: relative;
  width: calc(50% - 20px);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5em;
  color: var(--white-color);
  padding-left: 25px;
}

.hero-feature-list-elite ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
  color: var(--white-color);
  top: 0;
  left: 0;
}

.about-us-elite {
  padding: 120px 0;
}

.about-us-image-box-elite {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-right: 15px;
}

.about-us-image-box-1-elite {
  width: 54%;
}

.about-us-image-elite {
  height: 100%;
}

.about-us-image-elite figure {
  display: block;
  border-radius: 10px;
}

.about-us-image-elite figure img {
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.about-us-image-box-1-elite .about-us-image-elite figure {
  height: 100%;
  border-radius: 290px 290px 20px 20px;
  margin-right: -154px;
}

.about-us-image-box-1-elite .about-us-image-elite figure img {
  height: 100%;
  aspect-ratio: 1 / 1.432;
  border-radius: 290px 290px 20px 20px;
}

.about-us-image-box-2-elite {
  position: relative;
  width: 46%;
  background-color: var(--secondary-color);
  border-radius: 20px;
  margin: auto 0 100px;
  padding: 10px;
  z-index: 1;
}

.about-us-image-box-2-elite .about-us-image-elite figure img {
  aspect-ratio: 1 / 1.05;
}

.about-us-image-content-elite {
  text-align: center;
  padding: 15px 5px 5px;
}

.about-us-image-content-elite p {
  color: var(--primary-color);
  font-weight: 700;
  margin-bottom: 0;
}

.about-us-content-elite {
  height: 100%;
  align-content: center;
}

.about-us-body-elite {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 4.167vw;
}

.about-body-content-elite {
  width: calc(57% - 2.083vw);
  align-content: center;
}

.about-feature-list-elite ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.about-feature-list-elite ul li {
  position: relative;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5em;
  padding-left: 25px;
  margin-bottom: 15px;
}

.about-feature-list-elite ul li:last-child {
  margin-bottom: 0;
}

.about-feature-list-elite ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 20px;
  font-weight: 900;
  color: var(--accent-color);
  top: 0;
  left: 0;
}

.about-us-btn-elite {
  margin-top: 40px;
}

.about-contact-author-box-elite {
  position: relative;
  width: calc(43% - 2.083vw);
  align-content: center;
}

.about-contact-author-box-elite::before {
  content: "";
  position: absolute;
  top: 0;
  left: -2.083vw;
  height: 100%;
  width: 1px;
  background-color: var(--divider-color);
}

.about-contact-item-elite {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 30px;
}

.about-contact-item-elite .icon-box {
  position: relative;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.about-contact-item-elite .icon-box::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.about-contact-item-elite:hover .icon-box::before {
  transform: scale(1);
}

.about-contact-item-elite .icon-box img {
  position: relative;
  width: 100%;
  max-width: 24px;
  z-index: 1;
}

.about-contact-item-content-elite {
  width: calc(100% - 65px);
}

.about-contact-item-content-elite p {
  margin-bottom: 0;
}

.about-contact-item-content-elite h3 {
  font-size: 20px;
  margin-top: 5px;
}

.about-contact-item-content-elite h3 a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.about-contact-item-content-elite h3 a:hover {
  color: var(--accent-color);
}

.about-us-author-elite {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  margin-bottom: 30px;
}

.about-us-author-elite:last-child {
  margin-bottom: 0;
}

.about-us-author-image-elite figure {
  display: block;
  border-radius: 50%;
}

.about-us-author-image-elite img {
  width: 100%;
  max-width: 50px;
}

.about-us-author-content-elite {
  width: calc(100% - 65px);
}

.about-us-author-content-elite h3 {
  font-size: 20px;
}

.about-us-author-content-elite p {
  line-height: normal;
  margin: 5px 0 0;
}

.our-services-elite {
  background-image: url("../images/section-bg-image-2.png");
  background-repeat: no-repeat;
  background-position: bottom -20px left;
  background-size: auto;
  padding: 120px 0;
}

.service-item-elite {
  position: relative;
  border-radius: 210px;
  overflow: hidden;
}

.service-item-image-elite figure {
  position: relative;
  display: block;
  border-radius: 210px;
}

.service-item-image-elite figure::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(
    0deg,
    rgba(0, 35, 51, 0.5) 0%,
    rgba(0, 35, 51, 0.5) 100%
  );
  border-radius: 210px;
  width: 100%;
  height: 100%;
  transform: scale(0);
  visibility: hidden;
  transition: all 0.6s ease-in-out;
}

.service-slider-elite
  .swiper-slide.swiper-slide-next
  .service-item-elite
  .service-item-image-elite
  figure::before {
  visibility: visible;
  transform: scale(1);
}

.service-item-image-elite figure img {
  width: 100%;
  aspect-ratio: 1 / 1.434;
  object-fit: cover;
  border-radius: 210px;
}

.service-item-body-elite {
  position: absolute;
  top: 50%;
  left: 40px;
  right: 40px;
  transform: translateY(-50%) scale(0);
  text-align: center;
  visibility: hidden;
  transition: all 0.6s ease-in-out;
}

.service-slider-elite
  .swiper-slide.swiper-slide-next
  .service-item-elite
  .service-item-body-elite {
  visibility: visible;
  transform: translateY(-50%) scale(1);
}

.service-item-body-elite .icon-box {
  margin-bottom: 40px;
}

.service-item-body-elite .icon-box img {
  width: 100%;
  max-width: 50px;
}

.service-item-content-elite h2 {
  color: var(--white-color);
  font-size: 20px;
}

.service-item-content-elite h2 a {
  color: inherit;
}

.service-item-content-elite p {
  color: var(--white-color);
  margin: 10px 0 0;
}

.service-pagination-elite {
  text-align: center;
  margin-top: 40px;
}

.service-pagination-elite .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--divider-color);
  text-align: center;
  border-radius: 2px;
  opacity: 1;
  margin: 0 4px;
  transition: all 0.3s ease-in-out;
}

.service-pagination-elite .swiper-pagination-bullet-active {
  width: 30px;
  background: var(--accent-color);
}

.our-services-elite .section-footer-text {
  margin-top: 40px;
}

.why-choose-us-elite {
  padding: 120px 0;
}

.why-choose-us-contnet-elite {
  height: 100%;
  align-content: center;
  margin-right: 15px;
}

.why-choose-item-elite {
  border-bottom: 1px solid var(--divider-color);
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 40px;
  padding-bottom: 40px;
}

.why-choose-item-elite:last-child {
  border: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.why-choose-item-elite .icon-box img {
  width: 100%;
  max-width: 50px;
}

.why-choose-item-content-elite {
  width: calc(100% - 65px);
}

.why-choose-item-content-elite h3 {
  font-size: 20px;
}

.why-choose-item-content-elite p {
  margin: 10px 0 0;
}

.why-choose-us-btn-elite {
  margin-top: 50px;
}

.why-choose-us-image-box-elite {
  position: relative;
  height: 100%;
}

.why-choose-us-image-elite {
  height: 100%;
}

.why-choose-us-image-elite figure {
  display: block;
  height: 100%;
  border-radius: 20px;
}

.why-choose-us-image-elite figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1.075;
  object-fit: cover;
  border-radius: 20px;
}

.why-choose-item-quote-elite {
  position: absolute;
  left: 55px;
  bottom: 40px;
  max-width: 350px;
  background-color: var(--bg-color);
  border-radius: 20px;
  padding: 30px;
}

.why-choose-item-quote-elite .icon-box {
  position: absolute;
  top: -25px;
  left: -15px;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.why-choose-item-quote-elite .icon-box::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.why-choose-item-quote-elite:hover .icon-box::before {
  transform: scale(1);
}

.why-choose-item-quote-elite .icon-box img {
  position: relative;
  width: 100%;
  max-width: 30px;
  z-index: 1;
}

.why-choose-item-quote-content-elite h3 {
  font-size: 20px;
}

.our-benefits-elite {
  padding: 120px 0;
}

.benefit-item-box-elite {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  background-color: var(--dark-divider-color);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  border-radius: 20px;
  padding: 10px;
}

.benefit-item-image-box-elite {
  position: relative;
  width: calc(51% - 5px);
}

.benefit-item-image-elite {
  height: 100%;
}

.benefit-item-image-elite figure {
  position: relative;
  height: 100%;
  display: block;
  border-radius: 10px;
}

.benefit-item-image-elite figure::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: var(--primary-color);
  opacity: 20%;
  border-radius: 10px;
}

.benefit-item-image-elite figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 0.68;
  object-fit: cover;
  border-radius: 10px;
}

.benefit-item-image-box-elite .video-play-button-elite {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.video-play-button-elite a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  cursor: none;
}

.video-play-button-elite a span {
  position: relative;
  width: 70px;
  height: 70px;
  color: var(--white-color);
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.video-play-button-elite a span.bg-effect:before,
.video-play-button-elite a span.bg-effect:after {
  content: "";
  position: absolute;
  width: 160%;
  height: 160%;
  border: 35px solid var(--white-color);
  opacity: 50%;
  border-radius: 50%;
  transform: scale(0.6);
  z-index: -1;
  animation: border-zooming 1.2s infinite linear;
}

.video-play-button-elite a span.bg-effect:after {
  animation-delay: 0.3s;
}

@keyframes border-zooming {
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

.video-play-button-elite a span i {
  font-size: 26px;
  color: inherit;
  margin-left: 2px;
}

.video-play-button-elite p {
  font-weight: 600;
  color: var(--white-color);
  margin: 0;
}

.benefit-item-content-box-elite {
  width: calc(49% - 5px);
}

.benefit-item-content-box-elite {
  padding: 50px;
}

.benefit-item-content-box-elite .section-title h2 {
  font-size: 30px;
}

.benefit-item-content-box-elite .section-title p {
  margin: 10px 0 0;
}

.benefit-item-list-elite {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  border-bottom: 1px solid var(--dark-divider-color);
  margin-bottom: 30px;
  padding-bottom: 30px;
}

.benefit-item-list-elite:last-child {
  border: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.benefit-item-elite {
  position: relative;
  width: calc(50% - 10px);
  padding-left: 25px;
}

.benefit-item-elite::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
  color: var(--white-color);
  top: 5px;
  left: 0;
}

.benefit-item-elite h3 {
  font-size: 20px;
  color: var(--white-color);
}

.benefit-item-elite p {
  color: var(--white-color);
  margin: 5px 0 0;
}

.our-key-fact-elite {
  padding: 120px 0;
}

.key-fact-item-elite {
  position: relative;
  background-color: var(--secondary-color);
  border-radius: 20px;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  height: calc(100% - 30px);
  margin-bottom: 30px;
  padding: 50px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}

.key-fact-item-elite::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: var(--accent-color);
  border-radius: 20px;
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.key-fact-item-elite:hover:before {
  top: auto;
  height: 100%;
}

.key-fact-item-elite .icon-box {
  position: relative;
  z-index: 1;
}

.key-fact-item-elite .icon-box img {
  width: 100%;
  max-width: 60px;
  transition: all 0.4s ease-in-out;
}

.key-fact-item-elite:hover .icon-box img {
  filter: brightness(0) invert(1);
}

.key-fact-item-body-elite {
  position: relative;
  z-index: 1;
}

.key-fact-item-counter-elite {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}

.key-fact-counter-number-elite {
  width: calc(45% - 10px);
}

.key-fact-counter-number-elite h2 {
  font-size: 50px;
  transition: all 0.4s ease-in-out;
}

.key-fact-item-elite:hover .key-fact-counter-number-elite h2,
.key-fact-item-elite:hover .key-fact-counter-content-elite p,
.key-fact-item-elite:hover .key-fact-item-content-elite p {
  color: var(--white-color);
}

.key-fact-counter-content-elite {
  width: calc(55% - 10px);
}

.key-fact-counter-content-elite p {
  margin-bottom: 0;
  transition: all 0.4s ease-in-out;
}

.key-fact-item-content-elite {
  border-top: 1px solid var(--divider-color);
  margin-top: 30px;
  padding-top: 30px;
  transition: all 0.4s ease-in-out;
}

.key-fact-item-elite:hover .key-fact-item-content-elite {
  border-color: var(--dark-divider-color);
}

.key-fact-item-content-elite p {
  margin-bottom: 0;
  transition: all 0.4s ease-in-out;
}

.our-story-elite {
  position: relative;
  min-height: 800px;
  align-content: end;
  padding: 120px 0 80px;
}

.our-story-elite::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, transparent 57%);
  z-index: 1;
}

.our-story-elite .story-bg-video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.our-story-elite .story-bg-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.our-story-elite .container {
  position: relative;
  z-index: 1;
}

.our-story-content-elite .section-title {
  margin-bottom: 0;
}

.story-contact-info-item-elite {
  height: 100%;
  align-content: center;
  border: 1px solid var(--dark-divider-color);
  background-color: var(--divider-color);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 30px;
}

.story-contact-info-item-elite .icon-box {
  position: relative;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
  overflow: hidden;
}

.story-contact-info-item-elite .icon-box::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--white-color);
  border-radius: 50%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.story-contact-info-item-elite:hover .icon-box::before {
  transform: scale(1);
}

.story-contact-info-item-elite .icon-box img {
  width: 100%;
  max-width: 24px;
  transition: all 0.4s ease-in-out;
}

.story-contact-info-item-elite:hover .icon-box img {
  filter: brightness(0) invert(0);
}

.story-contact-info-content-elite p {
  color: var(--white-color);
  margin-bottom: 0;
}

.story-video-image-item-elite {
  position: relative;
  max-width: max-content;
}

.story-video-image-elite figure {
  position: relative;
  display: block;
  width: 295px;
  height: 205px;
  border-radius: 20px;
  mask-image: url("../images/story-video-image-shape-elite.svg");
  background-image: url("../images/story-video-image-shape-elite.svg");
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-position: center center;
}

.story-video-image-elite figure::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  opacity: 20%;
}

.story-video-image-elite figure img {
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.story-video-image-item-elite .video-play-button-elite {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.story-video-image-item-elite .video-play-button-elite a span {
  height: 50px;
  width: 50px;
}

.story-video-image-item-elite .video-play-button-elite a span i {
  font-size: 20px;
}

.our-pricing-elite {
  padding: 120px 0;
}

.pricing-item-elite {
  position: relative;
  background-color: var(--secondary-color);
  border-radius: 20px;
  height: calc(100% - 30px);
  margin-bottom: 30px;
  padding: 40px;
  overflow: hidden;
}

.pricing-item-header-elite span {
  display: inline-block;
  font-size: 20px;
  font-weight: 500;
  color: var(--primary-color);
  margin-bottom: 30px;
}

.pricing-item-header-elite h2 {
  font-size: 40px;
}

.pricing-item-header-elite h2 sub {
  font-size: 16px;
  bottom: 0;
}

.pricing-item-header-elite p {
  margin: 10px 0 0;
}

.pricing-item-body-elite {
  border-top: 1px solid var(--divider-color);
  margin-top: 40px;
  padding-top: 40px;
}

.pricing-item-list-elite h3 {
  font-size: 20px;
  margin-bottom: 20px;
}

.pricing-item-list-elite ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pricing-item-list-elite ul li {
  position: relative;
  line-height: 1.5em;
  padding-left: 25px;
  margin-bottom: 15px;
}

.pricing-item-list-elite ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
  color: var(--accent-color);
  top: 0;
  left: 0;
}

.pricing-item-btn-elite {
  margin-top: 40px;
}

.pricing-item-btn-elite .btn-default {
  width: 100%;
  text-align: center;
}

.pricing-item-elite.highlighted-box .pricing-item-header-elite {
  margin-right: 20px;
}

.pricing-item-elite.highlighted-box::after {
  content: "Popular";
  position: absolute;
  top: 20px;
  right: -75px;
  font-size: 14px;
  font-weight: 500;
  color: var(--white-color);
  background: var(--accent-color);
  width: 220px;
  height: 29px;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: rotate(44deg);
}

.pricing-benefit-list-elite {
  margin-top: 30px;
}

.pricing-benefit-list-elite ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 20px 50px;
}

.pricing-benefit-list-elite ul li {
  display: inline-flex;
  align-items: center;
  color: var(--primary-color);
}

.pricing-benefit-list-elite ul li img {
  width: 100%;
  max-width: 20px;
  margin-right: 10px;
}

.our-testimonials-elite {
  position: relative;
  background-image: url("../images/testimonial-bg-image-elite.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 120px 0;
}

.our-testimonials-elite::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(
    270deg,
    rgba(0, 0, 0, 0.8) 0%,
    rgba(0, 0, 0, 0.48) 42.23%,
    transparent 81.15%
  );
  height: 100%;
  width: 100%;
}

.our-testimonials-elite .container {
  position: relative;
  z-index: 2;
}

.testimonial-content-elite .section-title {
  margin-bottom: 80px;
}

.testimonial-slider-elite .swiper-wrapper {
  cursor: none;
}

.testimonial-item-rating-elite {
  margin-bottom: 30px;
}

.testimonial-item-rating-elite i {
  font-size: 20px;
  color: var(--white-color);
}

.testimonial-item-content-elite p {
  font-size: 20px;
  font-weight: 500;
  color: var(--white-color);
  margin-bottom: 0;
}

.testimonial-item-author-elite {
  border-top: 1px solid var(--dark-divider-color);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  margin-top: 40px;
  padding-top: 40px;
}

.testimonial-author-image-elite figure {
  display: block;
  border-radius: 50%;
}

.testimonial-author-image-elite img {
  width: 100%;
  max-width: 50px;
  object-fit: cover;
  border-radius: 50%;
}

.testimonial-author-content-elite {
  width: calc(100% - 65px);
}

.testimonial-author-content-elite h2 {
  font-size: 20px;
  color: var(--white-color);
}

.testimonial-author-content-elite p {
  color: var(--white-color);
  line-height: normal;
  margin: 5px 0 0;
}

.testimonial-btn-elite {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 20px;
  z-index: 1;
}

.testimonial-slider-elite .testimonial-button-next-elite,
.testimonial-slider-elite .testimonial-button-prev-elite {
  position: relative;
  width: 50px;
  height: 50px;
  background: var(--dark-divider-color);
  border-radius: 50%;
  transition: all 0.4s ease-in-out;
}

.testimonial-slider-elite .testimonial-button-next-elite:hover,
.testimonial-slider-elite .testimonial-button-prev-elite:hover {
  background: var(--white-color);
}

.testimonial-slider-elite .testimonial-button-next-elite::before,
.testimonial-slider-elite .testimonial-button-prev-elite::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("../images/arrow-white.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 16px auto;
  transform: rotate(45deg);
  transition: all 0.4s ease-in-out;
}

.testimonial-slider-elite .testimonial-button-prev-elite::before {
  transform: rotate(225deg);
}

.testimonial-slider-elite .testimonial-button-next-elite:hover::before,
.testimonial-slider-elite .testimonial-button-prev-elite:hover::before {
  filter: brightness(1) invert(1);
}

.our-faqs-elite {
  padding: 120px 0;
}

.faq-box-elite {
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
}

.faq-content-elite {
  width: calc(46% - 30px);
  display: flex;
  flex-direction: column;
}

.faq-image-elite {
  height: 100%;
}

.faq-image-elite figure {
  display: block;
  height: 100%;
  border-radius: 20px;
}

.faq-image-elite figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 0.473;
  object-fit: cover;
  border-radius: 20px;
}

.faq-accordion-elite {
  width: calc(54% - 30px);
  align-content: center;
}

.faq-accordion-elite .accordion-item {
  position: relative;
  background: var(--secondary-color);
  border-radius: 10px;
  margin-bottom: 25px;
  overflow: hidden;
}

.faq-accordion-elite .accordion-item:last-child {
  margin-bottom: 0;
}

.faq-accordion-elite .accordion-item .accordion-header .accordion-button {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.333em;
  color: var(--primary-color);
  padding: 18px 50px 18px 24px;
  transition: all 0.3s ease-in-out;
}

.faq-accordion-elite .accordion-item .accordion-button::after,
.faq-accordion-elite .accordion-item .accordion-button.collapsed::after {
  content: "\2b";
  font-family: "FontAwesome";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  font-weight: 400;
  color: var(--primary-color);
  transition: all 0.4s ease-in-out;
}

.faq-accordion-elite .accordion-button:not(.collapsed)::after {
  transform: translateY(-50%) rotate(45deg);
}

.faq-accordion-elite .accordion-item .accordion-body {
  border-top: 1px solid var(--divider-color);
  padding: 18px 24px;
}

.faq-accordion-elite .accordion-item .accordion-body p {
  margin: 0;
}

.company-supports-slider-box-elite {
  margin-top: 80px;
}

.company-supports-content-elite {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 40px;
  text-align: center;
}

.company-supports-content-elite hr {
  height: 1px;
  flex-grow: 1;
  color: var(--divider-color);
  opacity: 1;
  margin: 0;
}

.company-supports-content-elite h3 {
  font-size: 18px;
}

.company-supports-slider-elite {
  margin: 0 4.167vw;
}

.company-supports-logo-elite {
  text-align: center;
}

.company-supports-logo-elite img {
  width: 100%;
  max-width: 170px;
  height: 40px;
}

.book-apoointment-elite {
  background-image: url("../images/section-bg-image-2.png");
  background-repeat: no-repeat;
  background-position: bottom -20px left;
  background-size: auto;
  padding: 120px 0;
}

.appointment-content-elite {
  position: sticky;
  top: 30px;
  margin-right: 15px;
}

.appointment-content-elite .section-title {
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 40px;
}

.appointment-working-box-elite {
  max-width: 485px;
  background-color: var(--bg-color);
  border-radius: 20px;
  overflow: hidden;
}

.appointment-working-box-elite h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  color: var(--white-color);
  background-color: var(--accent-color);
  padding: 21px 30px;
}

.appointment-working-box-elite i {
  font-size: 24px;
  color: var(--white-color);
}

.appointment-working-box-elite ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.appointment-working-box-elite ul li {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  border-bottom: 1px solid var(--divider-color);
  padding: 26px;
}

.appointment-working-box-elite ul li:last-child {
  border: none;
}

.appointment-working-box-elite ul li span {
  min-width: 45%;
}

.appointment-form-elite {
  background-color: var(--bg-color);
  border-radius: 20px;
  padding: 60px;
}

.appointment-form-elite .section-title {
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 40px;
}

.appointment-form-elite form .form-group label {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-color);
  margin-bottom: 15px;
}

.appointment-form-elite .form-control {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em;
  color: var(--primary-color);
  border: 1px solid var(--divider-color);
  background-color: transparent;
  border-radius: 10px;
  padding: 12px 20px;
  outline: none;
  box-shadow: none;
}

.appointment-form-elite .form-control::placeholder {
  color: var(--text-color);
  opacity: 50%;
}

.book-apoointment-elite input[type="date"]::-webkit-calendar-picker-indicator {
  filter: none;
  opacity: 40%;
  cursor: pointer;
}

input[type="date"]:focus::-webkit-datetime-edit-text,
input[type="date"]:focus::-webkit-datetime-edit-month-field,
input[type="date"]:focus::-webkit-datetime-edit-day-field,
input[type="date"]:focus::-webkit-datetime-edit-year-field,
input[type="date"]:valid::-webkit-datetime-edit-text,
input[type="date"]:valid::-webkit-datetime-edit-month-field,
input[type="date"]:valid::-webkit-datetime-edit-day-field,
input[type="date"]:valid::-webkit-datetime-edit-year-field {
  color: var(--primary-color);
}

.main-footer-elite {
  padding: 100px 0 0;
}

.footer-header-elite {
  border-bottom: 1px solid var(--dark-divider-color);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-bottom: 80px;
  margin-bottom: 80px;
}

.footer-header-elite .section-title {
  max-width: 640px;
  margin-bottom: 0;
}

.footer-header-elite .section-title h2 {
  font-size: 40px;
}

.about-footer-elite {
  max-width: 330px;
}

.footer-logo-elite img {
  width: 100%;
  max-width: 174px;
}

.about-footer-content-elite {
  margin-top: 20px;
}

.about-footer-content-elite p {
  color: var(--white-color);
  margin: 0;
}

.footer-social-links-elite {
  margin-top: 30px;
}

.footer-social-links-elite ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin: 0;
  padding: 0;
}

.footer-social-links-elite ul li a {
  width: 40px;
  height: 40px;
  color: var(--white-color);
  border: 1px solid var(--dark-divider-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease-in-out;
}

.footer-social-links-elite ul li a:hover {
  background: var(--white-color);
  border-color: var(--white-color);
  color: var(--accent-color);
}

.footer-social-links-elite ul li a i {
  font-size: 18px;
  color: inherit;
}

.footer-links-box-elite {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
  margin-left: 40px;
}

.footer-links-elite {
  max-width: 33%;
}

.footer-links-elite h2 {
  font-size: 20px;
  color: var(--white-color);
  margin-bottom: 30px;
}

.footer-links-elite ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-links-elite ul li {
  position: relative;
  color: var(--white-color);
  line-height: 1.5em;
  padding-left: 25px;
  margin-bottom: 15px;
}

.footer-links-elite ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 400;
  color: var(--white-color);
  top: 0;
  left: 0;
}

.footer-links-elite ul li:last-child {
  margin-bottom: 0;
}

.footer-links-elite ul li a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.footer-links-elite ul li a:hover {
  color: var(--primary-color);
}

.footer-contact-list-elite {
  margin-bottom: 30px;
}

.footer-contact-list-elite:last-child {
  margin-bottom: 0;
}

.footer-contact-list-elite h3 {
  color: var(--secondary-color);
  font-size: 16px;
  font-weight: 400;
}

.footer-contact-list-elite p {
  color: var(--white-color);
  font-weight: 500;
  margin: 10px 0 0;
}

.footer-contact-list-elite p a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.footer-contact-list-elite p a:hover {
  color: var(--primary-color);
}

.footer-copyright-elite {
  border-top: 1px solid var(--dark-divider-color);
  text-align: center;
  padding: 60px 0;
  margin-top: 60px;
}

.footer-copyright-text-elite p {
  color: var(--white-color);
  margin-bottom: 0;
}

@media only screen and (max-width: 1024px) {
  .hero-elite {
    min-height: 800px;
  }

  .hero-elite::before {
    background: var(--primary-color);
    opacity: 50%;
  }

  .about-us-image-box-elite {
    max-width: 740px;
    height: auto;
    margin: 0 auto 30px;
  }

  .about-us-image-elite,
  .about-us-image-box-1-elite .about-us-image-elite figure,
  .about-us-image-box-1-elite .about-us-image-elite figure img,
  .about-us-content-elite {
    height: auto;
  }

  .about-us-image-box-1-elite .about-us-image-elite figure img {
    aspect-ratio: 1 / 1.3;
  }

  .about-us-image-box-2-elite .about-us-image-elite figure img {
    aspect-ratio: 1 / 0.99;
  }

  .our-services-elite {
    background-position: bottom -10px left;
    background-size: 350px auto;
  }

  .service-item-body-elite {
    left: 30px;
    right: 30px;
  }

  .why-choose-us-contnet-elite {
    height: auto;
    margin: 0 0 30px;
  }

  .why-choose-item-elite {
    margin-bottom: 30px;
    padding-bottom: 30px;
  }

  .why-choose-us-btn-elite {
    margin-top: 30px;
  }

  .why-choose-us-image-box-elite {
    height: auto;
    max-width: 740px;
    margin: 0 auto;
  }

  .why-choose-us-image-elite,
  .why-choose-us-image-elite figure,
  .why-choose-us-image-elite figure img {
    height: auto;
  }

  .why-choose-us-image-elite figure img {
    aspect-ratio: 1 / 0.95;
  }

  .benefit-item-content-box-elite {
    padding: 20px;
  }

  .our-story-elite::before {
    background: var(--primary-color);
    opacity: 50%;
  }

  .our-story-content-elite .section-title {
    margin-bottom: 40px;
  }

  .story-video-image-item-elite {
    margin-left: auto;
  }

  .our-testimonials-elite::before {
    background-color: var(--primary-color);
    opacity: 50%;
  }

  .faq-box-elite {
    gap: 30px;
  }

  .faq-content-elite,
  .faq-accordion-elite {
    width: 100%;
  }

  .faq-image-elite,
  .faq-image-elite figure,
  .faq-image-elite figure img {
    height: auto;
  }

  .book-apoointment-elite {
    background-position: bottom -10px left;
    background-size: 350px auto;
  }

  .appointment-content-elite {
    position: initial;
    margin: 0 0 30px;
  }

  .footer-header-elite {
    margin-bottom: 30px;
    padding-bottom: 30px;
  }

  .about-footer-elite {
    max-width: 100%;
    margin-bottom: 30px;
  }

  .about-footer-content-elite {
    margin-top: 15px;
  }

  .footer-social-links-elite {
    margin-top: 20px;
  }

  .footer-links-box-elite {
    margin: 0;
  }

  .footer-links-elite h2 {
    margin-bottom: 20px;
  }

  .footer-links-elite ul li {
    margin-bottom: 10px;
  }

  .footer-links-elite ul li::before {
    font-size: 16px;
  }

  .footer-contact-list-elite {
    margin-bottom: 20px;
  }

  .footer-copyright-elite {
    padding: 30px 0;
    margin-top: 30px;
  }
}

@media only screen and (max-width: 991px) {
  .hero-elite {
    padding: 150px 0 60px;
  }

  .hero-client-rating-star-elite i {
    font-size: 14px;
  }

  .hero-feature-list-elite {
    margin-top: 30px;
    padding-top: 30px;
  }

  .hero-feature-list-elite ul {
    gap: 10px;
  }

  .hero-feature-list-elite ul li {
    width: 100%;
  }

  .about-us-elite {
    padding: 60px 0px;
  }

  .about-feature-list-elite ul li {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .about-feature-list-elite ul li::before {
    font-size: 18px;
  }

  .about-us-btn-elite {
    margin-top: 30px;
  }

  .our-services-elite {
    padding: 60px 0;
  }

  .service-item-image-elite figure img {
    aspect-ratio: 1 / 1.35;
  }

  .service-item-image-elite figure::before {
    visibility: visible;
    transform: scale(1);
  }

  .service-item-body-elite {
    right: 30px;
    left: 30px;
    transform: translateY(-50%) scale(1);
    visibility: visible;
  }

  .service-item-body-elite .icon-box {
    margin-bottom: 30px;
  }

  .service-pagination-elite {
    margin-top: 30px;
  }

  .our-services-elite .section-footer-text {
    margin-top: 30px;
  }

  .why-choose-us-elite {
    padding: 60px 0;
  }

  .why-choose-item-quote-elite {
    bottom: 30px;
    left: 45px;
    padding: 20px 20px 20px 30px;
  }

  .our-benefits-elite {
    padding: 60px 0;
  }

  .benefit-item-image-box-elite {
    width: calc(39% - 5px);
  }

  .video-play-button-elite a span {
    height: 50px;
    width: 50px;
  }

  .video-play-button-elite a span i {
    font-size: 20px;
  }

  .benefit-item-content-box-elite {
    width: calc(61% - 5px);
    padding: 15px;
  }

  .benefit-item-content-box-elite .section-title h2 {
    font-size: 26px;
  }

  .benefit-item-list-elite {
    gap: 20px;
  }

  .benefit-item-elite {
    width: calc(50% - 10px);
    padding-left: 22px;
  }

  .benefit-item-elite::before {
    font-size: 16px;
  }

  .our-key-fact-elite {
    padding: 60px 0;
  }

  .key-fact-item-elite {
    min-height: auto;
    padding: 30px;
  }

  .key-fact-item-elite .icon-box img {
    max-width: 50px;
  }

  .key-fact-counter-number-elite {
    width: calc(40% - 10px);
  }

  .key-fact-counter-number-elite h2 {
    font-size: 38px;
  }

  .key-fact-counter-content-elite {
    width: calc(60% - 10px);
  }

  .our-story-elite {
    min-height: 700px;
    padding: 60px 0;
  }

  .our-story-content-elite .section-title {
    margin-bottom: 30px;
  }

  .our-pricing-elite {
    padding: 60px 0;
  }

  .pricing-item-elite {
    padding: 30px;
  }

  .pricing-item-header-elite span {
    margin-bottom: 20px;
  }

  .pricing-item-header-elite h2 {
    font-size: 34px;
  }

  .pricing-item-body-elite {
    padding-top: 30px;
    margin-top: 30px;
  }

  .pricing-item-list-elite h3 {
    margin-bottom: 15px;
  }

  .pricing-item-list-elite ul li {
    margin-bottom: 10px;
    padding-left: 22px;
  }

  .pricing-item-list-elite ul li::before {
    font-size: 16px;
  }

  .pricing-item-btn-elite {
    margin-top: 30px;
  }

  .pricing-benefit-list-elite {
    margin-top: 10px;
  }

  .pricing-benefit-list-elite ul {
    gap: 15px 30px;
  }

  .pricing-benefit-list-elite ul li img {
    max-width: 18px;
  }

  .our-testimonials-elite {
    padding: 60px 0;
  }

  .testimonial-content-elite .section-title {
    margin-bottom: 40px;
  }

  .testimonial-item-rating-elite {
    margin-bottom: 20px;
  }

  .testimonial-item-rating-elite i {
    font-size: 18px;
  }

  .testimonial-item-content-elite p {
    font-size: 18px;
  }

  .testimonial-item-author-elite {
    margin-top: 30px;
    padding-top: 30px;
  }

  .our-faqs-elite {
    padding: 60px 0;
  }

  .faq-accordion-elite .accordion-item {
    margin-bottom: 20px;
  }

  .faq-accordion-elite .accordion-item .accordion-header .accordion-button {
    padding: 15px 45px 15px 20px;
  }

  .faq-accordion-elite .accordion-item .accordion-button::after,
  .faq-accordion-elite .accordion-item .accordion-button.collapsed::after {
    font-size: 18px;
    right: 20px;
  }

  .faq-accordion-elite .accordion-item .accordion-body {
    padding: 15px 20px;
  }

  .company-supports-slider-box-elite {
    margin-top: 40px;
  }

  .company-supports-content-elite {
    margin-bottom: 30px;
  }

  .company-supports-slider-elite {
    margin: 0;
  }

  .company-supports-logo-elite img {
    max-width: 150px;
    height: 34px;
  }

  .book-apoointment-elite {
    padding: 60px 0;
  }

  .appointment-content-elite .section-title {
    padding-bottom: 30px;
  }

  .appointment-working-box-elite i {
    font-size: 22px;
  }

  .appointment-working-box-elite h2,
  .appointment-working-box-elite ul li {
    padding: 20px;
  }

  .appointment-form-elite {
    padding: 30px;
  }

  .appointment-form-elite .section-title {
    padding-bottom: 30px;
  }

  .appointment-form-elite form .form-group label {
    margin-bottom: 10px;
  }

  .appointment-form-elite .form-control {
    padding: 10px 20px;
  }

  .main-footer-elite {
    padding: 50px 0 0;
  }

  .footer-header-elite .section-title {
    max-width: 500px;
  }

  .footer-header-elite .section-title h2 {
    font-size: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .hero-content-body-elite {
    gap: 20px;
  }

  .hero-feature-list-elite ul li {
    font-size: 16px;
    padding-left: 22px;
  }

  .hero-feature-list-elite ul li::before {
    font-size: 16px;
  }

  .about-us-image-box-1-elite {
    width: 50%;
  }

  .about-us-image-box-1-elite .about-us-image-elite figure {
    margin-right: -90px;
  }

  .about-us-image-box-2-elite {
    width: 50%;
    border-radius: 14px;
    margin: auto 0 50px;
    padding: 5px;
  }

  .about-us-image-content-elite {
    padding: 5px 0 0;
  }

  .about-us-image-content-elite p {
    font-size: 14px;
  }

  .about-body-content-elite {
    width: 100%;
  }

  .about-feature-list-elite ul li {
    font-size: 16px;
    padding-left: 22px;
  }

  .about-feature-list-elite ul li::before {
    font-size: 16px;
  }

  .about-contact-item-content-elite h3,
  .about-us-author-content-elite h3 {
    font-size: 18px;
  }

  .about-contact-item-elite {
    margin-bottom: 20px;
  }

  .about-contact-author-box-elite {
    width: 100%;
  }

  .about-contact-author-box-elite::before {
    top: -15px;
    left: auto;
    width: 100%;
    height: 1px;
  }

  .our-services-elite {
    background-position: bottom -5px left;
    background-size: 200px auto;
  }

  .service-item-body-elite {
    right: 20px;
    left: 20px;
  }

  .service-item-body-elite .icon-box {
    margin-bottom: 20px;
  }

  .service-item-content-elite h2 {
    font-size: 18px;
  }

  .service-item-content-elite p {
    margin: 5px 0 0;
  }

  .why-choose-item-content-elite h3 {
    font-size: 18px;
  }

  .why-choose-item-content-elite p {
    margin: 5px 0 0;
  }

  .why-choose-item-quote-elite {
    left: 30px;
    bottom: 20px;
    right: 20px;
    border-radius: 14px;
    padding: 15px 15px 15px 20px;
  }

  .why-choose-item-quote-elite .icon-box {
    top: -20px;
    height: 40px;
    width: 40px;
  }

  .why-choose-item-quote-elite .icon-box img {
    max-width: 24px;
  }

  .why-choose-item-quote-content-elite h3 {
    font-size: 16px;
  }

  .benefit-item-image-box-elite {
    width: 100%;
  }

  .benefit-item-content-box-elite {
    width: 100%;
    padding: 10px;
  }

  .benefit-item-content-box-elite .section-title h2 {
    font-size: 22px;
  }

  .benefit-item-list-elite {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .benefit-item-elite {
    width: 100%;
  }

  .benefit-item-elite h3 {
    font-size: 18px;
  }

  .key-fact-item-elite {
    gap: 20px;
    padding: 20px;
  }

  .key-fact-counter-number-elite {
    width: calc(30% - 10px);
  }

  .key-fact-counter-number-elite h2 {
    font-size: 26px;
  }

  .key-fact-counter-content-elite {
    width: calc(70% - 10px);
  }

  .key-fact-item-content-elite {
    margin-top: 20px;
    padding-top: 20px;
  }

  .our-story-elite {
    min-height: auto;
  }

  .story-contact-info-item-elite {
    height: auto;
    padding: 20px;
  }

  .story-contact-info-item-elite .icon-box {
    margin-bottom: 20px;
  }

  .story-video-image-item-elite {
    margin: 30px auto 0;
  }

  .pricing-item-elite {
    padding: 20px;
  }

  .pricing-item-header-elite span {
    font-size: 18px;
  }

  .pricing-item-header-elite h2 {
    font-size: 28px;
  }

  .pricing-item-header-elite h2 sub {
    font-size: 14px;
  }

  .pricing-item-body-elite {
    padding-top: 20px;
    margin-top: 20px;
  }

  .pricing-item-list-elite h3 {
    font-size: 18px;
  }

  .pricing-benefit-list-elite {
    margin-top: 5px;
  }

  .pricing-benefit-list-elite ul {
    gap: 10px 20px;
  }

  .pricing-benefit-list-elite ul li {
    font-size: 14px;
  }

  .pricing-benefit-list-elite ul li img {
    max-width: 16px;
    margin-right: 5px;
  }

  .testimonial-item-rating-elite {
    margin-bottom: 20px;
  }

  .testimonial-item-rating-elite i,
  .testimonial-item-content-elite p {
    font-size: 16px;
  }

  .testimonial-item-author-elite {
    margin-top: 20px;
    padding-top: 20px;
  }

  .testimonial-author-content-elite h2 {
    font-size: 18px;
  }

  .testimonial-btn-elite {
    position: initial;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
  }

  .testimonial-slider-elite .testimonial-button-next-elite,
  .testimonial-slider-elite .testimonial-button-prev-elite {
    width: 40px;
    height: 40px;
  }

  .testimonial-slider-elite .testimonial-button-next-elite::before,
  .testimonial-slider-elite .testimonial-button-prev-elite::before {
    background-size: 14px auto;
  }

  .faq-image-elite figure img {
    aspect-ratio: 1 / 0.6;
  }

  .faq-accordion-elite .accordion-item .accordion-header .accordion-button {
    font-size: 16px;
    padding: 10px 38px 10px 15px;
  }

  .faq-accordion-elite .accordion-item .accordion-button::after,
  .faq-accordion-elite .accordion-item .accordion-button.collapsed::after {
    font-size: 16px;
    right: 15px;
  }

  .faq-accordion-elite .accordion-item .accordion-body {
    padding: 10px 15px;
  }

  .company-supports-content-elite {
    justify-content: center;
    margin-bottom: 20px;
  }

  .company-supports-content-elite h3 {
    font-size: 16px;
  }

  .company-supports-content-elite hr {
    display: none;
  }

  .book-apoointment-elite {
    background-position: bottom -5px left;
    background-size: 200px auto;
  }

  .appointment-working-box-elite h2 {
    font-size: 18px;
    padding: 15px;
  }

  .appointment-working-box-elite i {
    font-size: 20px;
  }

  .appointment-working-box-elite ul li {
    gap: 20px;
    padding: 15px;
  }

  .appointment-form-elite {
    padding: 20px;
  }

  .footer-header-elite .section-title h2 {
    font-size: 20px;
  }

  .footer-links-elite {
    max-width: 100%;
  }

  .footer-links-elite h2 {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .footer-contact-list-elite p {
    margin: 5px 0 0;
  }

  .footer-copyright-elite {
    padding: 15px 0;
  }
}

/************************************/
/***   35. Home - Version 3 css   ***/
/************************************/

.hero-royal {
  position: relative;
  align-content: end;
  padding: 130px 0 40px;
  overflow: hidden;
  z-index: 1;
}

.hero-royal::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%, rgba(0, 0, 0, 0.8) 100%);
  z-index: 1;
}

.hero-royal .hero-bg-video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero-royal .hero-bg-video video {
  width: 100%;
  height: 100%;
  /* cover (full-bleed, no side gaps) but anchored to the bottom: any excess height gets
     trimmed off the TOP instead of split evenly top/bottom, so the bottom of the footage
     — where "contain" left ugly side gaps trying to avoid cropping it — stays fully
     visible while the background still fills edge to edge. */
  object-fit: cover;
  object-position: center bottom;
}

/* YouTube background: fill + crop so the video covers the hero with no black bars,
   and YouTube's own title/controls/play button stay outside the visible area.
   pointer-events:none blocks hover/click so no YouTube UI ever appears. */
.hero-royal .hero-bg-video {
  overflow: hidden;
}
.hero-royal .hero-bg-video .hero-bg-yt {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw; /* 16:9 by viewport width */
  min-width: 177.78vh; /* 16:9 by viewport height (guarantees cover) */
  min-height: 100vh;
  transform: translate(-50%, -50%) scale(1.35);
  transform-origin: center center;
  border: 0;
  pointer-events: none;
}

.hero-royal .container {
  position: relative;
  z-index: 2;
}

.hero-content-royal {
  margin-right: 15px;
}

.hero-content-royal .section-title {
  margin-bottom: 0;
  transform: translateY(40%);
}

.hero-content-royal .section-title h1 {
  line-height: 1.1em;
  margin-top: 30px;
}
/* The text-anime-style-3 reveal animation splits its heading into one block-level
   "line" per word (its own inline style), stacking every word on its own row — fine
   for a single short phrase, but it defeats an intentional <br> here: "Illness to
   Wellness" and "With MSG Naturopathy" need to each read as one line, not six. Forcing
   its per-word wrappers back to inline-block lets them flow together on a row again;
   the real line break still comes from the <br> in the title itself. */
.hero-content-royal .section-title h1 .split-line {
  display: inline-block !important;
}

.hero-content-royal .section-title .section-sub-title {
  background-color: var(--dark-divider-color);
  backdrop-filter: blur(50px);
  -webkit-backdrop-filter: blur(50px);
  border: transparent;
}

.hero-content-royal .section-title p {
  font-size: 18px;
  max-width: 670px;
}

.hero-content-body-royal {
  max-width: 670px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  padding-top: 40px;
  margin-top: 100px;
}

.video-play-button-royal a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  cursor: none;
}

.video-play-button-royal a span {
  position: relative;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  border-radius: 50%;
  color: var(--white-color);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.4s ease-in-out;
}

.hero-content-body-royal .video-play-button-royal a:hover > span {
  background-color: var(--white-color);
  color: var(--accent-color);
}

.video-play-button-royal a span.bg-effect:before,
.video-play-button-royal a span.bg-effect:after {
  content: "";
  position: absolute;
  width: 160%;
  height: 160%;
  border: 35px solid var(--white-color);
  opacity: 50%;
  border-radius: 50%;
  transform: scale(0.6);
  z-index: -1;
  animation: border-zooming 1.2s infinite linear;
}

.video-play-button-royal a span.bg-effect:after {
  animation-delay: 0.3s;
}

@keyframes border-zooming {
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

.video-play-button-royal a span i {
  font-size: 16px;
  color: inherit;
  margin-left: 2px;
}

.video-play-button-royal p {
  font-size: 16px;
  font-weight: 600;
  color: var(--white-color);
  margin: 0;
  white-space: nowrap;
}

/* .video-play-button-royal a span (the round icon) matches ANY span descendant of the
   anchor, including a .rz-number span used for a phone number inside the <p> — reset it
   back to plain inline text so the icon's 50x50 flex-circle styling doesn't apply here. */
.video-play-button-royal p span {
  display: inline;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
  color: inherit;
}

/* Hero "Call us today" button — same green pill treatment as the Book Appointment
   button next to it, with the phone icon kept in its own white circle inside. */
.rz-call-btn a {
  background: var(--accent-color);
  border-radius: 100px;
  padding: 17px 24px 17px 5px;
  gap: 12px;
  height: 50px;
  box-sizing: border-box;
}

.rz-call-btn a > span {
  width: 40px;
  height: 40px;
}

.rz-call-btn a > span {
  background: var(--white-color);
  color: var(--accent-color);
}

.rz-call-btn a:hover > span {
  background: var(--primary-color);
  color: var(--white-color);
}

.rz-call-btn a p span {
  background: none;
}

.rz-call-label {
  font-size: 19px;
}

/* Mobile browsers paint a default grey/white tap-highlight flash over a link on touch
   (and some desktop browsers show a focus outline) — suppress it so tapping/hovering
   this pill never shows a white overlay. */
.rz-call-btn a,
.rz-call-btn a * {
  -webkit-tap-highlight-color: transparent;
}

.rz-call-btn a:focus,
.rz-call-btn a:active {
  outline: none;
  background: var(--accent-color);
}

.hero-client-review-box-royal {
  max-width: max-content;
  border: 1px solid var(--dark-divider-color);
  background-color: var(--divider-color);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 65px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin: 40px 0 0 auto;
  padding: 30px;
}

.hero-client-review-content-royal h2 {
  font-size: 46px;
  line-height: 1em;
  color: var(--white-color);
  display: flex;
  align-items: center;
}

.hero-client-review-content-royal .hero-client-rating-star-royal {
  margin-left: 5px;
  line-height: 0;
}

.hero-client-review-content-royal .hero-client-rating-star-royal i {
  font-size: 30px;
}

.hero-client-review-content-royal p {
  color: var(--white-color);
  font-weight: 500;
  margin: 5px 0 0;
}

.hero-info-item-list-royal {
  border-top: 1px solid var(--dark-divider-color);
  margin-top: 10px;
  margin-bottom: -36px;
  padding-top: 50px;
}

.hero-info-item-royal {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  height: auto;
}

.hero-info-item-royal .icon-box img {
  width: 100%;
  max-width: 50px;
  /* admin-uploaded icons come in their own dark colour — force them white to sit on
     the hero's dark background photo. */
  filter: brightness(0) invert(1);
}

.hero-info-item-content-royal {
  width: calc(100% - 65px);
}

.hero-info-item-content-royal h3 {
  font-size: 20px;
  color: var(--white-color);
}

.hero-info-item-content-royal p {
  color: var(--white-color);
  margin: 10px 0 0;
}

/* Hero info cards: always a Swiper slider (mobile through desktop) — 1/2/3 per view
   depending on breakpoint, set in function.js. Dividers between visible cards are drawn
   with a border on the slide rather than an absolutely-positioned pseudo-element, since
   Swiper — not this CSS — now owns each slide's width. */
.hero-info-item-list-royal .swiper-slide {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
  height: auto;
}
.hero-info-item-list-royal .swiper-wrapper {
  align-items: stretch;
}
@media (min-width: 768px) {
  .hero-info-item-list-royal .swiper-slide:not(:last-child) {
    border-right: 1px solid var(--dark-divider-color);
    padding-right: 2.083vw;
  }
}
.hero-info-pagination {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin-top: 22px;
}
.hero-info-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  margin: 0 !important;
  background: var(--white-color);
  opacity: 0.45;
  transition: opacity 0.3s ease, width 0.3s ease;
}
.hero-info-pagination .swiper-pagination-bullet-active {
  opacity: 1;
  width: 22px;
  border-radius: 2px;
}

.about-us-royal {
  padding: 120px 0;
}

.about-us-image-box-royal {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-right: 15px;
}

.about-us-image-box-1-royal {
  width: calc(60% - 10px);
}

.about-us-image-royal {
  height: 100%;
}

.about-us-image-royal figure {
  display: block;
  height: 100%;
  border-radius: 20px;
}

.about-us-image-royal figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.about-us-image-box-1-royal .about-us-image-royal figure img {
  aspect-ratio: 1 / 1.93;
}

.about-us-image-box-2-royal {
  position: relative;
  width: calc(40% - 10px);
  display: flex;
  flex-direction: column;
  z-index: 1;
}

.about-us-image-box-2-royal .about-us-image-royal figure img {
  aspect-ratio: 1 / 1.685;
}

.about-us-client-box-royal {
  position: relative;
  background: var(--bg-color);
  border: 20px solid var(--bg-color);
  border-radius: 0 0 0 20px;
  border-right: 0;
  border-top: 0;
  margin-left: -100px;
}

.about-us-client-box-royal::before,
.about-us-client-box-royal::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  mask: url("../images/image-corner-bg-shape.svg");
  -webkit-mask: url("../images/image-corner-bg-shape.svg");
  background-color: var(--bg-color);
  mask-repeat: no-repeat;
  mask-size: cover;
  z-index: 1;
}

.about-us-client-box-royal:before {
  left: 40px;
  bottom: -40px;
}

.about-us-client-box-royal:after {
  top: 0;
  left: -40px;
}

.about-us-client-body-royal {
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 30px;
}

.about-us-client-header-royal {
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 25px;
  margin-bottom: 25px;
}

.about-us-client-header-content-royal {
  margin-bottom: 15px;
}

.about-us-client-header-content-royal p {
  font-weight: 500;
  margin-bottom: 0;
}

.about-us-client-content-royal h2 {
  font-size: 46px;
  line-height: 1em;
  margin-bottom: 5px;
}

.about-us-client-content-royal p {
  font-weight: 500;
  margin-bottom: 0;
}

.about-us-client-content-royal .about-us-client-rating-star-royal i {
  font-size: 16px;
  color: var(--accent-color);
}

.about-us-body-royal {
  border-left: 2px solid var(--accent-color);
  background: linear-gradient(270deg, transparent 17.72%, #eff2e7 100%);
  border-radius: 20px;
  margin-bottom: 30px;
  padding: 30px;
}

.about-us-item-list-royal {
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.about-us-item-royal {
  margin-bottom: 30px;
}

.about-us-item-royal:last-child {
  margin-bottom: 0;
}

.about-us-item-royal h3 {
  font-size: 20px;
}

.about-us-item-royal p {
  margin: 10px 0 0;
}

.about-us-body-list-royal ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 0;
  margin: 0;
}

.about-us-body-list-royal ul li {
  position: relative;
  width: calc(50% - 10px);
  padding-left: 25px;
}

.about-us-body-list-royal ul li::before {
  content: "\2a";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
  color: var(--accent-color);
  top: 0;
  left: 0;
}

.about-us-counter-list-royal {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.about-us-counter-item-royal {
  width: calc(50% - 15px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}

.about-us-counter-item-royal .icon-box {
  position: relative;
  width: 60px;
  height: 60px;
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.about-us-counter-item-royal .icon-box::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.about-us-counter-item-royal:hover .icon-box::before {
  transform: scale(1);
}

.about-us-counter-item-royal .icon-box img {
  position: relative;
  width: 100%;
  max-width: 30px;
  z-index: 1;
}

.about-us-counter-item-content-royal {
  width: calc(100% - 75px);
}

.about-us-counter-item-content-royal h2 {
  font-size: 40px;
  line-height: 1em;
}

.about-us-counter-item-content-royal p {
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
  margin: 5px 0 0;
}

.about-us-content-btn-royal {
  border-top: 1px solid var(--divider-color);
  padding-top: 40px;
  margin-top: 40px;
}

.our-services-royal {
  background-image: url("../images/section-bg-image-2.png");
  background-repeat: no-repeat;
  background-position: bottom -20px left;
  background-size: auto;
  padding: 120px 0;
}

.service-item-royal {
  position: relative;
  height: calc(100% - 30px);
  min-height: 410px;
  background: var(--bg-color);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  padding: 40px 35px;
  margin-bottom: 30px;
  overflow: hidden;
}

.service-item-royal::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--accent-color);
  border-radius: 999px 999px 0 0;
  width: 100%;
  height: 0;
  transition: all 0.4s ease-in-out;
}

.service-item-royal:hover:before {
  height: 100%;
  border-radius: 20px;
  top: auto;
}

.service-item-royal .icon-box img {
  position: relative;
  width: 100%;
  max-width: 50px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}

.service-item-royal:hover .icon-box img {
  filter: brightness(0) invert(1);
}

.service-item-body-royal {
  position: relative;
  z-index: 1;
}

.service-item-content-royal h2 {
  font-size: 20px;
  transition: all 0.4s ease-in-out;
}

.service-item-content-royal h2 a {
  color: inherit;
}

.service-item-content-royal p {
  margin: 10px 0 0;
  transition: all 0.4s ease-in-out;
}

.service-item-btn-royal {
  position: relative;
  border-top: 1px solid var(--divider-color);
  padding-top: 30px;
  margin-top: 30px;
  z-index: 1;
  transition: all 0.4s ease-in-out;
}

.service-item-royal:hover .service-item-btn-royal {
  border-color: var(--dark-divider-color);
}

.service-item-btn-royal .readmore-btn {
  transition: all 0.3s ease-in-out;
}

.service-item-royal:hover .service-item-content-royal h2,
.service-item-royal:hover .service-item-content-royal p,
.service-item-royal:hover .service-item-btn-royal .readmore-btn {
  color: var(--white-color);
}

.service-item-royal:hover .service-item-btn-royal .readmore-btn::before {
  background-color: var(--white-color);
  background-image: url("../images/arrow-accent.svg");
}

.our-feature-royal {
  padding: 120px 0;
}

.feature-item-royal {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 40px;
}

.feature-item-royal:last-child {
  margin-bottom: 0;
}

.feature-item-royal .icon-box img {
  width: 100%;
  max-width: 50px;
  transition: all 0.4s ease-in-out;
}

.feature-item-royal:hover .icon-box img {
  filter: brightness(0) invert(0);
}

.feature-item-content-royal {
  width: calc(100% - 70px);
}

.feature-item-content-royal h3 {
  font-size: 20px;
}

.feature-item-content-royal p {
  margin: 10px 0 0;
}

.feature-content-body-royal {
  border-top: 1px solid var(--divider-color);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 30px;
  padding-top: 40px;
  margin-top: 40px;
}

.feature-contact-item-royal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}

.feature-contact-item-royal .icon-box {
  position: relative;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.feature-contact-item-royal .icon-box::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.feature-contact-item-royal:hover .icon-box::before {
  transform: scale(1);
}

.feature-contact-item-royal .icon-box img {
  position: relative;
  width: 100%;
  max-width: 24px;
  z-index: 1;
}

.feature-contact-item-content-royal p {
  margin-bottom: 0;
}

.feature-contact-item-content-royal h3 {
  font-size: 20px;
  margin-top: 5px;
}

.feature-contact-item-content-royal h3 a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.feature-contact-item-content-royal h3 a:hover {
  color: var(--accent-color);
}

.feature-image-box-royal {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-left: 15px;
  padding-left: 40px;
}

.feature-image-box-royal::before {
  content: "";
  position: absolute;
  left: 45px;
  bottom: 50px;
  background-image: url("../images/section-bg-image-1.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  transform: rotate(33deg);
  width: 105px;
  height: 205px;
}

.feature-cta-box-royal {
  position: relative;
  width: 41%;
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 10px;
  z-index: 2;
}

.feature-cta-image-royal {
  margin-bottom: 10px;
}

.feature-cta-image-royal figure {
  display: block;
  border-radius: 10px;
}

.feature-cta-image-royal figure img {
  width: 100%;
  aspect-ratio: 1 / 1.051;
  object-fit: cover;
  border-radius: 10px;
}

.feature-cta-contact-item-list-royal {
  padding: 0 15px;
}

.feature-cta-contact-item-royal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}

.feature-cta-contact-item-royal:last-child {
  margin-bottom: 0;
}

.feature-cta-contact-item-royal .icon-box {
  width: 30px;
  height: 30px;
  border: 2px solid var(--accent-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease-in-out;
}

.feature-cta-contact-item-royal .icon-box img {
  width: 100%;
  max-width: 14px;
  transition: all 0.4s ease-in-out;
}

.feature-cta-contact-item-content-royal {
  width: calc(100% - 45px);
}

.feature-cta-contact-item-content-royal h3 {
  font-size: 16px;
}

.feature-cta-contact-item-content-royal h3 a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.feature-cta-contact-item-content-royal h3 a:hover {
  color: var(--accent-color);
}

.feature-image-royal {
  width: 59%;
}

.feature-image-royal figure {
  display: block;
  border-radius: 260px;
  margin-left: -144px;
}

.feature-image-royal figure img {
  width: 100%;
  aspect-ratio: 1 / 1.44;
  object-fit: cover;
  border-radius: 260px;
}

.why-choose-us-royal {
  background-image: url("../images/section-bg-image-3.png");
  background-size: auto;
  background-repeat: no-repeat;
  background-position: bottom -60px left -60px;
  padding: 120px 0;
}

.why-choose-image-royal {
  height: calc(100% - 30px);
  margin-bottom: 30px;
}

.why-choose-image-royal figure {
  display: block;
  height: 100%;
  border-radius: 20px;
}

.why-choose-image-royal figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1.594;
  object-fit: cover;
  border-radius: 20px;
}

.why-choose-client-box-royal {
  position: relative;
  height: calc(100% - 30px);
  border-radius: 20px;
  padding: 40px 35px;
  margin-bottom: 30px;
  overflow: hidden;
}

.why-choose-client-image-royal {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.why-choose-client-image-royal figure {
  height: 100%;
  position: relative;
  display: block;
  overflow: hidden;
}

.why-choose-client-image-royal figure::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, transparent 0%, #000 100%);
  width: 100%;
  height: 100%;
}

.why-choose-client-image-royal figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.why-choose-client-body-royal {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  z-index: 1;
}

.why-choose-client-header-royal .satisfy-client-images {
  margin-bottom: 20px;
}

.why-choose-client-content-royal h3 {
  font-size: 20px;
  color: var(--white-color);
}

.why-choose-client-item-royal {
  border-top: 1px solid var(--dark-divider-color);
  padding-top: 30px;
}

.why-choose-client-item-royal h3 {
  font-size: 20px;
  color: var(--white-color);
}

.why-choose-client-item-royal p {
  color: var(--white-color);
  margin: 10px 0 0;
}

.why-choose-counter-list-royal {
  display: flex;
  flex-direction: column;
  gap: 30px;
  height: calc(100% - 30px);
  margin-bottom: 30px;
}

.why-choose-counter-item-royal {
  height: 100%;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  padding: 30px;
  overflow: hidden;
}

.why-choose-counter-item-royal:nth-of-type(odd) {
  background-color: var(--accent-color);
}

.why-choose-counter-item-royal:nth-of-type(even) {
  background-color: var(--primary-color);
}

.why-choose-counter-item-royal h2 {
  font-size: 40px;
  color: var(--white-color);
}

.why-choose-counter-item-royal p {
  color: var(--white-color);
  border-top: 1px solid var(--dark-divider-color);
  padding-top: 20px;
  margin: 0;
}

.why-choose-us-footer-royal {
  margin-top: 30px;
}

.why-choose-footer-list-royal {
  margin-bottom: 20px;
}

.why-choose-footer-list-royal ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  padding: 0;
  margin: 0;
}

.why-choose-footer-list-royal ul li {
  position: relative;
  font-weight: 500;
  line-height: normal;
  color: var(--primary-color);
  border: 1px solid var(--divider-color);
  border-radius: 100px;
  padding: 10px 16px 10px 32px;
  transition: all 0.4s ease-in-out;
}

.why-choose-footer-list-royal ul li:hover {
  background-color: var(--accent-color);
  color: var(--white-color);
}

.why-choose-footer-list-royal ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  background: var(--accent-color);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  transition: all 0.4s ease-in-out;
}

.why-choose-footer-list-royal ul li:hover:before {
  background: var(--white-color);
}

.why-choose-us-footer-royal .section-footer-text.section-satisfy-img {
  margin-top: 0;
}

.our-team-royal {
  padding: 120px 0;
}

.team-item-royal {
  background-color: var(--secondary-color);
  border-radius: 250px;
  height: calc(100% - 30px);
  margin-bottom: 30px;
  padding: 15px;
}

.team-item-body-royal {
  height: 100%;
  border: 1px solid var(--divider-color);
  border-radius: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  gap: 30px;
  padding: 40px;
  overflow: hidden;
}

.team-item-content-royal {
  padding: 0 30px;
}

.team-item-content-royal h2 {
  font-size: 20px;
}

.team-item-content-royal h2 a {
  color: inherit;
}

.team-item-content-royal p {
  margin: 5px 0 0;
}

.team-item-image-royal {
  max-height: 370px;
  transition: all 0.4s ease-in-out;
}

.team-item-royal:hover .team-item-image-royal {
  transform: translateY(-10px);
}

.team-item-image-royal figure {
  display: block;
  margin: 0 -40px;
}

.team-item-image-royal figure img {
  width: 100%;
  aspect-ratio: 1 / 1.632;
  object-fit: cover;
}

.our-story-royal {
  position: relative;
  padding: 50px;
  overflow: hidden;
}

.our-story-royal::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--primary-color);
  opacity: 20%;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.our-story-bg-video-royal {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.our-story-bg-video-royal video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.our-story-royal .container-fluid {
  position: relative;
  padding: 0;
  z-index: 2;
}

.our-story-box-royal {
  max-width: 635px;
  min-height: 670px;
  background-color: var(--white-color);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 50px;
  margin-left: auto;
}

.our-story-box-royal .section-title {
  text-align: center;
}

.story-video-circle-box-royal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.our-story-box-royal .video-play-button-royal {
  text-align: center;
}

.watch-video-circle-royal img {
  width: 100%;
  max-width: 110px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  animation: infiniterotateroyal 20s infinite linear;
}

@keyframes infiniterotateroyal {
  100% {
    transform: rotate(360deg);
  }
}

.story-video-circle-box-royal .video-play-button-royal {
  margin-left: -35px;
}

.story-video-circle-box-royal .video-play-button-royal a span {
  width: 110px;
  height: 110px;
  background: var(--accent-color);
}

.story-video-circle-box-royal .video-play-button-royal a span i {
  font-size: 30px;
}

.our-story-list-royal {
  border-top: 1px solid var(--divider-color);
  padding-top: 40px;
  margin-top: 70px;
}

.our-story-list-royal ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 20px;
  padding: 0;
  margin: 0;
}

.our-story-list-royal ul li {
  position: relative;
  width: calc(50% - 10px);
  line-height: 1.5em;
  padding-left: 25px;
}

.our-story-list-royal ul li::before {
  content: "*";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  top: 0px;
  left: 0px;
  font-size: 18px;
  font-weight: 900;
  color: var(--accent-color);
}

.our-pricing-royal {
  padding: 120px 0;
}

.pricing-item-royal {
  background-color: var(--secondary-color);
  border-radius: 20px;
  height: calc(100% - 30px);
  margin-bottom: 30px;
  padding: 10px;
}

.pricing-item-header-royal {
  background-color: var(--bg-color);
  border-radius: 20px;
  text-align: center;
  padding: 30px 30px 75px;
}

.pricing-item-header-royal .icon-box {
  margin-bottom: 30px;
}

.pricing-item-header-royal .icon-box img {
  width: 100%;
  max-width: 50px;
}

.pricing-item-content-royal h2 {
  font-size: 20px;
}

.pricing-item-content-royal p {
  margin: 10px 0 0;
}

.pricing-item-body-royal {
  padding: 0 20px 20px;
}

.pricing-item-price-royal {
  position: relative;
  max-width: 270px;
  text-align: center;
  background-color: var(--secondary-color);
  border-radius: 20px;
  padding: 13px;
  margin: -45px auto 0;
}

.pricing-item-price-royal::before,
.pricing-item-price-royal::after {
  content: "";
  position: absolute;
  top: 25px;
  width: 20px;
  height: 20px;
  mask: url("../images/image-corner-bg-shape.svg");
  -webkit-mask: url("../images/image-corner-bg-shape.svg");
  background-color: var(--secondary-color);
  mask-repeat: no-repeat;
  mask-size: cover;
  z-index: 1;
}

.pricing-item-price-royal:before {
  left: -20px;
  transform: rotate(90deg);
}

.pricing-item-price-royal:after {
  right: -20px;
  transform: rotate(-180deg);
}

.pricing-item-price-royal h2 {
  font-size: 40px;
}

.pricing-item-price-royal h2 sub {
  font-size: 16px;
  bottom: 0;
}

.pricing-item-list-royal {
  border-top: 1px solid var(--divider-color);
  padding-top: 30px;
  margin-top: 7px;
}

.pricing-item-list-royal h3 {
  font-size: 20px;
  margin-bottom: 20px;
}

.pricing-item-list-royal ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pricing-item-list-royal ul li {
  position: relative;
  line-height: 1.5em;
  padding-left: 25px;
  margin-bottom: 15px;
}

.pricing-item-list-royal ul li:last-child {
  margin-bottom: 0;
}

.pricing-item-list-royal ul li::before {
  content: "*";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  top: 0px;
  left: 0px;
  font-size: 18px;
  font-weight: 900;
  color: var(--accent-color);
}

.pricing-item-btn-royal {
  margin-top: 40px;
}

.pricing-item-btn-royal .btn-default {
  width: 100%;
  text-align: center;
  padding: 17px;
}

.pricing-item-btn-royal .btn-default::before {
  display: none;
}

.pricing-benefit-list-royal {
  margin-top: 30px;
}

.pricing-benefit-list-royal ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 20px 50px;
}

.pricing-benefit-list-royal ul li {
  display: inline-flex;
  align-items: center;
  color: var(--primary-color);
}

.pricing-benefit-list-royal ul li img {
  width: 100%;
  max-width: 20px;
  margin-right: 10px;
}

.our-faqs-royal {
  padding: 120px 0;
}

.faqs-content-box-royal {
  height: 100%;
  background-color: var(--secondary-color);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  padding: 50px;
}

.faqs-contact-list-royal {
  border-top: 1px solid var(--divider-color);
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding-top: 30px;
}

.faqs-contact-item-royal {
  position: relative;
  width: calc(50% - 20px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}

.faqs-contact-item-royal::before {
  content: "";
  position: absolute;
  top: 0;
  right: -20px;
  background: var(--divider-color);
  width: 1px;
  height: 100%;
}

.faqs-contact-item-royal:nth-child(2n + 2):before,
.faqs-contact-item-royal:last-child:before {
  display: none;
}

.faqs-contact-item-royal .icon-box {
  position: relative;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.faqs-contact-item-royal .icon-box::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.faqs-contact-item-royal:hover .icon-box::before {
  transform: scale(1);
}

.faqs-contact-item-royal .icon-box img {
  position: relative;
  width: 100%;
  max-width: 24px;
  z-index: 1;
}

.faqs-contact-item-content-royal {
  width: calc(100% - 65px);
}

.faqs-contact-item-content-royal p {
  margin-bottom: 0;
}

.faqs-contact-item-content-royal h3 {
  font-size: 20px;
  margin-top: 5px;
}

.faqs-contact-item-content-royal h3 a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.faqs-contact-item-content-royal h3 a:hover {
  color: var(--accent-color);
}

.faq-accordion-royal {
  height: 100%;
  align-content: center;
  margin-left: 15px;
}

.faq-accordion-royal .accordion-item {
  position: relative;
  background: var(--secondary-color);
  border-radius: 14px;
  margin-bottom: 25px;
  overflow: hidden;
}

.faq-accordion-royal .accordion-item:last-child {
  margin-bottom: 0;
}

.faq-accordion-royal .accordion-header .accordion-button {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.333em;
  background: transparent;
  color: var(--primary-color);
  padding: 18px 55px 18px 30px;
  transition: all 0.4s ease-in-out;
}

.faq-accordion-royal .accordion-item .accordion-button:not(.collapsed) {
  background-color: var(--accent-color);
  color: var(--white-color);
}

.faq-accordion-royal .accordion-item .accordion-button::after,
.faq-accordion-royal .accordion-item .accordion-button.collapsed::after {
  content: "\2b";
  font-family: "Font Awesome 7 Free";
  position: absolute;
  right: 30px;
  top: 50%;
  font-size: 20px;
  font-weight: 500;
  transform: translateY(-50%);
  color: var(--primary-color);
  transition: 0.4s ease-in-out;
}

.faq-accordion-royal .accordion-button:not(.collapsed)::after {
  content: "\f068";
  font-weight: 600;
  color: var(--white-color);
}

.faq-accordion-royal .accordion-item .accordion-body {
  background-color: transparent;
  padding: 18px 30px;
}

.faq-accordion-royal .accordion-item .accordion-body p {
  margin-bottom: 10px;
}

.faq-accordion-royal .accordion-item .accordion-body p:last-child {
  margin-bottom: 0;
}

.our-testimonials-royal {
  background-image: url("../images/section-bg-image-2.png");
  background-repeat: no-repeat;
  background-position: bottom -40px left;
  background-size: auto;
  padding: 120px 0;
}

.testimonial-slider-royal {
  height: 100%;
}

.testimonial-slider-royal .swiper {
  height: 100%;
}

.testimonial-slider-royal .swiper-wrapper {
  cursor: none;
}

.testimonial-item-royal {
  height: 100%;
  min-height: 450px;
  background-color: var(--bg-color);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  gap: 30px;
  padding: 40px;
}

.testimonial-item-rating-royal i {
  font-size: 16px;
  color: var(--accent-color);
}

.testimonail-item-content-royal p {
  font-size: 20px;
  font-weight: 500;
  color: var(--primary-color);
  margin-bottom: 0;
}

.testimonial-item-author-royal {
  border-top: 1px solid var(--divider-color);
  padding-top: 40px;
  margin-top: 40px;
}

.testimonial-author-image-royal {
  margin-bottom: 20px;
}

.testimonial-author-image-royal figure {
  display: inline-block;
  border-radius: 50%;
}

.testimonial-author-image-royal figure img {
  width: 100%;
  max-width: 60px;
  border-radius: 50%;
}

.testimonial-author-content-royal h2 {
  font-size: 20px;
}

.testimonial-author-content-royal p {
  margin: 5px 0 0;
}

.our-testimonials-royal .section-footer-text {
  margin-top: 60px;
}

.main-footer-royal {
  padding: 100px 0 0;
}

.footer-header-royal {
  border-bottom: 1px solid var(--dark-divider-color);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding-bottom: 60px;
  margin-bottom: 60px;
}

.footer-logo-royal img {
  width: 100%;
  max-width: 174px;
}

.footer-menu-royal ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 30px;
  padding: 0;
  margin: 0;
}

.footer-menu-royal ul li {
  line-height: 1.5em;
  color: var(--white-color);
}

.footer-menu-royal ul li a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.footer-menu-royal ul li a:hover {
  color: var(--primary-color);
}

.about-footer-royal {
  max-width: 335px;
}

.about-footer-content-royal h2 {
  font-size: 20px;
  color: var(--white-color);
}

.about-footer-content-royal p {
  color: var(--white-color);
  margin: 15px 0 0;
}

.footer-social-links-royal {
  margin-top: 40px;
}

.footer-social-links-royal ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  padding: 0;
  margin: 0;
}

.footer-social-links-royal ul li a {
  width: 40px;
  height: 40px;
  color: var(--white-color);
  border: 1px solid var(--dark-divider-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease-in-out;
}

.footer-social-links-royal ul li a:hover {
  background-color: var(--white-color);
  border-color: var(--white-color);
  color: var(--accent-color);
}

.footer-social-links-royal ul li a i {
  font-size: 18px;
  color: inherit;
}

.footer-links-box-royal {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
  margin-left: 5.208vw;
}

.footer-links-royal {
  max-width: 45%;
}

.footer-links-royal h2 {
  font-size: 20px;
  color: var(--white-color);
  margin-bottom: 25px;
}

.footer-links-royal ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links-royal ul li {
  position: relative;
  line-height: 1.5em;
  color: var(--white-color);
  padding-left: 25px;
  margin-bottom: 15px;
}

.footer-links-royal ul li:last-child {
  margin-bottom: 0;
}

.footer-links-royal ul li::before {
  content: "*";
  position: absolute;
  font-family: "Font Awesome 7 Free";
  top: 0px;
  left: 0px;
  font-size: 18px;
  font-weight: 900;
  color: var(--white-color);
}

.footer-links-royal ul li a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.footer-links-royal ul li a:hover {
  color: var(--primary-color);
}

.footer-contact-item-royal {
  margin-bottom: 30px;
}

.footer-contact-item-royal:last-child {
  margin-bottom: 0;
}

.footer-contact-item-royal p {
  color: var(--white-color);
  line-height: normal;
  margin: 0 0 10px 0;
}

.footer-contact-item-royal h3 {
  font-size: 20px;
  color: var(--white-color);
}

.footer-contact-item-royal h3 a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.footer-contact-item-royal h3 a:hover {
  color: var(--primary-color);
}

.footer-copyright-royal {
  border-top: 1px solid var(--dark-divider-color);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 30px;
  padding: 60px 0;
  margin-top: 60px;
}

.footer-copyright-text-royal p {
  color: var(--white-color);
  margin-bottom: 0;
}

.footer-privacy-policy-royal ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 40px;
  padding: 0;
  margin: 0;
}

.footer-privacy-policy-royal ul li {
  position: relative;
  line-height: 1.5em;
  color: var(--white-color);
}

.footer-privacy-policy-royal ul li:last-child:before {
  display: none;
}

.footer-privacy-policy-royal ul li a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}

.footer-privacy-policy-royal ul li a:hover {
  color: var(--primary-color);
}

@media only screen and (max-width: 1024px) {
  .hero-content-royal {
    margin: 0 0 30px;
  }

  .hero-content-body-royal {
    margin-top: 30px;
    padding-top: 30px;
  }

  .hero-client-review-box-royal {
    margin: 0;
  }

  .hero-info-item-list-royal {
    padding-top: 40px;
    margin-top: 40px;
  }

  .about-us-image-box-royal {
    max-width: 740px;
    margin: 0 auto 30px;
  }

  .about-us-image-box-1-royal .about-us-image-royal figure img {
    aspect-ratio: 1 / 1.61;
  }

  .about-us-image-box-2-royal .about-us-image-royal figure img {
    aspect-ratio: 1 / 1.4;
  }

  .our-services-royal {
    background-size: 400px auto;
  }

  .feature-content-royal {
    margin-bottom: 30px;
  }

  .feature-image-box-royal {
    max-width: 605px;
    margin: 0 auto;
  }

  .why-choose-us-royal {
    background-size: 200px auto;
    background-position: bottom -35px left -30px;
  }

  .why-choose-image-royal figure img {
    aspect-ratio: 1 / 1.15;
  }

  .why-choose-counter-list-royal {
    flex-wrap: wrap;
    flex-direction: initial;
  }

  .why-choose-counter-item-royal {
    width: calc(50% - 15px);
    height: auto;
  }

  .our-story-box-royal {
    min-height: 600px;
    padding: 30px;
  }

  .faqs-content-box-royal {
    height: auto;
    min-height: auto;
    margin-bottom: 30px;
    padding: 30px;
  }

  .faq-accordion-royal {
    height: auto;
    margin: 0;
  }

  .our-testimonials-royal {
    background-size: 400px auto;
    background-position: bottom -30px left;
  }

  .footer-header-royal {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }

  .about-footer-royal {
    max-width: 100%;
  }

  .footer-links-box-royal {
    margin-left: 30px;
  }

  .footer-copyright-royal {
    padding: 30px 0;
    margin-top: 30px;
  }
}

@media only screen and (max-width: 991px) {
  .hero-royal {
    padding: 150px 0 60px;
  }

  .hero-info-item-list-royal {
    margin-bottom: -60px;
  }

  .hero-content-royal .section-title p {
    font-size: 16px;
    max-width: 100%;
  }

  .hero-content-body-royal {
    max-width: 100%;
    padding-top: 30px;
    margin-top: 30px;
  }

  .hero-content-body-royal .video-play-button-royal a span {
    width: 46px;
    height: 46px;
  }

  .hero-client-review-box-royal {
    padding: 20px 30px;
  }

  .hero-client-review-content-royal h2 {
    font-size: 36px;
  }

  .hero-client-review-content-royal .hero-client-rating-star-royal i {
    font-size: 26px;
  }

  .hero-info-item-list-royal {
    padding-top: 30px;
    margin-top: 30px;
  }

  .hero-info-item-royal .icon-box img {
    max-width: 40px;
  }

  .hero-info-item-content-royal {
    width: calc(100% - 55px);
  }

  .about-us-royal {
    padding: 60px 0;
  }

  .about-us-client-content-royal h2 {
    font-size: 36px;
  }

  .about-us-body-list-royal ul li {
    padding-left: 22px;
  }

  .about-us-body-list-royal ul li::before {
    font-size: 16px;
  }

  .about-us-counter-item-royal .icon-box {
    width: 50px;
    height: 50px;
  }

  .about-us-counter-item-royal .icon-box img {
    max-width: 24px;
  }

  .about-us-counter-item-content-royal {
    width: calc(100% - 65px);
  }

  .about-us-counter-item-content-royal h2 {
    font-size: 34px;
  }

  .about-us-counter-item-content-royal p {
    font-size: 18px;
  }

  .about-us-content-btn-royal {
    padding-top: 30px;
    margin-top: 30px;
  }

  .our-services-royal {
    background-size: 260px auto;
    background-position: bottom -10px left;
    padding: 60px 0;
  }

  .service-item-royal {
    min-height: auto;
    padding: 30px;
  }

  .our-feature-royal {
    padding: 60px 0;
  }

  .feature-item-royal {
    margin-bottom: 30px;
  }

  .feature-content-body-royal {
    padding-top: 30px;
    margin-top: 30px;
  }

  .feature-contact-item-royal {
    gap: 10px;
  }

  .feature-contact-item-royal .icon-box {
    width: 46px;
    height: 46px;
  }

  .feature-contact-item-royal .icon-box img {
    max-width: 20px;
  }

  .feature-contact-item-content-royal h3 {
    font-size: 18px;
  }

  .why-choose-us-royal {
    padding: 60px 0;
  }

  .why-choose-client-box-royal {
    padding: 30px 25px;
  }

  .why-choose-client-content-royal h3 {
    font-size: 18px;
  }

  .why-choose-counter-item-royal h2 {
    font-size: 34px;
  }

  .why-choose-us-footer-royal {
    margin-top: 10px;
  }

  .why-choose-footer-list-royal {
    margin-bottom: 10px;
  }

  .why-choose-footer-list-royal ul {
    gap: 15px 10px;
  }

  .why-choose-footer-list-royal ul li {
    font-size: 14px;
    padding: 7px 10px 7px 24px;
  }

  .why-choose-footer-list-royal ul li::before {
    left: 10px;
  }

  .our-team-royal {
    padding: 60px 0;
  }

  .team-item-body-royal {
    padding: 30px;
  }

  .team-item-image-royal {
    max-height: 330px;
  }

  .team-item-image-royal figure {
    margin: 0 -30px;
  }

  .our-story-royal {
    padding: 0;
  }

  .our-story-royal::before {
    display: none;
  }

  .our-story-bg-video-royal {
    position: relative;
    height: 450px;
  }

  .our-story-royal .container-fluid {
    padding: 0;
  }

  .our-story-box-royal {
    max-width: 100%;
    min-height: auto;
    border-radius: 0;
    padding: 60px 15px;
  }

  .our-story-list-royal {
    padding-top: 30px;
    margin-top: 30px;
  }

  .our-story-list-royal ul li {
    padding-left: 22px;
  }

  .our-story-list-royal ul li::before {
    font-size: 16px;
  }

  .our-pricing-royal {
    padding: 60px 0;
  }

  .pricing-item-price-royal {
    max-width: 230px;
    margin: -40px auto 0;
  }

  .pricing-item-price-royal:before,
  .pricing-item-price-royal:after {
    top: 20px;
  }

  .pricing-item-price-royal h2 {
    font-size: 30px;
  }

  .pricing-item-price-royal h2 sub {
    font-size: 14px;
  }

  .pricing-item-list-royal h3 {
    margin-bottom: 15px;
  }

  .pricing-item-list-royal ul li {
    margin-bottom: 10px;
    padding-left: 22px;
  }

  .pricing-item-list-royal ul li::before {
    font-size: 16px;
  }

  .pricing-item-btn-royal {
    margin-top: 30px;
  }

  .pricing-item-btn-royal .btn-default {
    padding: 15px;
  }

  .pricing-benefit-list-royal {
    margin-top: 10px;
  }

  .pricing-benefit-list-royal ul {
    gap: 15px 30px;
  }

  .pricing-benefit-list-royal ul li img {
    max-width: 18px;
  }

  .our-faqs-royal {
    padding: 60px 0;
  }

  .faqs-content-box-royal {
    gap: 30px;
  }

  .faq-accordion-royal .accordion-item {
    margin-bottom: 20px;
  }

  .faq-accordion-royal .accordion-header .accordion-button {
    padding: 13px 45px 13px 20px;
  }

  .faq-accordion-royal .accordion-item .accordion-button::after,
  .faq-accordion-royal .accordion-item .accordion-button.collapsed::after {
    right: 20px;
  }

  .faq-accordion-royal .accordion-item .accordion-body {
    padding: 13px 20px;
  }

  .our-testimonials-royal {
    background-size: 260px auto;
    background-position: bottom -20px left;
    padding: 60px 0;
  }

  .testimonial-item-royal {
    min-height: 400px;
    padding: 30px;
  }

  .testimonail-item-content-royal p {
    font-size: 18px;
  }

  .testimonial-item-author-royal {
    padding-top: 30px;
    margin-top: 30px;
  }

  .testimonial-author-image-royal {
    margin-bottom: 15px;
  }

  .testimonial-author-image-royal figure img {
    max-width: 50px;
  }

  .our-testimonials-royal .section-footer-text {
    margin-top: 40px;
  }

  .main-footer-royal {
    padding: 50px 0 0;
  }

  .footer-menu-royal ul {
    gap: 10px 20px;
  }

  .about-footer-royal {
    max-width: 100%;
    margin-bottom: 30px;
  }

  .about-footer-content-royal p {
    margin-top: 10px;
  }

  .footer-social-links-royal {
    margin-top: 20px;
  }

  .footer-links-box-royal {
    margin: 0;
  }

  .footer-links-royal h2 {
    margin-bottom: 20px;
  }

  .footer-links-royal ul li {
    margin-bottom: 10px;
    padding-left: 22px;
  }

  .footer-links-royal ul li::before {
    font-size: 16px;
  }

  .footer-contact-item-royal {
    margin-bottom: 20px;
  }

  .footer-privacy-policy-royal ul {
    gap: 10px 30px;
  }

  .footer-privacy-policy-royal ul li::before {
    width: 1px;
    right: -15px;
  }
}

@media only screen and (max-width: 767px) {
  .video-play-button-royal p {
    font-size: 14px;
  }

  /* Book Appointment + Call us pills, smaller to fit a phone screen; the call
     button's icon circle in particular was oversized next to the shrunk text. */
  .hero-content-body-royal .btn-default {
    font-size: 13px;
    padding: 12px 20px 12px 40px;
  }

  .hero-content-body-royal .btn-default::before {
    width: 30px;
    height: 30px;
    left: 4px;
  }

  .rz-call-label {
    font-size: 15px;
  }

  .rz-call-btn a {
    height: 40px;
    padding: 12px 20px 12px 6px;
  }

  .hero-content-body-royal .rz-call-btn a > span {
    width: 28px;
    height: 28px;
  }

  .rz-call-btn a > span i {
    font-size: 12px;
  }

  .hero-client-review-box-royal {
    padding: 20px;
  }

  .hero-client-review-content-royal h2 {
    font-size: 26px;
  }

  .hero-client-review-content-royal .hero-client-rating-star-royal i {
    font-size: 20px;
  }

  .hero-info-item-content-royal h3 {
    font-size: 18px;
  }

  .hero-info-item-content-royal p {
    margin: 5px 0 0;
  }

  .about-us-image-box-royal {
    gap: 10px;
  }

  .about-us-image-box-1-royal {
    width: calc(60% - 5px);
  }

  .about-us-image-box-2-royal {
    width: calc(40% - 5px);
  }

  .about-us-client-box-royal {
    border-width: 8px;
    margin-left: -70px;
  }

  .about-us-client-box-royal:before {
    left: 32px;
    bottom: -28px;
  }

  .about-us-client-box-royal:after {
    left: -28px;
  }

  .about-us-client-body-royal {
    padding: 12px;
  }

  .about-us-client-header-royal {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  .about-us-client-header-content-royal {
    margin-bottom: 10px;
  }

  .about-us-client-header-content-royal p {
    font-size: 14px;
  }

  .about-us-client-header-royal .satisfy-client-image figure img {
    max-width: 34px;
  }

  .about-us-client-header-royal .satisfy-client-image.add-more {
    width: 36px;
    height: 36px;
  }

  .about-us-client-content-royal .about-us-client-rating-star-royal i,
  .about-us-client-content-royal p {
    font-size: 12px;
  }

  .about-us-client-content-royal h2 {
    font-size: 26px;
  }

  .about-us-clint-rating-star-royal {
    display: block;
  }

  .about-us-body-royal {
    padding: 20px;
  }

  .about-us-item-list-royal {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  .about-us-item-royal h3 {
    font-size: 18px;
  }

  .about-us-item-royal p {
    margin: 5px 0 0;
  }

  .about-us-body-list-royal ul {
    gap: 15px;
  }

  .about-us-body-list-royal ul li {
    width: 100%;
  }

  .about-us-counter-list-royal {
    gap: 20px;
  }

  .about-us-counter-item-royal {
    width: 100%;
  }

  .about-us-counter-item-content-royal h2 {
    font-size: 28px;
  }

  .about-us-counter-item-content-royal p {
    font-size: 16px;
  }

  .service-item-royal {
    padding: 20px;
  }

  .service-item-content-royal h2 {
    font-size: 18px;
  }

  .service-item-content-royal p {
    margin: 5px 0 0;
  }

  .service-item-btn-royal {
    padding-top: 20px;
    margin-top: 20px;
  }

  .feature-item-royal {
    gap: 15px;
  }

  .feature-item-royal .icon-box img {
    max-width: 40px;
  }

  .feature-item-content-royal {
    width: calc(100% - 55px);
  }

  .feature-item-content-royal h3 {
    font-size: 18px;
  }

  .feature-item-content-royal p {
    margin: 5px 0 0;
  }

  .feature-content-body-royal {
    gap: 20px;
  }

  .feature-image-box-royal {
    padding-left: 0;
  }

  .feature-image-box-royal::before {
    left: 40px;
    bottom: 15px;
    width: 50px;
    height: 95px;
  }

  .feature-cta-box-royal {
    width: 53%;
    border-radius: 14px;
    padding: 5px 5px 10px;
  }

  .feature-cta-contact-item-list-royal {
    padding: 0 10px;
  }

  .feature-cta-contact-item-royal {
    gap: 10px;
  }

  .feature-cta-contact-item-royal .icon-box {
    width: 26px;
    height: 26px;
  }

  .feature-cta-contact-item-royal .icon-box img {
    max-width: 12px;
  }

  .feature-cta-contact-item-content-royal {
    width: calc(100% - 36px);
  }

  .feature-cta-contact-item-content-royal h3 {
    font-size: 14px;
  }

  .feature-image-royal {
    width: 47%;
  }

  .feature-image-royal figure {
    margin-left: -115px;
  }

  .why-choose-client-box-royal {
    padding: 20px;
  }

  .why-choose-client-content-royal h3 {
    font-size: 16px;
  }

  .why-choose-client-item-royal h3 {
    font-size: 18px;
  }

  .why-choose-client-item-royal p {
    margin: 5px 0 0;
  }

  .why-choose-counter-item-royal {
    width: 100%;
    height: auto;
    gap: 20px;
    padding: 20px;
  }

  .why-choose-counter-item-royal h2 {
    font-size: 28px;
  }

  .why-choose-footer-list-royal ul li {
    font-size: 14px;
    padding: 7px 10px 7px 20px;
  }

  .why-choose-footer-list-royal ul li::before {
    width: 4px;
    height: 4px;
  }

  .team-item-body-royal {
    padding: 20px;
  }

  .team-item-content-royal {
    padding: 25px 30px 0;
  }

  .team-item-content-royal h2 {
    font-size: 18px;
  }

  .team-item-image-royal {
    max-height: 300px;
  }

  .team-item-image-royal figure {
    margin: 0 -20px;
  }

  .our-story-bg-video-royal {
    height: 350px;
  }

  .watch-video-circle-royal img {
    max-width: 90px;
  }

  .story-video-circle-box-royal .video-play-button-royal a span {
    width: 90px;
    height: 90px;
  }

  .story-video-circle-box-royal .video-play-button-royal a span i {
    font-size: 24px;
  }

  .our-story-list-royal ul {
    gap: 10px;
  }

  .our-story-list-royal ul li {
    width: 100%;
  }

  .pricing-item-header-royal {
    padding: 20px 20px 50px;
  }

  .pricing-item-header-royal .icon-box {
    margin-bottom: 20px;
  }

  .pricing-item-content-royal h2 {
    font-size: 18px;
  }

  .pricing-item-content-royal p {
    margin: 5px 0 0;
  }

  .pricing-item-body-royal {
    padding: 0 10px 10px;
  }

  .pricing-item-price-royal {
    margin: -30px auto 0;
  }

  .pricing-item-price-royal:before,
  .pricing-item-price-royal:after {
    top: 10px;
  }

  .pricing-item-list-royal h3 {
    font-size: 18px;
  }

  .pricing-benefit-list-royal {
    margin-top: 5px;
  }

  .pricing-benefit-list-royal ul {
    gap: 10px 20px;
  }

  .pricing-benefit-list-royal ul li {
    font-size: 14px;
  }

  .pricing-benefit-list-royal ul li img {
    max-width: 16px;
    margin-right: 5px;
  }

  .faqs-content-box-royal {
    padding: 20px;
  }

  .faqs-contact-list-royal {
    gap: 20px;
  }

  .faqs-contact-item-royal {
    width: 100%;
  }

  .faqs-contact-item-content-royal h3 {
    font-size: 18px;
  }

  .faq-accordion-royal .accordion-header .accordion-button {
    font-size: 16px;
    padding: 10px 35px 10px 15px;
  }

  .faq-accordion-royal .accordion-item .accordion-body {
    padding: 10px 15px;
  }

  .faq-accordion-royal .accordion-item .accordion-button::after,
  .faq-accordion-royal .accordion-item .accordion-button.collapsed::after {
    right: 15px;
    font-size: 18px;
  }

  .testimonial-slider-royal,
  .testimonial-slider-royal .swiper {
    height: auto;
  }

  .testimonial-item-royal {
    height: auto;
    min-height: auto;
    gap: 20px;
    padding: 20px;
  }

  .testimonail-item-content-royal p {
    font-size: 16px;
  }

  .testimonial-item-author-royal {
    padding-top: 20px;
    margin-top: 20px;
  }

  .testimonial-author-content-royal h2 {
    font-size: 18px;
  }

  .footer-header-royal {
    gap: 20px;
  }

  .footer-menu-royal {
    width: 100%;
  }

  .footer-menu-royal ul {
    gap: 10px;
    justify-content: space-between;
  }

  .about-footer-content-royal h2 {
    font-size: 18px;
  }

  .footer-links-royal {
    max-width: 100%;
  }

  .footer-links-royal h2 {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .footer-contact-item-royal h3 {
    font-size: 18px;
    margin-top: 5px;
  }

  .footer-copyright-royal {
    justify-content: center;
    gap: 15px;
    padding: 15px 0;
  }

  .footer-privacy-policy-royal {
    width: 100%;
  }

  .footer-privacy-policy-royal ul {
    justify-content: center;
    gap: 10px 20px;
  }

  .footer-privacy-policy-royal ul li::before {
    right: -10px;
  }
}

/* ============ Patient registration form (book-appointment) ============ */
/* section headings between field groups — same label look the theme already uses,
   just larger + a small bottom rule instead of being paired with one input */
.rz-form-section-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--primary-color);
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.rz-form-section-title:not(:first-child) { margin-top: 10px; }

/* Personal Information / Contact Information — two bordered cards side by side */
.rz-form-card {
  height: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  padding: 24px 24px 4px;
}
/* Identity + Uploads stacked in one column (next to Address) — each card sizes to
   its own content instead of stretching to fill the shared row height. */
.rz-form-card-auto {
  height: auto;
}

/* mobile number: country-code select glued to the number input (Bootstrap's own
   .input-group is already display:flex — no need to redeclare it), theme's own
   .form-control radius/border reused so it still matches every other field */
#appointmentForm .rz-dial-select {
  display: block;
  flex: 0 0 130px;
  width: 130px;
  border-radius: 5px 0 0 5px !important;
  border-right: 0 !important;
}
#appointmentForm .input-group .form-control:not(.rz-dial-select) {
  flex: 1 1 0%;
  width: 1%; /* classic flex-fill trick — width:100% from bootstrap fights flex-grow otherwise */
  border-radius: 0 5px 5px 0 !important;
}

/* file upload — label + input + thumbnail, mirrors the admin panel's own image-upload UI */
.rz-upload-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-color);
  margin-bottom: 10px;
}
.rz-upload-preview {
  display: block;
  height: 70px;
  width: auto;
  max-width: 100%;
  object-fit: cover;
  border-radius: 8px;
  margin-top: 10px;
  background: #f2f5f3;
  padding: 4px;
}

.rz-field-error {
  color: #d0342c;
  font-size: 13px;
  margin-top: 6px;
}

/* email OTP row — small, sits right under the email field */
.rz-otp-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.rz-otp-btn {
  background: var(--accent-color);
  color: var(--white-color);
  border: 0;
  border-radius: 5px;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s ease-in-out;
}
.rz-otp-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.rz-otp-input {
  flex: 0 0 130px;
  padding: 9px 12px !important;
  font-size: 14px !important;
}
.rz-otp-verified {
  color: var(--accent-color);
  font-weight: 600;
  font-size: 14px;
}
.rz-otp-msg-ok {
  color: var(--accent-color);
  font-size: 13px;
  margin-top: 6px;
}
.rz-otp-channel {
  display: flex;
  gap: 24px;
  margin-right: 16px;
  padding-left: 20px;
}
.rz-otp-channel label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--primary-color);
  cursor: pointer;
  margin: 0;
}
.rz-otp-channel input[type="radio"] { accent-color: var(--accent-color); }

/* --- Book-appointment page: text + a plain photo side by side up top (its own
   short row, unrelated to the tall form below it), then the full-width form. --- */
.rz-appt-intro-row { margin-bottom: 60px; }
.rz-appt-intro-image {
  border-radius: 20px;
  overflow: hidden;
  height: 360px;
}
.rz-appt-intro-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Smaller fields: the theme's own .appointment-form sizing (16px text, 13px/20px
   padding, 15px label spacing) was designed for a short 4-field form — 20 fields at
   that size runs very tall in a half-width column. */
#appointmentForm .form-control {
  font-size: 13.5px;
  padding: 9px 14px !important;
}
.appointment-form .form-group label {
  font-size: 13px;
  margin-bottom: 8px;
}
#appointmentForm .rz-dial-select { width: 100px; flex-basis: 100px; }
