:root {
  --main-color: #2ba30d;
  --main-color-hover: #228b08;
  --main-color-rgb-value: 43, 163, 13;
  --secondary-color: #15410a;
  --secondary-color-hover: #123809;
  --secondary-color-rgb-value: 21, 65, 10;
  --image-overlay-color: rgba(var(--secondary-color-rgb-value), 0.3);
  --top-banner-height: 28px;
  --top-banner-height-lg: 34px;
  --navbar-height: 56px;
  --navbar-height-lg: 80px;
  --navbar-bg: #fffd;
  --navbar-bg-sticky: rgba(var(--main-color-rgb-value), 0.85);
  --home-slider-height: 640px;
  --home-slider-height-lg: 760px;
  --section-py: 60px;
  --section-py-lg: 80px;
  --section-bg-alt: #f2f2f2;
  --page-section-py: 40px;
  --page-section-py-lg: 60px;
  --page-banner-height: 300px;
  --page-banner-height-lg: 380px;
  --border-radius: 3px;
  --shadow-1: 0 2px 2px #0003;
  --shadow-2: 0 3px 7px #0004;
  --shadow-3: 0 5px 10px #0005;
  --card-padding: 20px 30px;
  --card-padding-lg: 25px 40px;
  --nav2-height: 65px;
  --nav2-height-lg: 80px;
  --nav2-padding-y: 8px;
  --nav2-padding-y-lg: 12px;
  --nav2-submenu-column-gap: 30px;
  --nav2-submenu-row-gap: 15px;
  --side-btn-size: 46px;
  --side-btn-size-lg: 56px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

img:not([width]) {
  width: 100%;
}
img:not([height]) {
  height: 100%;
}
img {
  object-fit: cover;
  transition: all 0.3s ease-in-out;
}

p {
  margin: 0;
  font-size: 14px;
}

.text-lead p,
.text-lead li {
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: 300;
}
.text-lead .display-1,
.text-lead .display-2,
.text-lead .display-3,
.text-lead .display-4,
.text-lead .display-5,
.text-lead .display-6 {
  color: var(--main-color);
}
.text-lead .display-6 {
  font-size: 20px;
}

.text-primary {
  color: var(--main-color) !important;
}

a {
  font-size: 14px;
  color: var(--main-color);
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
a:hover {
  color: var(--main-color-hover);
}

.swiper .next-slide-btn,
.swiper .prev-slide-btn,
.swiper .swiper-button-next,
.swiper .swiper-button-prev {
  color: #fff;
  opacity: 0.3;
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  transform: translateY(-50%);
  z-index: 1;
  transition: all 0.2s ease-in-out;
}
.swiper .swiper-button-next::after,
.swiper .swiper-button-prev::after {
  font-size: 20px;
}
.swiper:hover .next-slide-btn,
.swiper:hover .prev-slide-btn,
.swiper:hover .swiper-button-next,
.swiper:hover .swiper-button-prev {
  opacity: 1;
}
.swiper .next-slide-btn,
.swiper .prev-slide-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #fff;
  border-radius: 50%;
}
.swiper .next-slide-btn i,
.swiper .prev-slide-btn i {
  font-size: 14px;
}
.swiper .prev-slide-btn {
  left: 5px;
}
.swiper .next-slide-btn {
  right: 5px;
}

.swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--main-color);
  opacity: 0.6;
  border-radius: 5px;
  transition: all 0.3s ease-in-out;
}
.swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 20px;
  opacity: 1;
}

dl {
  margin: 0;
}

@media (min-width: 992px) {
  p,
  a {
    font-size: 16px;
  }

  .text-lead p {
    margin-bottom: 10px !important;
    font-size: 18px;
  }
  .text-lead .display-6 {
    font-size: 24px;
  }

  .swiper .swiper-button-next::after,
  .swiper .swiper-button-prev::after {
    font-size: 26px;
  }
  .swiper .next-slide-btn,
  .swiper .prev-slide-btn {
    width: 40px;
    height: 40px;
  }
  .swiper .next-slide-btn i,
  .swiper .prev-slide-btn i {
    font-size: 16px;
  }

  .swiper .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    border-radius: 6px;
  }
  .swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 24px;
  }
}

/* HEADER */
header {
  position: relative;
}

/* TOP BANNER */
.top-banner {
  display: flex;
  align-items: center;
  height: var(--top-banner-height);
  background: var(--main-color);
  overflow: hidden;
}
.top-banner i,
.top-banner small {
  color: #fff;
}
.top-banner small {
  font-weight: 500;
}
.top-banner .fa-phone {
  font-size: 12px;
}
.top-banner .fa-envelope {
  font-size: 13px;
}
.top-banner .fab {
  font-size: 14px;
}
/* END TOP BANNER */

/* NAVBAR */
.navbar {
  width: 100%;
  background: var(--navbar-bg);
  box-shadow: var(--shadow-2);
  position: absolute;
  top: var(--top-banner-height);
  left: 0;
  z-index: 999;
}
.navbar.sticky {
  background: var(--navbar-bg-sticky);
  position: fixed;
  top: 0;
  animation: navbarStickyApparitionAnim 0.3s ease-in-out;
}
@keyframes navbarStickyApparitionAnim {
  from {
    top: -100%;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}
.navbar .navbar-brand {
  font-size: 20px;
}
.navbar.sticky .navbar-brand {
  color: #fff;
}
.navbar .navbar-toggler {
  padding: 6px 8px;
}
.navbar.sticky .navbar-toggler {
  color: #fffb;
  border-color: #fff4;
}
.navbar .navbar-toggler:focus {
  box-shadow: none;
}
.navbar .navbar-collapse {
  width: 100%;
  padding: 10px 0;
  background: var(--navbar-bg);
  position: absolute;
  top: 100%;
  left: 0;
}
.navbar.sticky .navbar-collapse {
  background: var(--navbar-bg-sticky);
}
.navbar .navbar-nav {
  width: 100%;
  margin: 0 auto;
}
.navbar .navbar-nav:not(.submenu) {
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
}
.navbar .nav-link {
  padding-right: 8px;
  padding-left: 8px;
  font-size: 14px;
  color: #343434;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
  clear: both;
}
.navbar.sticky .nav-link {
  color: #eaeaea;
}
.navbar .submenu .nav-link {
  padding-right: 16px;
  padding-left: 16px;
}
.navbar .nav-item:hover > .nav-link {
  background: #0001;
}
.navbar.sticky .nav-item:hover > .nav-link,
.navbar.sticky .nav-link.active,
.navbar.sticky .nav-link.active:hover {
  color: #fff;
  background: none;
}
.navbar .nav-link i {
  float: right;
  transition: all 0.2s ease-in-out;
}
.navbar .submenu {
  display: none;
  transition: height 0.2s linear;
}
.navbar .has-submenu:hover > .nav-link i {
  transform: rotateZ(180deg);
}
.navbar .has-submenu:hover > .submenu {
  display: block;
  height: 100%;
}

@media (min-width: 576px) {
  .navbar .navbar-nav {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .navbar .navbar-brand {
    font-size: 24px;
  }
  .navbar .navbar-nav {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .top-banner {
    height: var(--top-banner-height-lg);
  }

  .navbar {
    padding: 0;
    top: var(--top-banner-height-lg);
  }
  .navbar .navbar-collapse,
  .navbar.sticky .navbar-collapse {
    background: none;
  }
  .navbar .navbar-collapse {
    padding: 0;
    position: static;
    top: 0;
    left: 0;
  }
  .navbar .navbar-nav {
    max-width: unset;
    width: unset;
    margin-right: 0;
    padding: 0;
  }
  .navbar .nav-item {
    position: relative;
  }
  .navbar .nav-link {
    display: flex;
    align-items: center;
    height: var(--navbar-height-lg);
    font-size: 16px;
    position: relative;
  }
  .navbar .navbar-collapse > .navbar-nav > .nav-item > .nav-link {
    padding: 0 15px;
    opacity: 0.8;
  }
  .navbar .navbar-collapse > .navbar-nav:hover > .nav-item > .nav-link {
    opacity: 0.5;
  }
  .navbar .navbar-collapse > .navbar-nav > .nav-item > .nav-link:hover {
    opacity: 1;
  }
  .navbar .submenu .nav-link,
  .navbar .submenu .nav-link:hover {
    height: unset;
    padding-top: 10px;
    padding-bottom: 10px;
    white-space: nowrap;
  }
  .navbar .nav-item:hover > .nav-link {
    background: #0001;
  }
  .navbar .submenu .nav-item:hover > .nav-link {
    color: inherit;
    background: #0001;
  }
  .navbar.sticky .submenu .nav-item:hover > .nav-link {
    color: #fff;
    background: #0002;
  }
  .navbar .nav-link i {
    display: inline-block;
    margin-left: 5px;
    float: none;
    font-size: 14px;
  }
  .navbar .submenu {
    display: block;
    min-width: 240px;
    background: none;
    box-shadow: var(--shadow-2);
    position: absolute;
    top: 150%;
    left: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s ease-in-out;
  }
  .navbar .has-submenu:hover > .submenu {
    top: 100%;
    height: unset;
    background: var(--navbar-bg);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .navbar.sticky .has-submenu:hover > .submenu {
    background: var(--navbar-bg-sticky);
  }
}
/* END NAVBAR */

/* HOME SLIDER */
.slider .swiper {
  height: var(--home-slider-height);
}
.slider .swiper-slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: var(--nav2-height);
  position: relative;
}
.slider .swiper-slide::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: var(--image-overlay-color);
}
.slider img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
  transition: all 8s ease;
}
.slider .swiper-slide-active img {
  top: 0;
}

.slider .texts {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}
.slider .texts h2,
.slider .texts h3 {
  margin: 0;
  position: relative;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease 1.1s;
}
.slider .texts h2 {
  font-size: 28px;
  line-height: 1em;
  bottom: -20px;
}
.slider .swiper-slide-active h2 {
  line-height: 1.3em;
  bottom: 0;
  opacity: 1;
  visibility: visible;
}
.slider .texts h3 {
  font-size: 14px;
  text-transform: uppercase;
  top: -20px;
}
.slider .swiper-slide-active h3 {
  top: 0;
  opacity: 1;
  visibility: visible;
}
.slider .texts hr {
  width: 50%;
  height: 2px;
  background: #fff;
  border: 0;
  opacity: 1;
  transform: scaleX(0);
  transition: all 0.6s ease 0.5s;
}
.slider .swiper-slide-active hr {
  transform: scaleX(1);
}

.slider .next-slide-btn,
.slider .prev-slide-btn {
  transform: translateY(var(--nav2-height) / 2);
}

.slider .swiper-pagination-bullet {
  background: #fff;
}
.slider .swiper-pagination-bullet {
  width: 30px;
  height: 2px;
}
.slider .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 50px;
}

@media (min-width: 992px) {
  .slider .swiper {
    height: var(--home-slider-height-lg);
  }
  .slider .swiper-slide {
    padding-top: var(--nav2-height-lg);
  }
  .slider .texts h2 {
    font-size: 36px;
  }
  .slider .texts h3 {
    font-size: 22px;
  }

  .slider .next-slide-btn,
  .slider .prev-slide-btn {
    transform: translateY(var(--nav2-height-lg) / 2);
  }
}
/* END HOME SLIDER */

/* SECTION */
section {
  padding: var(--section-py) 0;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  overflow: hidden;
}
section h2 {
  margin-bottom: 10px;
  font-size: 32px;
  font-weight: 400;
  color: var(--main-color);
}
section .heading {
  margin-bottom: 30px;
  text-align: center;
  clear: both;
  overflow: hidden;
}
section .heading .h-title {
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: inherit;
}
section .heading .h-sub-title {
  margin-bottom: 10px;
  font-size: 26px;
  font-weight: 600;
}

@media (min-width: 992px) {
  section {
    padding: var(--section-py-lg) 0;
  }
  section h2 {
    margin-bottom: 20px;
    font-size: 38px;
  }
  section .heading {
    margin-bottom: 40px;
  }
  section .heading .h-title {
    margin-bottom: 20px;
    font-size: 16px;
  }
  section .heading .h-sub-title {
    margin-bottom: 15px;
    font-size: 28px;
  }
}
/* END SECTION */

/* FIGURE OVERLAY CAPTION */
figure.figure-overlay-caption {
  margin: 0;
  height: 100%;
  overflow: hidden;
  position: relative;
}
figure.figure-overlay-caption::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--image-overlay-color);
  clip-path: inset(0);
  transition: all 0.3s ease-in-out;
}
figure.figure-overlay-caption:hover::after {
  clip-path: inset(85% 12px 3% round var(--border-radius));
}
figure.figure-overlay-caption:hover img {
  transform: scale(1.15);
}
figure.figure-overlay-caption figcaption {
  height: 12%;
  background: #0003;
  border-radius: var(--border-radius);
  position: absolute;
  top: 85%;
  left: 12px;
  right: 12px;
  z-index: 1;
  transition: all 0.3s ease-in-out;
}
figure.figure-overlay-caption figcaption a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  line-height: 1em;
  text-transform: uppercase;
  text-align: center;
  word-break: break-all;
}
/* END FIGURE OVERLAY CAPTION */

/* SECTION PROMOTIONS */
section.ps_1_1 {
  padding-bottom: 0;
}
section.ps_1_1 .heading {
  display: none;
}
section.ps_1_1 .swiper-slider {
  width: 100%;
}
section.ps_1_1 .promotion-item {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  overflow: hidden;
  position: relative;
}
section.ps_1_1 .promotion-item img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  position: relative;
  left: -100%;
  opacity: 0;
  transition: all 0.4s ease-in-out;
}
section.ps_1_1 .swiper-slide-active .promotion-item img {
  left: 0;
  opacity: 1;
}
section.ps_1_1 .promotion-item .details {
  display: flex;
  flex-direction: column;
  padding: var(--card-padding);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}
section.ps_1_1 .promotion-item .details > * {
  position: relative;
  top: 100px;
  opacity: 0;
  transition: all 0.6s ease-in-out;
}
section.ps_1_1 .swiper-slide-active .promotion-item .details > * {
  top: 0;
  opacity: 1;
}
section.ps_1_1 .promotion-item .details h4 {
  margin-bottom: 25px;
  padding-bottom: 20px;
  font-size: 22px;
  color: var(--main-color);
  text-transform: uppercase;
  position: relative;
}
section.ps_1_1 .promotion-item .details h4::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 25%;
  height: 1px;
  background: var(--main-color);
}
section.ps_1_1 .swiper-slide-active .promotion-item .details .summary {
  transition-delay: 0.15s;
}
section.ps_1_1 .promotion-item .details ul {
  margin: 15px 0 0 0;
  padding: 0;
  list-style: none;
}
section.ps_1_1 .swiper-slide-active .promotion-item .details ul {
  transition-delay: 0.3s;
}
section.ps_1_1 .promotion-item .details ul li {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: first baseline;
  margin-bottom: 10px;
  line-height: 1.2em;
  font-size: 14px;
}
section.ps_1_1 .promotion-item .details ul li i {
  display: inline-block;
  width: 26px;
  min-width: 26px;
  font-size: 16px;
  color: var(--main-color);
  text-align: center;
}
section.ps_1_1 .promotion-item .details ul li a {
  color: inherit;
}
section.ps_1_1 .promotion-item .details ul li a:hover {
  color: var(--main-color-hover);
}

@media (min-width: 992px) {
  section.ps_1_1 .promotion-item {
    flex-direction: row;
  }
  section.ps_1_1 .promotion-item img {
    width: 50%;
    max-width: 50%;
    min-width: 50%;
    border-radius: var(--border-radius) 0 0 var(--border-radius);
  }
  section.ps_1_1 .promotion-item .details {
    width: 50%;
    max-width: 50%;
    min-width: 50%;
    padding: var(--card-padding-lg);
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
  }
  section.ps_1_1 .promotion-item .details h4 {
    font-size: 28px;
  }
  section.ps_1_1 .promotion-item .details > p {
    margin-bottom: 20px;
    font-size: 16px;
  }
  section.ps_1_1 .promotion-item .details ul li {
    font-size: 16px;
  }
  section.ps_1_1 .promotion-item .details ul li i {
    font-size: 18px;
  }
}
/* END SECTION PROMOTIONS */

/* SECTION CIRCUITS */
section.ps_1_2 .heading {
  display: none;
}
section.ps_1_2 .circuit-item {
  height: 300px;
  border-radius: var(--border-radius);
  overflow: hidden;
}
section.ps_1_2 .circuit-item.heading {
  display: flex;
  flex-direction: column;
  margin: 0;
  text-align: left;
}
section.ps_1_2 .circuit-item.heading .heading-text {
  margin-bottom: 10px;
  padding: 20px 15px;
  background: var(--main-color);
  border-radius: var(--border-radius);
  overflow: hidden;
}
section.ps_1_2 .circuit-item h2 {
  margin-bottom: 10px;
  font-size: 24px;
  color: #fff;
}
section.ps_1_2 .circuit-item p {
  margin-bottom: 0;
  font-size: 12px;
  color: #fff;
}
.circuit-item.heading .circuits-navigation-btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  margin-top: auto;
}
.circuits-navigation-btns > div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: #545454;
  border: 1px solid #545454;
  border-radius: 50%;
  transition: all 0.2s ease-in-out;
}
.circuits-navigation-btns > div:hover {
  color: var(--main-color);
  border-color: var(--main-color);
}
.circuit-item.heading .circuits-pagination {
  display: flex;
  align-items: center;
  gap: 3px;
  width: 100%;
  margin-top: 5px;
}
.circuit-item.heading .circuits-pagination .swiper-pagination-bullet {
  flex-grow: 1;
  height: 2px;
  margin: 0;
  padding: 0;
  border-radius: 1px;
}
.circuit-item.heading
  .circuits-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--main-color);
}
section.ps_1_2 figure.figure-overlay-caption:hover::after {
  background: rgba(var(--main-color-rgb-value), 0.3);
}
section.ps_1_2 figure.figure-overlay-caption figcaption {
  overflow: hidden;
  transform: scale(0.8);
}
section.ps_1_2 figure.figure-overlay-caption:hover figcaption {
  transform: scale(1);
}
section.ps_1_2 figure.figure-overlay-caption figcaption a {
  display: flex;
  justify-content: center;
  font-size: 18px;
}

@media (max-width: 339px) {
  section.ps_1_2 .col-6 {
    width: 100%;
  }
  section.ps_1_2 .circuit-item.heading {
    height: auto;
  }
}
@media (min-width: 340px) {
  .circuit-item.heading .circuits-navigation-btns {
    justify-content: start;
  }
}
@media (min-width: 576px) {
  section.ps_1_2 .circuit-item h2 {
    margin-bottom: 15px;
    font-size: 26px;
  }
  section.ps_1_2 .circuit-item p {
    font-size: 12px;
  }
  section.ps_1_2 figure.figure-overlay-caption figcaption a {
    font-size: 20px;
  }
}
@media (min-width: 768px) {
  section.ps_1_2 .circuit-item {
    height: 360px;
  }
  section.ps_1_2 .circuit-item h2 {
    font-size: 30px;
  }
  section.ps_1_2 .circuit-item p {
    font-size: 14px;
  }
}
@media (min-width: 992px) {
  section.ps_1_2 .circuit-item {
    height: 450px;
  }
  section.ps_1_2 .circuit-item h2 {
    margin-bottom: 20px;
    font-size: 36px;
  }
  section.ps_1_2 .circuit-item p {
    font-size: 16px;
  }
  section.ps_1_2 figure.figure-overlay-caption figcaption a {
    font-size: 22px;
  }
}
/* END SECTION CIRCUITS */

/* SECTION SERVICES */
section.ps_1_3 .service-item {
  background: #fff;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-1);
}
section.ps_1_3 .service-item img {
  height: 240px;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}
section.ps_1_3 .service-item .details {
  padding: var(--card-padding);
}
section.ps_1_3 .service-item .details h4 {
  margin-bottom: 10px;
  font-size: 18px;
  color: var(--main-color);
  text-transform: uppercase;
}

@media (min-width: 992px) {
  section.ps_1_3 .services-list img {
    height: 260px;
  }
  section.ps_1_3 .service-item .details {
    padding: var(--card-padding-lg);
  }
  section.ps_1_3 .services-list .details h4 {
    font-size: 22px;
  }
}
/* END SECTION SERVICES */

/* SECTION ADVANTAGES */
section.ps_1_5 {
  background: var(--section-bg-alt);
}
section.ps_1_5 .advantage-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  margin: 0 auto;
  padding: 25px 30px;
  text-align: center;
  background: #fff;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-1);
  transition: all 0.3s ease-in-out;
}
section.ps_1_5 .advantage-item:hover {
  box-shadow: var(--shadow-2);
}
section.ps_1_5 .advantage-item .pictogram {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  font-size: 46px;
  color: var(--main-color);
  transition: all 0.3s ease-in-out;
}
section.ps_1_5 .advantage-item:hover .pictogram {
  transform: scale(1.2);
}
section.ps_1_5 .advantage-item h4 {
  margin: 15px 0 4px 0;
  font-size: 16px;
  font-weight: 400;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
}
section.ps_1_5 .advantage-item p {
  font-style: italic;
  font-weight: 300;
  line-height: 1.1em;
  transition: all 0.3s ease-in-out;
}

@media (min-width: 992px) {
  section.ps_1_5 .advantage-item {
    padding: 30px 40px;
  }
  section.ps_1_5 .advantage-item .pictogram {
    font-size: 50px;
  }
  section.ps_1_5 .advantage-item h4 {
    margin: 20px 0 6px 0;
    font-size: 18px;
  }
  section.ps_1_5 .advantage-item p {
    line-height: 1.2em;
  }
}
/* END SECTION ADVANTAGES */

/* SECTION PRESENTATION */
section.presentation .heading {
  margin-bottom: 0;
}
section.presentation article {
  text-align: center;
}
section.presentation article p:not(:last-of-type) {
  margin-bottom: 10px;
}
/* END SECTION PRESENTATION */

/* SECTION LAST POSTS */
section.ps_1_9 .post-item {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: #fff;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-1);
  transition: all 0.3s ease-in-out;
}
section.ps_1_9 .post-item:hover {
  box-shadow: var(--shadow-2);
}
section.ps_1_9 .post-item img {
  height: 240px;
}
section.ps_1_9 .post-item .details {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding: var(--card-padding);
}
section.ps_1_9 .post-item .details h3 {
  margin-bottom: 10px;
}
section.ps_1_9 .post-item .details h3 a {
  display: inline-block;
  font-size: 20px;
  color: #323232;
  line-height: 1.2em;
}
section.ps_1_9 .post-item .details > h3 a:hover {
  color: var(--main-color);
}
section.ps_1_9 .post-item .details h3 + div {
  margin-top: auto;
}
section.ps_1_9 .link-all {
  text-align: center;
}

@media (min-width: 992px) {
  section.ps_1_9 .post-item img {
    height: 280px;
  }
  section.ps_1_9 .post-item .details h3 {
    margin-bottom: 15px;
  }
  section.ps_1_9 .post-item .details h3 a {
    font-size: 22px;
  }
}
/* END SECTION LAST POSTS */

/* SECTION PARALLAX */
section.parallax {
  color: #fff;
  background-attachment: fixed;
  position: relative;
}
section.parallax::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--image-overlay-color);
}
section.parallax .container {
  position: relative;
  z-index: 1;
}

section.parallax.reservation,
section.parallax.recommendation {
  text-align: center;
  line-height: 1.2em;
}
section.parallax.reservation h3 {
  margin-bottom: 10px;
  font-size: 22px;
}
section.parallax.reservation h4 {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: 400;
}
section.parallax.reservation p {
  line-height: 1.3em;
}
section.parallax.reservation i {
  font-size: 20px;
}
section.parallax.reservation a {
  font-size: 18px;
  color: #fff;
}

section.parallax.recommendation .logos,
section.parallax.recommendation .logos a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
section.parallax.recommendation .logos a {
  width: 200px;
  height: 100px;
  overflow: hidden;
  padding: 10px;
  background: #fffb;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-1);
  transition: all 0.3s ease-in-out;
}
section.parallax.recommendation .logos img {
  object-fit: contain;
}

section.parallax.ps_1_8 .heading {
  display: none;
}
section.parallax.ps_1_8 .key-figure-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  width: 100%;
  max-width: 240px;
  height: 100%;
  margin: 0 auto;
  padding: 15px;
  border: 2px solid rgba(var(--main-color-rgb-value), 0.7);
  border-radius: 22px 0 22px 22px;
}
section.parallax.ps_1_8 i {
  font-size: 28px;
  line-height: 1em;
}
section.parallax.ps_1_8 .number {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1em;
  width: 110px;
  height: 50px;
  text-align: center;
  background: rgba(var(--main-color-rgb-value), 0.5);
  border-radius: 15px 0 15px 15px;
  box-shadow: var(--shadow-1);
}
section.parallax.ps_1_8 .key-figure-item span.purecounter {
  font-size: 26px;
}
section.parallax.ps_1_8 .key-figure-item span:not(.purecounter) {
  font-size: 24px;
}
section.parallax.ps_1_8 small {
  font-size: 16px;
  line-height: 1em;
  text-align: center;
}

section.parallax.ps_1_10 .swiper .testimonial-item {
  padding: 20px 30px 30px;
  margin-bottom: 50px;
  color: #fff;
  text-align: center;
  background: #fffa;
  background: rgba(var(--secondary-color-rgb-value), 0.35);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-1);
}
section.parallax.ps_1_10 .swiper .testimonial-item i {
  font-size: 30px;
  opacity: 0.8;
}
section.parallax.ps_1_10 .swiper .swiper-pagination-bullet {
  background: #fff;
}

@media (min-width: 992px) {
  section.parallax.reservation h3 {
    margin-bottom: 15px;
    font-size: 26px;
  }
  section.parallax.reservation h4 {
    margin-bottom: 20px;
    font-size: 22px;
  }
  section.parallax.reservation i {
    font-size: 23px;
  }
  section.parallax.reservation a {
    font-size: 20px;
    color: #fff;
  }

  section.parallax.recommendation .logos a {
    width: 220px;
    height: 120px;
  }

  section.parallax.ps_1_8 .key-figure-item {
    gap: 20px;
    max-width: 260px;
    padding: 20px;
  }
  section.parallax.ps_1_8 i {
    font-size: 30px;
  }
  section.parallax.ps_1_8 .number {
    width: 120px;
    height: 54px;
  }
  section.parallax.ps_1_8 .key-figure-item span.purecounter {
    font-size: 28px;
  }
  section.parallax.ps_1_8 .key-figure-item span:not(.purecounter) {
    font-size: 26px;
  }
  section.parallax.ps_1_8 small {
    font-size: 18px;
  }
}
/* END SECTION PARALLAX */

/* FOOTER */
footer .top .logo {
  font-size: 18px;
  color: #fff;
}
footer {
  padding-top: 70px;
  color: #fff;
  background: var(--secondary-color);
  overflow: hidden;
}
footer .middle {
  padding: 30px 0 40px 0;
}
footer .middle h3 {
  margin-bottom: 20px;
  font-size: 16px;
}
footer .middle ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
footer .middle ul a {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 14px;
  color: #8eb4bd;
  text-decoration: none;
  transition: all 0.3s ease;
}
footer .middle ul a:hover {
  padding-left: 5px;
  color: #add3db;
}
footer .middle .addresses {
  margin-bottom: 20px;
  padding: 20px 15px;
  background: var(--secondary-color-hover);
}
footer .middle .addresses * {
  margin: 0;
  font-size: 14px;
  color: #99abaf;
  text-decoration: none;
}
footer .middle .addresses .mail {
  margin: 6px 0 15px 0;
}
footer .middle .addresses .mail a {
  color: var(--main-color);
}
footer .middle .social-links {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: 20px;
}
footer .middle .social-links a {
  font-size: 22px;
  color: #fff;
}
footer .bottom {
  padding: 20px 0;
  background: var(--secondary-color-hover);
}
footer .bottom p,
footer .bottom a {
  font-size: 14px;
  color: #99abaf;
}

@media (min-width: 992px) {
  footer {
    padding-top: 80px;
  }
  footer .top .logo {
    font-size: 22px;
  }
  footer .middle {
    padding: 40px 0 50px 0;
  }
  footer .middle h3 {
    margin-bottom: 25px;
    font-size: 18px;
  }
  footer .middle ul a,
  footer .middle .addresses * {
    font-size: 16px;
  }
}
/* END FOOTER */

/* PAGE BANNER */
main > .banner {
  height: var(--page-banner-height);
  padding-top: calc(var(--navbar-height) + 20px);
  padding-bottom: calc(var(--navbar-height) - 20px);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
main > .banner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: var(--image-overlay-color);
}
main > .banner > .container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  position: relative;
  z-index: 1;
}
main > .banner h1 {
  margin: 0;
  font-size: 22px;
  color: #fff;
  line-height: 1em;
}
main > .banner .breadcrumb {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 0;
}
main > .banner .breadcrumb a {
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  opacity: 0.8;
  transition: all 0.3s ease-in-out;
}
main > .banner .breadcrumb a:hover,
main > .banner .breadcrumb a.active {
  opacity: 1;
}
main > .banner .breadcrumb i {
  font-size: 12px;
  color: #fff;
  opacity: 0.8;
}

@media (min-width: 768px) {
  main > .banner h1 {
    font-size: 38px;
  }
}
@media (min-width: 992px) {
  main > .banner {
    height: var(--page-banner-height-lg);
    padding-top: calc(var(--navbar-height-lg) + 30px);
    padding-bottom: calc(var(--navbar-height-lg) - 30px);
  }
  main > .banner h1 {
    font-size: 42px;
  }
  main > .banner .breadcrumb {
    gap: 8px;
  }
  main > .banner .breadcrumb a {
    font-size: 16px;
  }
}
/* END PAGE BANNER */

/* SECTION ABOUT-US */
section.about-us .items {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 30px;
}
section.about-us .item {
  display: grid;
  gap: 15px;
}
section.about-us .item .texts .title {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
  color: var(--main-color);
  text-transform: uppercase;
}
section.about-us .item .texts .text {
  font-size: 14px;
}
section.about-us .item .image img {
  display: block;
  max-width: 400px;
  max-height: 500px;
}

@media (min-width: 992px) {
  section.about-us .items {
    gap: 50px;
  }
  section.about-us .item {
    grid-template-columns: 1.5fr 1fr;
    gap: 20px;
  }
  section.about-us .item:nth-of-type(odd) {
    grid-template-columns: 1fr 1.5fr;
  }
  section.about-us .item:nth-of-type(odd) .texts {
    order: 1;
  }
  section.about-us .item .texts .title {
    margin-bottom: 15px;
    font-size: 18px;
  }
  section.about-us .item .texts .text {
    font-size: 16px;
  }
  section.about-us .item .image img {
    margin: auto;
  }
}
/* END SECTION ABOUT-US */

/* ABOUT-US SECTION */
section.about-us-section:nth-of-type(even) {
  background: var(--section-bg-alt);
}
section.about-us-section .heading {
  margin: 0;
}
/* END ABOUT-US SECTION */

/* ABOUT US QUESTIONS */
.about-us-questions .question {
  margin-bottom: 30px;
}
.about-us-questions .question h3 {
  margin-bottom: 10px;
  font-size: 24px;
  color: var(--main-color);
}
/* END ABOUT US QUESTIONS */

/* ASIDE CARD  */
.aside-card {
  background: #f2f2f2;
}
.aside-card.guide {
  color: #fff;
  text-align: center;
  background: var(--main-color);
}
.aside-card .text {
  padding: 30px 25px;
  line-height: 1.5em;
}
.aside-card.guide .text {
  padding: 40px 25px;
}
.aside-card .text h4 {
  margin-bottom: 10px;
  font-size: 20px;
}
.aside-card .text p {
  margin: 0 !important;
}
.aside-card.reservation h4 {
  color: var(--main-color);
}
.aside-card.reservation h6 {
  margin: 10px 0;
}
.aside-card.reservation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.aside-card.reservation ul li {
  margin-bottom: 0 !important;
}
.aside-card.reservation ul li i {
  color: var(--main-color);
}
.aside-card.reservation ul li a {
  color: inherit;
}
/* END ASIDE CARD  */

/* FORMS */
form.processing {
  position: relative;
}
form.processing::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff3;
}
form.processing .dots-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
form:not(.processing) .dots-wrapper {
  display: none;
}
.dot-windmill,
.dot-windmill::before,
.dot-windmill::after {
  background-color: var(--main-color) !important;
  color: var(--main-color) !important;
}
.form-control,
.btn {
  padding: 8px 12px;
  font-size: 15px;
  border-radius: var(--border-radius);
  transition: all 0.3s ease-in-out;
}
.form-control:focus {
  border-color: rgba(var(--main-color-rgb-value), 0.5);
  outline: none;
  box-shadow: none;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select,
.form-floating > label {
  height: unset;
  padding: 20px 15px;
}
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown),
.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown) {
  padding-top: 30px;
  padding-bottom: 10px;
}
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
  transform: scale(0.8) translateY(-7px) translateX(0.15rem);
}
.form-floating > label {
  transition: all 0.2s;
}
.form-floating > textarea.form-control {
  min-height: 120px;
}
.form-floating > .form-control:focus ~ label {
  color: var(--main-color-hover);
}
label .star {
  font-size: 13px;
  color: red;
}
.btn-primary {
  background-color: var(--main-color);
  border-color: var(--main-color);
}
.btn-primary:hover {
  background-color: var(--main-color-hover);
  border-color: var(--main-color-hover);
}
.btn-outline-primary {
  color: var(--main-color);
  border-color: var(--main-color);
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: var(--main-color);
  border-color: var(--main-color);
}
.btn-and-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}
.btn-and-status .status {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  line-height: 1.3em;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s ease-in-out;
}
form.processing .btn-and-status .status,
form.successed .btn-and-status .status,
form.failed .btn-and-status .status {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
form.successed .btn-and-status .status {
  color: var(--main-color);
}
form.failed .btn-and-status .status {
  color: red;
}
.btn-arrow i {
  transition: all 0.3s ease;
}
.btn-arrow:hover i.fa-arrow-right {
  padding-left: 10px;
}
.btn-arrow:hover i.fa-arrow-left {
  padding-right: 10px;
}

@media (min-width: 992px) {
  .form-control,
  .btn {
    padding: 10px 15px;
    font-size: 17px;
  }
  .form-floating > .form-control,
  .form-floating > .form-control-plaintext,
  .form-floating > .form-select,
  .form-floating > label {
    padding: 25px 20px;
  }
  .form-floating > .form-control-plaintext:focus,
  .form-floating > .form-control-plaintext:not(:placeholder-shown),
  .form-floating > .form-control:focus,
  .form-floating > .form-control:not(:placeholder-shown) {
    padding-top: 35px;
    padding-bottom: 15px;
  }
  .form-floating > .form-control-plaintext ~ label,
  .form-floating > .form-control:focus ~ label,
  .form-floating > .form-control:not(:placeholder-shown) ~ label,
  .form-floating > .form-select ~ label {
    transform: scale(0.85) translateY(-10px) translateX(0.15rem);
  }
  .form-floating > textarea.form-control {
    min-height: 160px;
  }
  label .star {
    font-size: 14px;
  }
  .btn-and-status {
    gap: 20px;
  }
  .btn-and-status .status {
    font-size: 16px;
  }
}
/* END FORMS */

/* CONTACT-FORM */
#contact-form textarea {
  overflow: hidden;
  resize: none;
}
/* END CONTACT-FORM */

/* PIC-CARD */
.pic-card {
  display: block;
  border-radius: var(--border-radius);
  overflow: hidden;
  position: relative;
}
.pic-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0004;
  transition: all 1s ease-in-out;
}
.pic-card:hover::after {
  background: transparent;
}
.pic-card img {
  pointer-events: none;
  transition: all 1s ease-in-out 0.3s;
}
.pic-card:hover img {
  transform: scale(1.35) rotate(10deg);
}
.pic-card span {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 15px;
  font-size: 18px;
  color: #fff;
  text-transform: uppercase;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
  transition: all 0.3s ease-in-out;
}
.pic-card:hover span {
  padding: 10px 15px;
  font-size: 16px;
}

@media (min-width: 992px) {
  .pic-card span {
    padding: 18px 15px;
    font-size: 20px;
  }
  .pic-card:hover span {
    padding: 12px 15px;
    font-size: 18px;
  }
}
/* END PIC-CARD */

/* PICTURES PICTURE ITEM */
section.pictures {
  background: var(--section-bg-alt);
}
.pictures .picture-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  height: 100%;
  padding: 5px;
  font-size: 14px;
  color: #545454;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: #fff;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-1);
  transition: all 0.3s ease-in-out;
}
.pictures .picture-item:hover {
  box-shadow: var(--shadow-3);
}
.pictures .picture-item figure {
  height: 160px;
  width: 100%;
  margin: 0;
  border-radius: var(--border-radius);
  overflow: hidden;
  position: relative;
}
.pictures .picture-item figure::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--image-overlay-color);
  transition: all 1s ease-in-out;
}
.pictures .picture-item:hover figure::after {
  background: transparent;
}
.pictures .picture-item figure img {
  transform: scale(1.1);
  transition: all 1s ease-in-out 0.3s;
}
.pictures .picture-item:hover figure img {
  transform: scale(1.35) rotate(10deg);
}
.pictures .picture-item figure i {
  position: absolute;
  top: 10px;
  left: 10px;
  line-height: 1em;
  font-size: 22px;
  color: #fff;
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}
.pictures .picture-item:hover figure i {
  opacity: 1;
}
.pictures .picture-item span {
  flex-grow: 1;
  display: flex;
  align-items: center;
  min-height: 42px;
}

@media (min-width: 576px) {
  .pictures .picture-item figure {
    height: 180px;
  }
}
/* END PICTURES PICTURE ITEM */

/* CIRCUIT DETAILS */
.ps_3_28 .circuit-details-item {
  background: var(--section-bg-alt);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-1);
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}
.ps_3_28 .circuit-details-item:hover {
  box-shadow: var(--shadow-3);
}
.ps_3_28 .circuit-details-item figure {
  height: 200px;
  margin: 0;
  overflow: hidden;
  position: relative;
}
.ps_3_28 .circuit-details-item figure::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--image-overlay-color);
  transition: all 0.3s ease-in-out;
}
.ps_3_28 .circuit-details-item:hover figure::after {
  background: transparent;
}
.ps_3_28 .circuit-details-item:hover figure img {
  transform: scale(1.1);
}
.ps_3_28 .circuit-details-item .caption {
  padding: var(--card-padding);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2em;
  text-align: center;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
}

@media (min-width: 576px) {
  .ps_3_28 .circuit-details-item figure {
    height: 260px;
  }
}
@media (min-width: 768px) {
  .ps_3_28 .circuit-details-item figure {
    height: 220px;
  }
}
@media (min-width: 992px) {
  .ps_3_28 .circuit-details-item figure {
    height: 260px;
  }
  .ps_3_28 .circuit-details-item .caption {
    padding: var(--card-padding-lg);
    font-size: 18px;
  }
}
/* END CIRCUIT DETAILS */

/* LOGIN FORM SECTION */
section.ps_7_25 {
  padding: 0;
}
/* END LOGIN FORM SECTION */

/* POSTS LIST SECTION */
section.ps_5_27 .post-details-image {
  display: block;
  max-height: 240px;
  overflow: hidden;
  border-radius: var(--border-radius);
  position: relative;
}
section.ps_5_27 .post-details-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: var(--image-overlay-color);
  transition: all 0.3s ease-in-out;
}
section.ps_5_27 .post-details-item:hover .post-details-image::after {
  background: transparent;
}
.post-details-image img {
  object-fit: cover;
}
section.ps_5_27 .post-details-item:hover .post-details-image img {
  transform: scale(1.1);
}
section.ps_5_27 .post-details-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--card-padding);
  padding-top: 0;
  padding-bottom: 0;
}
.post-details-content > h3 {
  margin-bottom: 5px;
}
.post-details-content > h3 a {
  display: inline-block;
  line-height: 1.2em;
  font-weight: 600;
  font-size: 20px;
  color: #323232;
}
.post-details-content > h3 a:hover {
  color: var(--main-color);
}
.post-details-content .summary {
  flex-grow: 1;
  margin-bottom: 15px;
}
section.ps_5_27 .pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 30px;
}
section.ps_5_27 .pagination .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  color: #545454;
  border-color: #dadada;
  border-radius: 50%;
  outline: none;
  box-shadow: none;
}
section.ps_5_27 .pagination .page-link:focus,
section.ps_5_27 .pagination .page-link:active {
  outline: none;
  box-shadow: none;
}
section.ps_5_27 .pagination .page-link.active {
  color: #fff;
  background: var(--main-color);
  border-color: var(--main-color-hover);
}

@media (min-width: 768px) {
  section.ps_5_27 .post-details-image {
    height: 100%;
    max-height: 420px;
  }
  section.ps_5_27 .post-details-content {
    padding: 0;
  }
}
@media (min-width: 992px) {
  .post-details-content > h3 a {
    font-size: 24px;
  }
}
/* END POSTS LIST SECTION */

/* POST DETAILS PAGE */
.post-details hr {
  margin: 20px 0;
}
.post-details .container > figure {
  max-width: 800px;
  margin: 0 auto;
}
.post-details .published {
  margin-bottom: 25px;
  color: #545454;
}
/* END POST DETAILS PAGE */

/* BTN SCROLL TO TOP */
#scroll2top {
  display: grid;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 20px;
  color: #fff;
  background: var(--navbar-bg-sticky);
  border: 0;
  cursor: pointer;
  position: fixed;
  bottom: 15px;
  right: 15px;
  z-index: 99;
  transition: all 0.3s ease-in-out;
  border-radius: 50%;
  box-shadow: var(--shadow-1);
}

@media (min-width: 768px) {
  #scroll2top {
    width: 50px;
    height: 50px;
    font-size: 22px;
    bottom: 20px;
    right: 20px;
  }
}
/* END BTN SCROLL TO TOP */

/* NAVBAR V2 */
#navbarv2 {
  height: var(--nav2-height);
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}
#navbarv2.sticky,
#mobilenavs {
  background: var(--navbar-bg-sticky);
}
#navbarv2 .brandnavs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: var(--nav2-padding-y) 0;
}
#navbarv2 .brandnavs .brand {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
#mobilenavs .brandwr img,
.brandnavs .brand img {
  width: auto;
  height: calc(var(--nav2-height) - var(--nav2-padding-y) * 2);
  object-fit: cover;
}
.brandnavs .navlinks {
  display: flex;
  align-items: center;
  gap: 20px;
}
.navlinks a {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 0;
  font-weight: 600;
  font-size: 16px;
  color: #fff;
  white-space: nowrap;
  transition: all 0.3s ease-in-out;
  position: relative;
}

#mobilenavs {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  transform: scaleY(0);
  transform-origin: top;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s ease-in-out;
}
#mobilenavs.active {
  transform: scaleY(1);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
#mobilenavs .brandwr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--nav2-height);
}
#mobilenavs .brandwr .ics {
  display: flex;
  align-items: center;
  gap: 20px;
}
#mobilenavs .brandwr a,
#mobilenavs .navitem a {
  display: flex;
  align-items: center;
  color: #fff;
}
#mobilenavs .navlinks {
  display: flex;
  flex-direction: column;
  margin-top: calc(var(--nav2-padding-y) * 2);
}
#mobilenavs .navitem {
  padding: var(--nav2-padding-y) 0;
}
#mobilenavs .navitem:not(:last-of-type) {
  border-bottom: 1px solid #fff;
}
#mobilenavs .navitem > a .fa-angle-down,
.navlinks .navitem > a .fa-angle-down {
  display: inline-block;
  margin-top: 4px;
  margin-left: 5px;
  font-size: 12px;
  transition: all 0.3s ease-in-out;
}
#mobilenavs .navitem:hover > a .fa-angle-down,
.navlinks .navitem:hover > a .fa-angle-down {
  transform: rotateZ(180deg);
}
#mobilenavs .navitem > a .fa-angle-down {
  margin-left: auto;
}
#mobilenavs .subnav {
  display: flex;
  flex-direction: column;
  height: 0;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}
#mobilenavs .navitem:hover > .subnav {
  height: auto;
}
#mobilenavs .subnav img,
.subnav .subnavitem img {
  width: 50px;
  height: 50px;
  object-fit: cover;
}

@media (max-width: 991px) {
  .brandnavs .navlinks.lg {
    display: none;
  }
}
@media (min-width: 992px) {
  #navbarv2 {
    height: var(--nav2-height-lg);
  }
  #mobilenavs,
  .brandnavs .navlinks:not(.lg) {
    display: none;
  }
  #navbarv2 .brandnavs {
    padding: var(--nav2-padding-y-lg) 0;
  }
  #navbarv2 .brandnavs .brand {
    font-size: 21px;
  }
  .brandnavs .brand img {
    height: calc(var(--nav2-height-lg) - var(--nav2-padding-y-lg) * 2);
  }
  .brandnavs .navlinks .navitem {
    position: relative;
  }
  .navlinks .navitem .subnav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: var(--nav2-submenu-row-gap);
    column-gap: var(--nav2-submenu-column-gap);
    margin-top: -1px;
    padding: var(--nav2-submenu-row-gap) var(--nav2-submenu-column-gap);
    background: var(--navbar-bg-sticky);
    border-top: 1px solid #fff;
    border-radius: var(--border-radius);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) scale(0);
    transform-origin: top;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s ease-in-out;
  }
  #navbarv2.sticky .navlinks .navitem .subnav {
    background-color: var(--section-bg-alt);
  }
  .navlinks .navitem:hover .subnav {
    transform: translateX(-50%) scale(1);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .navitem > a > span {
    width: 100%;
    height: 1px;
    background-color: #fff;
    border-radius: var(--border-radius);
    transform: scaleX(0);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all 0.3s ease-in-out;
  }
  .navitem > a:hover > span {
    transform: scaleX(1);
  }
  .subnav .subnavitem > a {
    gap: 15px;
    color: #fff;
  }
  #navbarv2.sticky .subnav .subnavitem > a {
    color: var(--secondary-color);
  }
  #navbarv2.sticky .subnav .subnavitem > a:hover {
    color: var(--secondary-color-hover);
  }
}
/* END NAVBAR V2 */

/* SIDE BUTTONS */
#sideButtons {
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 99;
  transform: translateY(-50%);
}
#sideButtons > div {
  width: var(--side-btn-size);
  height: var(--side-btn-size);
  position: relative;
}
#sideButtons a {
  display: flex;
  align-items: center;
  justify-content: start;
  height: 100%;
  padding-right: calc(var(--nav2-padding-y) * 1.5);
  font-size: 16px;
  color: #fff;
  background: rgba(var(--main-color-rgb-value), 0.65);
  border: 1px solid var(--main-color);
  border-right: 0;
  border-radius: var(--border-radius);
  position: absolute;
  right: 0;
  transform: translateX(calc(100% - var(--side-btn-size)));
  transition: all 0.3s ease-in-out;
}
#sideButtons:hover a{
  background: var(--navbar-bg-sticky);
}
#sideButtons a:hover {
  background: var(--main-color);
  transform: translateX(0);
}
#sideButtons a > * {
  display: flex;
  align-items: center;
  height: 100%;
}
#sideButtons a > span {
  justify-content: center;
  width: var(--side-btn-size);
}
#sideButtons a small {
  position: relative;
  left: 50px;
  opacity: 0;
  transition: all 0.3s ease-in-out 0.1s;
}
#sideButtons a:hover small {
  left: 0;
  opacity: 1;
}
#sideButtons a > small {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  gap: 3px;
  white-space: nowrap;
  line-height: 1em;
  font-size: 14px;
  
}
#sideButtons a > small small {
  font-size: 12px;
  transition-delay: 0.2s;
}

@media (min-width: 992px) {
  #sideButtons > div {
    width: var(--side-btn-size-lg);
    height: var(--side-btn-size-lg);
  }
  #sideButtons a {
    padding-right: calc(var(--nav2-padding-y-lg) * 1.5);
    font-size: 22px;
    transform: translateX(calc(100% - var(--side-btn-size-lg)));
  }
  #sideButtons a > span {
    width: var(--side-btn-size-lg);
  }
  #sideButtons a > small {
    font-size: 16px;
  }
  #sideButtons a > small small {
    font-size: 14px;
  }
}
/* END SIDE BUTTONS */