@import url("https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap");

:root {
  --primary: #17567f;
  --secondary: #f8711f;
  --light: #fff;
  --dark: #000;
  --text-1: #000000b3;
  --text-2: #6f7074;
  --primary-font: "Mulish", sans-serif;
  --transition: all 0.5s linear;
  --transition-2: all 0.4s ease-in-out;
}

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  overflow-x: hidden !important;
}
body {
  font-size: 100%;
  font-weight: 400;
  font-family: var(--primary-font);
  -webkit-transition: 0.35s ease-in-out;
  -o-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
  margin: 0;
  padding: 0;
  background-color: var(--light);
  overflow-x: clip;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--primary-font);
  margin: 0;
}
strong {
  font-weight: 700;
}
a,
a:active,
a:hover {
  text-decoration: none;
  outline: unset;
  transition: var(--transition-2);
  font-family: var(--primary-font);
}
img {
  max-width: 100%;
  height: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
  border-radius: 5px;
}
p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-2);
  font-family: var(--primary-font);
  margin: 4px 0 0;
}
.content-area p {
  margin: 10px 0 0;
}
p:empty {
  display: none;
}
span {
  font-family: var(--primary-font);
}
.btn {
  font-weight: 700;
  font-size: 14px;
  line-height: 100%;
  color: var(--primary);
  padding: 10px 16px;
  background-color: var(--light);
  border: 1px solid var(--light);
  border-radius: 50px;
  position: relative;
  transition: var(--transition-2);
  display: flex;
  gap: 40px;
  justify-content: space-between;
  width: fit-content;
  white-space: nowrap;
  font-family: var(--primary-font);
}
.btn::after {
  content: url("../img/btn-arrow.png");
}
.btn:hover {
  color: var(--light);
  background-color: transparent;
  border-color: var(--light);
}
.btn:hover::after {
  content: url("../img/btn-arrow-1.png");
}
.btn.large {
  padding: 14px 16px;
}
.btn.primary-btn {
  background-color: var(--primary);
  border-color: var(--primary);
  color: var(--light);
}
.btn.primary-btn::after {
  content: url("../img/btn-arrow-1.png");
}
.btn.primary-btn:hover {
  background-color: transparent;
  color: var(--primary);
}
.btn.primary-btn:hover::after {
  content: url("../img/btn-arrow.png");
}
.btn.secondary-btn {
  background-color: var(--secondary);
  border-color: var(--secondary);
  color: var(--light);
}
.btn.secondary-btn::after {
  content: url("../img/btn-arrow-1.png");
}
.btn.secondary-btn:hover {
  background-color: transparent;
  color: var(--secondary);
}
.btn.secondary-btn:hover::after {
  content: url("../img/btn-arrow-2.png");
}
.btn.secondary-btn-text {
  background-color: var(--light);
  border-color: var(--light);
  color: var(--secondary);
}
.btn.secondary-btn-text::after {
  content: url("../img/btn-arrow-2.png");
}
.btn.secondary-btn-text:hover {
  background-color: transparent;
  color: var(--light);
}
.btn.secondary-btn-text:hover::after {
  content: url("../img/btn-arrow-1.png");
}
h1 span,
h2 span,
h3 span {
  color: var(--secondary);
}
.wrapper-1,
.wrapper-2,
.wrapper-3 {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px;
}
.wrapper-2 {
  max-width: 1200px;
}
.wrapper-3 {
  max-width: 950px;
}
.flex {
  display: flex;
  gap: 14px;
  align-items: center;
}
.section-title {
  letter-spacing: -3%;
}
.section-title,
.entry-title,
.banner-title {
  font-size: clamp(26px, 3.4vw, 44px);
  margin: 0;
  line-height: 1.06;
  font-weight: 700;
  color: var(--text-1);
}
.banner-title {
  font-size: clamp(28px, 3.4vw, 50px);
  margin: 0;
  color: var(--light);
  letter-spacing: -3%;
}
.entry-title {
  font-size: clamp(20px, 2vw, 24px);
  color: var(--primary);
}
.entry-title a {
  color: var(--primary);
}
.entry-title.large {
  font-size: clamp(22px, 2vw, 28px);
}
.entry-title.x-large {
  font-size: clamp(24px, 2vw, 38px);
  letter-spacing: -3%;
}
.section-title-2,
.entry-title a:hover {
  color: #6f7074;
}
.section-title-2 span {
  color: var(--primary);
}
main#primary > section {
  padding-bottom: 90px;
}
input,
textarea,
select {
  font-family: var(--primary-font);
}

/* Header section css  */
.site-header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 99;
  transition: var(--transition-2);
}
.site-header.default-header {
  position: relative;
  background: var(--primary);
  margin-bottom: 45px;
}
.header-top {
  background-color: var(--dark);
  padding: 10px 20px;
}
.header-top-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}
.header-top span {
  color: #ffffff9f;
  font-size: 14px;
}
.header-top a {
  color: var(--light);
}
.header-top-left > span:not(:last-child) {
  margin-right: 12px;
}
.header-top-wrapper ul {
  display: flex;
  align-items: center;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}
.header-top-wrapper ul li a {
  font-size: 14px;
  font-weight: 400;
}
.site-header-wrapper {
  justify-content: space-between;
  padding: 30px 0 0;
  position: relative;
}
.site-header-wrapper .header-button {
  display: flex;
  align-items: center;
  gap: 30px;
}
.default-header .site-header-wrapper {
  padding: 20px 0;
}
.site-header.sticky {
  position: fixed;
  background-color: var(--primary);
  box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px,
    rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;
}
.site-header.sticky .site-header-wrapper {
  padding: 20px 0;
}
.social-media {
  display: flex;
  gap: 8px;
}
.social-media i {
  font-size: clamp(14px, 2vw, 16px);
  color: #ffffffa1;
}
.site-navigation-wrapper {
  padding: 15px 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
  position: sticky;
  top: 0;
  z-index: 1;
}
.site-description {
  color: var(--light);
  opacity: 100%;
  font-weight: 500;
  font-size: clamp(20px, 2vw, 24px);
}
.site-navigation-wrapper .wrapper-2 {
  justify-content: space-between;
}
.header-link-icon {
  padding-left: 20px;
  display: none;
}
.sticky .header-link-icon {
  display: flex;
}
.main-navigation ul {
  display: flex;
  align-items: center;
  gap: 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.main-navigation ul li a {
  font-weight: 700;
  font-size: 16px;
  color: var(--light);
}
.hamburger-toggle {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  display: none;
}
.hamburger-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 32px;
  height: 22px;
}
.line {
  display: block;
  width: 100%;
  height: 3px;
  background-color: var(--light);
  border-radius: 500px;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}
.main-navigation,
.main-navigation .menu-menu-1-container,
.main-navigation #primary-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.main-navigation > div > ul {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}
.main-navigation > div > ul > li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.main-navigation > div > ul > li:last-child {
  padding-right: 0;
}
.main-navigation > div > ul > li i {
  color: #fff;
  font-size: 13px;
  margin-left: 5px;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 20px;
}
.main-navigation > div > ul > li:hover i {
  transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
  -moz-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  -o-transform: rotate(-180deg);
}
.main-navigation > div > ul > li > a {
  position: relative;
  z-index: 1000;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.site-header.fixed .main-navigation > div > ul > li:hover > a,
.header-default .main-navigation > div > ul > li:hover > a {
  color: #fff;
}
.site-header.fixed .main-navigation > div > ul > li > a::after,
.header-default .main-navigation > div > ul > li > a::after {
  background: #fff;
}
.site-header.fixed .header__grid > div:nth-child(2),
.header-default .header__grid > div:nth-child(2) {
  height: 100%;
}

/*  */
/*  */
.main-navigation > div > ul > li.menu-item-has-children > a {
  padding-right: 27px;
}
.main-navigation > div > ul > li.menu-item-has-children > a::before {
  content: "\f078";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 10px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 10px;
  color: var(--light);
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}
.site-header.fixed
  .main-navigation
  > div
  > ul
  > li.menu-item-has-children
  > a:hover::before,
.site-header.fixed
  .main-navigation
  > div
  > ul
  > li.menu-item-has-children:hover
  > a::before {
  color: var(--light);
}
.site-header.fixed #primary-menu li.menu-item-has-children > ul {
  margin-top: -5px;
}

.main-navigation > div > ul > li.menu-item-has-children > .sub-menu::after {
  content: "";
  width: 18px;
  height: 12px;
  background: #fff;
  right: 15px;
  position: absolute;
  top: -12px;
  z-index: -1;
  clip-path: polygon(50% 0, 0% 100%, 100% 100%);
}
.site-header.fixed
  .main-navigation
  > div
  > ul
  > li.menu-item-has-children
  > a::after,
.header-default
  .main-navigation
  > div
  > ul
  > li.menu-item-has-children
  > a::after {
  -webkit-animation: fadeupFixedArrow 0.4s ease-in-out forwards;
  animation: fadeupFixedArrow 0.4s ease-in-out forwards;
}

.main-navigation > div > ul > li.menu-item-has-children .sub-menu {
  display: none;
  position: absolute;
  right: 0;
  width: 100%;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  min-width: 235px;
  max-width: 480px;
  z-index: 9999;
  transform: translateY(-30px);
}
.main-navigation > div > ul > li.menu-item-has-children .sub-menu::before {
  content: "";
  position: absolute;
  z-index: -1;
  height: calc(100% + 20px);
  left: 50%;
  top: -25px;
  width: 100%;
  margin: 0 auto;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
.main-navigation > div > ul > li.menu-item-has-children .sub-menu {
  -webkit-box-shadow: 0 12px 40px 0 rgba(99, 153, 122, 0.2),
    0 70px 100px -60px rgba(99, 153, 122, 0.4);
  box-shadow: 0 12px 40px 0 rgba(99, 153, 122, 0.2),
    0 70px 100px -60px rgba(99, 153, 122, 0.4);
  pointer-events: initial;
  margin: 0 auto;
  padding: 10px;
}
.sub-menu {
  padding: 10px;
  margin: 0;
  list-style-type: none;
  border-radius: 10px;
}
.sub-menu > li > a {
  font-size: 15px;
  color: var(--primary);
  font-weight: 600;
  display: inline-block;
  line-height: 22px;
  position: relative;
  -webkit-transition: 0.3s linear;
  -o-transition: 0.3s linear;
  transition: 0.3s linear;
  display: block;
  padding: 10px;
  border-radius: 12px;
  background-color: #17557f1a;
}

.sub-menu > li > a::before,
.sub-menu > li > a::after {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  font-size: 12px;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.sub-menu > li > a::after {
  opacity: 0;
  visibility: hidden;
}

.sub-menu > li > a:hover::after {
  right: 10px;
  opacity: 1;
  visibility: visible;
}

.sub-menu > li > a:hover {
  background: var(--light);
}

@-webkit-keyframes fadeupArrow {
  from {
    opacity: 0;
    bottom: -140px;
  }
  to {
    opacity: 1;
    bottom: -30px;
  }
}
@keyframes fadeupArrow {
  from {
    opacity: 0;
    bottom: -140px;
  }
  to {
    opacity: 1;
    bottom: -30px;
  }
}

@-webkit-keyframes fadeup {
  from {
    opacity: 0;
    top: 140px;
  }
  to {
    opacity: 1;
    top: 72px;
  }
}
@keyframes fadeup {
  from {
    opacity: 0;
    top: 140px;
  }
  to {
    opacity: 1;
    top: 72px;
  }
}

@-webkit-keyframes fadeleft {
  from {
    opacity: 0;
    left: 500px;
  }
  to {
    opacity: 1;
    left: 290px;
  }
}
@keyframes fadeleft {
  from {
    opacity: 0;
    left: 500px;
  }
  to {
    opacity: 1;
    left: 290px;
  }
}

@-webkit-keyframes fadeupFixedArrow {
  from {
    opacity: 0;
    bottom: -140px;
  }
  to {
    opacity: 1;
    bottom: 0;
  }
}
@keyframes fadeupFixedArrow {
  from {
    opacity: 0;
    bottom: -140px;
  }
  to {
    opacity: 1;
    bottom: 0;
  }
}
@-webkit-keyframes fadeupFixed {
  from {
    opacity: 0;
    top: 150%;
  }
  to {
    opacity: 1;
    top: 85px;
  }
}
@keyframes fadeupFixed {
  from {
    opacity: 0;
    top: 150%;
  }
  to {
    opacity: 1;
    top: 85px;
  }
}
.main-navigation > div ul > li.menu-item-has-children:hover > .sub-menu {
  display: block;
  -webkit-animation: fadeup 0.3s ease-in-out forwards;
  animation: fadeup 0.3s ease-in-out forwards;
}
.main-navigation
  > div
  > ul
  > li.menu-item-has-children
  > .sub-menu
  > li.menu-item-has-children:hover
  > .sub-menu {
  display: block;
  left: 100%;
  top: 0;
  opacity: 1;
  visibility: visible;
  animation: fadeleft 0.3s ease-in-out forwards;
  -webkit-animation: fadeleft 0.3s ease-in-out forwards;
}

.site-header.fixed
  .main-navigation
  > div
  > ul
  > li.menu-item-has-children:hover
  .sub-menu,
.header-default
  .main-navigation
  > div
  > ul
  > li.menu-item-has-children:hover
  .sub-menu {
  -webkit-animation: fadeupFixed 0.3s ease-in-out forwards;
  animation: fadeupFixed 0.3s ease-in-out forwards;
}

.main-navigation > div > ul > li .sub-menu > li {
  position: relative;
}

.main-navigation > div > ul > li:hover ul {
  display: block;
}
.offcanvas {
  min-height: 100vh;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 10000;
  left: -100%;
  -webkit-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  transition: all 0.5s linear;
  display: block;
}
.offcanvas.show {
  left: 0;
}
.offcanvas .offcanvas__bar {
  width: 100%;
  position: relative;
  z-index: 10;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  transition: all 0.5s linear;
}
.admin-bar .offcanvas .offcanvas__bar {
  top: 32px;
}
.offcanvas .offcanvas__bar .offcanvas__sidebar {
  width: 100%;
  background: #124566;
  position: relative;
  z-index: 10;
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow-y: auto;
}
.offcanvas .offcanvas__bar .offcanvas__sidebar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("./assets/img/event-bg1.svg");
  background-attachment: fixed;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  pointer-events: none;
  z-index: 1;
  bottom: 0;
  opacity: 0.6;
}
.offcanvas .offcanvas__bar.showbar {
  left: 0;
}
.offcanvas .social-media a {
  opacity: 80%;
}
.offcanvas__logo {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  width: 100%;
}
.offcanvas__logo .custom-logo-link {
  padding: 10px 20px;
  display: block;
  text-align: center;
  background: var(--primary);
  border-bottom: 1px solid #ffffff45;
}
.offcanvas__logo a img,
.offcanvas__new__logo a img {
  margin: 0 auto;
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(-100px);
  -ms-transform: translateY(-100px);
  transform: translateY(-100px);
  -webkit-transition: all 0.7s ease-in-out;
  -o-transition: all 0.7s ease-in-out;
  transition: all 0.7s ease-in-out;
  max-width: 260px;
}
.offcanvas__close {
  position: absolute;
  top: 0;
  width: 80px;
  height: 79px;
  z-index: 100;
  right: 0;
  background-color: #124566;
  border-left: 1px solid #ffffff33;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
}

.offcanvas__close .offcanvas__icon {
  text-align: center;
  line-height: 0;
}
.offcanvas__close .offcanvas__icon span {
  display: inline-block;
  position: relative;
  width: 38px;
  height: 2px;
  vertical-align: top;
  background: var(--light);
}
.offcanvas__close .offcanvas__icon span + span {
  margin-top: 5px;
}

.offcanvas.show .offcanvas__close .offcanvas__icon span:nth-child(1) {
  -webkit-animation: ease 0.7s 1s icon1 forwards;
  animation: ease 0.7s 1s icon1 forwards;
}

.offcanvas.show .offcanvas__close .offcanvas__icon span:nth-child(2) {
  -webkit-animation: ease 0.7s 1s icon2 forwards;
  animation: ease 0.7s 1s icon2 forwards;
}

.offcanvas.show .offcanvas__close .offcanvas__icon span:nth-child(3) {
  -webkit-animation: ease 0.7s 1s icon3 forwards;
  animation: ease 0.7s 1s icon3 forwards;
}
@-webkit-keyframes icon1 {
  0% {
    top: 0;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    top: 7px;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    top: 7px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
@keyframes icon1 {
  0% {
    top: 0;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    top: 7px;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    top: 7px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
@-webkit-keyframes icon2 {
  50% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}
@keyframes icon2 {
  50% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}
@-webkit-keyframes icon3 {
  0% {
    bottom: 0;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    bottom: 7px;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    bottom: 7px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
}
@keyframes icon3 {
  0% {
    bottom: 0;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    bottom: 7px;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    bottom: 7px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
}

.offcanvas .offcanvas__grid .uk-grid {
  margin-left: 0;
}
.offcanvas .offcanvas__grid .uk-grid > div {
  width: 50%;
  padding: 0;
}
.offcanvas ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  width: 100%;
}
#primary-menu > li > ul > li > a {
  position: relative;
  color: var(--primary);
}
.offcanvas #primary-menu1 > li.menu-item-has-children > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.offcanvas #primary-menu1 > li.menu-item-has-children > a::after,
.offcanvas #primary-menu1 > li > ul > li.menu-item-has-children > a::after {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 14px;
  color: var(--light);
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}
.offcanvas #primary-menu1 > li.menu-item-has-children > a.show-active::after {
  transform: rotate(90deg);
}
.offcanvas #primary-menu1 > li > ul > li,
.offcanvas .sub-menu > li > a:hover {
  background-color: unset !important;
  width: 100%;
}
.offcanvas #primary-menu1 > li > ul > li:nth-child(even) {
  background-color: #1e5375 !important;
}
.offcanvas #primary-menu1 > li > ul > li a {
  padding: 10px 45px;
}
#primary-menu > li > ul > li.menu-item-has-children::after {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 14px;
  position: absolute;
  top: 10px;
  color: var(--light);
  right: 10px;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}
#primary-menu > li.menu-item-has-children a.show-active::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}

#primary-menu > li > ul > li.menu-item-has-children.active::after {
  transform: rotate(90deg);
}
.sub-menu > li.menu-item-has-children::after {
  color: var(--primary) !important;
}

.offcanvas #primary-menu1 > li > ul,
.offcanvas #primary-menu1 > li > ul > li > ul {
  display: none;
  border-top: 1px solid #ffffff1a;
  border-radius: 0;
  background-color: #17567f;
}
.offcanvas #primary-menu1 {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  background-color: #114261;
  border-radius: 5px;
}
.offcanvas #primary-menu1 li:not(:last-child) {
  border-bottom: 1px solid #ffffff1a;
}
.offcanvas #primary-menu1 li {
  position: relative;
  cursor: pointer;
  width: 100%;
}
.offcanvas #primary-menu1 li:nth-child(odd) {
  background-color: #103e5c;
}
.offcanvas #primary-menu1 li:hover {
  background-color: #0e3752;
}
.offcanvas #primary-menu1 li a {
  font-size: 16px;
  font-weight: 600;
  color: var(--light);
  padding: 10px 30px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.offcanvas #primary-menu1 li a:hover {
  color: var(--light);
}
.offcanvas #primary-menu1 > li > a:hover,
#primary-menu > li a.show-active,
#primary-menu > li.menu-item-has-children ul li a.show-active,
.offcanvas #primary-menu1 > li:hover > a {
  color: var(--light);
}
#primary-menu li.menu-item-has-children span {
  position: absolute;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 20px;
  width: 38px;
  height: 38px;
  background-color: var(--light);
  right: 3px;
  border-radius: 12px;
}
#primary-menu li.menu-item-has-children span i {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#primary-menu li.menu-item-has-children > ul {
  margin-top: 5px;
  padding-bottom: 10px;
  background-color: #fff;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

#primary-menu li.menu-item-has-children > ul > li.menu-item-has-children > ul {
  margin: 0;
  margin-top: 5px;
  border-bottom: 1px solid transparent;
  transform: translateX(-50px);
}
#primary-menu
  li.menu-item-has-children
  > ul
  > li.menu-item-has-children
  > ul::after {
  content: "";
  width: 12px;
  height: 15px;
  background: #fff;
  left: -12px;
  position: absolute;
  top: 10px;
  z-index: -1;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
#primary-menu
  li.menu-item-has-children
  > ul
  > li.menu-item-has-children
  > ul::before {
  left: 38%;
  height: 100%;
  top: 0;
}
#primary-menu > li.menu-item-has-children > span {
  top: 21px;
}
#primary-menu > li.menu-item-has-children ul li {
  border-radius: 12px;
}
#primary-menu > li.menu-item-has-children ul li.menu-item-has-children ul li a {
  color: var(--primary);
}
#primary-menu
  > li.menu-item-has-children
  ul
  li.menu-item-has-children
  ul
  li.menu-item-has-children
  ul
  li
  a {
  padding-left: 60px;
}
.offcanvas__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  -webkit-transform: translateY(100px);
  -ms-transform: translateY(100px);
  transform: translateY(100px);
  -webkit-transition: all 0.7s ease-in-out;
  -o-transition: all 0.7s ease-in-out;
  transition: all 0.7s ease-in-out;
}
.offcanvas__nav > div {
  width: 100%;
}
.offcanvas__new__logo {
  padding: 15px 30px;
  background-color: var(--primary);
  border-bottom: 1px solid #fff3;
}
.offcanvas__content {
  position: relative;
  z-index: 2;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  overflow-y: auto;
  padding: 40px;
  /* height: calc(100vh - 136px); */
}
.offcanvas__content > div:not(:last-child) {
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 1px solid #fff3;
}
.offcanvas-label {
  font-size: clamp(20px, 2vw, 22px);
  font-weight: 400;
  color: var(--light);
  opacity: 92%;
  margin-bottom: 14px;
  display: block;
}
.offcanvas__content .uk-grid {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: start;
  flex-direction: column;
  height: 100%;
}
.offcanvas__content .uk-grid > div > div {
  padding: 0;
}
.offcanvas__contact {
  opacity: 0;
  -webkit-transform: translateY(-100px);
  -ms-transform: translateY(-100px);
  transform: translateY(-100px);
  -webkit-transition: all 0.7s ease-in-out;
  -o-transition: all 0.7s ease-in-out;
  transition: all 0.7s ease-in-out;
}
.offcanvas__contact .header__contact {
  gap: 20px;
  flex-wrap: wrap;
}
.offcanvas__contact .header__contact p {
  margin: 0;
  font-size: clamp(18px, 2vw, 20px);
  display: flex;
  align-items: center;
  gap: 10px;
}
.offcanvas__contact .header__contact p i {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
}
.offcanvas__contact .header__contact p i {
  color: var(--light);
  font-size: 18px;
}
.offcanvas__contact .header__contact strong img {
  width: 15px;
  margin-top: -1px;
}
.offcanvas__contact .header__contact strong i {
}
.offcanvas__contact .header__contact a {
  font-weight: 400;
  font-size: clamp(16px, 2vw, 18px);
  color: var(--light);
  opacity: 80%;
}
.offcanvas__contact .header__contact img {
  width: 25px;
  margin-top: -6px;
}
.offcanvas__content .social-icons li a {
  font-size: clamp(16px, 2vw, 18px);
  text-transform: uppercase;
  color: var(--light);
  opacity: 80%;
}
.offcanvas.show .offcanvas__new__logo a img,
.offcanvas.show .offcanvas__contact,
.offcanvas.show .offcanvas__nav,
.offcanvas.show .offcanvas__text {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.offcanvas.show .offcanvas__new__logo a {
  position: relative;
  display: block;
}
.offcanvas.show .offcanvas__new__logo a img {
  display: none;
}
.offcanvas.show .offcanvas__new__logo a::before {
  content: url(../img/header-logo-1.png);
}
.offcanvas.show .offcanvas__new__logo a::after {
  content: url(../img/header-logo.png);
  position: absolute;
  left: 50%;
  top: 0;
}
.offcanvas.show .offcanvas__nav {
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s;
}
.offcanvas.show .offcanvas__contact {
  -webkit-transition-delay: 1.5s;
  -o-transition-delay: 1.5s;
  transition-delay: 1.5s;
}

.sub-menu > li > a::before,
.sub-menu > li > a::after {
  display: none;
}
.offcanvas__grid {
  height: 100%;
  position: relative;
  z-index: 1;
}
.offcanvas__grid > div,
.offcanvas__grid > div > div,
.offcanvas__img {
  height: 100%;
}
.offcanvas__img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.header-social-link .offcanvas-label {
  margin-bottom: 0;
}
/* offcanvas */

/* 404 page start */
.error404 .site-header {
  position: relative !important;
  background-color: var(--primary);
}
.error404 .site-header-wrapper {
  padding: 20px 0;
}
.error404 .site-header .site-branding a.custom-logo-link {
  position: relative;
  display: block;
}
.error404 .site-header .site-branding a.custom-logo-link img {
  display: none;
}
.error404 .site-header .site-branding a.custom-logo-link::before {
  content: url(../img/header-logo-1.png);
}
.error404 .site-header .site-branding a.custom-logo-link::after {
  content: url(../img/header-logo.png);
  position: absolute;
  left: 50%;
  top: 0;
}
.error-404.not-found {
  padding: 90px 0 !important;
}
.error-404-wrapper {
  max-width: 550px;
  margin: 0 auto;
  text-align: center;
}
.error-404-wrapper h1 {
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 700;
  margin: 0 0 10px;
}
.error-404-wrapper p {
  margin: 0;
  font-size: 18px;
}
.error-404-wrapper .btn {
  margin: 20px auto 0;
  width: fit-content;
}
/* 404 page end */

/* Default page start */
.npf-default-banner__section img {
  max-height: 60vh;
  object-fit: cover;
  width: 100%;
}
.default-template-wrapper {
  padding: 40px 0;
}
.default-template-wrapper p,
.default-template-wrapper blockquote {
  font-size: clamp(16px, 2vw, 18px);
  margin: 0 0 10px;
}
/* Default page end */

/* Footer css start */
.site-footer {
  background-color: #29211b;
}
.site-footer .wrapper-2 {
  position: relative;
}
.site-footer .wrapper-2::after {
  content: url(../img/footer.png);
  position: absolute;
  bottom: 0;
  right: -2%;
}
.site-footer-wrapper {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding: 70px 0 50px;
  position: relative;
  z-index: 1;
}
.site-footer-left {
  width: 20%;
}
.site-footer-right {
  display: flex;
  gap: 45px;
  justify-content: space-between;
  width: 68%;
}
.site-footer-right .footer-widget {
  flex: 1;
}
.site-footer-right .footer-widget > div:not(:last-child) {
  margin-bottom: 28px;
}
.footer-widget h4 {
  color: var(--light);
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 14px;
}
.footer-widget ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-widget ul li {
  line-height: 1.1;
}
.site-info {
  border-top: 1px solid transparent;
  border-image: repeating-linear-gradient(
    to right,
    #ffffffa1 0,
    #ffffffa1 5px,
    transparent 5px,
    transparent 10px
  );
  border-image-slice: 1;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  padding: 10px 0 70px;
}
.site-info .social-media {
  flex: 1;
}
.footer-widget p,
.footer-widget a,
.site-info p {
  color: #ffffffa1;
  margin: 0;
  font-weight: 400;
  font-size: 14px;
}
.site-info p {
  font-size: 13px;
  flex: 1;
}
.site-info p:nth-of-type(2) {
  text-align: right;
}
.site-info p a {
  font-weight: 500;
  color: #ffffffa1;
}
.site-info p a:hover,
.footer-widget a:hover {
  color: var(--light);
}
.site-info .social-media span {
  display: none;
}
/* Footer css end */

/* Booking modal css start */
.booking-modal {
  display: none;
  width: 100%;
  max-width: 300px;
  padding: 35px 40px;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
  position: relative;
  margin: auto;
  position: absolute;
  right: 0;
  top: 100%;
}
.booking-modal .booking-form {
  position: relative;
}
.booking-modal .close-btn {
  position: absolute;
  top: 15px;
  right: 20px;
  background: none;
  border: none;
  font-size: 20px;
  color: var(--primary);
  cursor: pointer;
}
.booking-form .form-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 25px 0 20px;
}
.booking-form h2 {
  color: #6f7074;
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 700;
  margin: 0;
}
.booking-form h2 span {
  color: var(--primary);
}
.booking-form label {
  display: block;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 10px;
  color: var(--primary);
}
.booking-form input {
  width: 100%;
  padding: 6px 50px 6px 8px;
  outline: none;
  font-size: 30px;
  color: var(--text-2);
  font-weight: 700;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: var(--light);
  position: relative;
  z-index: 1;
  text-align: right;
}
.booking-form .form-group div {
  position: relative;
}
.booking-form .form-group div > span,
.booking-form .form-group div > i {
  position: absolute;
  right: 22px;
  bottom: 25px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  z-index: 1;
}
.booking-form .form-group div > i {
  bottom: 15px;
  color: var(--primary);
  right: 26px;
}
.booking-form .form-group .number-wrapper button {
  position: absolute;
  right: 28px;
  bottom: 10px;
  cursor: pointer;
  background-color: unset;
  border: unset;
  z-index: 9;
}
.booking-form .form-group .number-wrapper button.up {
  bottom: 24px;
}
.booking-form .form-group .number-wrapper button i {
  color: var(--primary);
  font-size: 10px;
}
.booking-form .btn {
  width: 100%;
  cursor: pointer;
}
.booking-form input[type="number"]::-webkit-outer-spin-button,
.booking-form input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.booking-form input[type="number"] {
  -moz-appearance: textfield;
  position: unset;
}

/* Booking modal css end */

@media (min-width: 1600px) {
  .site-header.sticky .site-branding a.custom-logo-link {
    position: relative;
    display: block;
  }
  .site-header.sticky .site-branding a.custom-logo-link img {
    display: none;
  }
  .site-header.sticky .site-branding a.custom-logo-link::before {
    content: url(../img/header-logo-1.png);
  }
  .site-header.sticky .site-branding a.custom-logo-link::after {
    content: url(../img/header-logo.png);
    position: absolute;
    left: 50%;
    top: 0;
  }
}
@media (min-width: 989px) {
  .sticky .site-header .custom-logo-link img {
    max-width: 225px;
  }
  .custom-logo-link img {
    transition: var(--transition-2);
  }
}
@media (max-width: 1600px) {
  .site-branding a.custom-logo-link {
    position: relative;
    display: block;
  }
  .site-branding a.custom-logo-link img {
    display: none;
  }
  .site-branding a.custom-logo-link::before {
    content: url(../img/header-logo-1.png);
  }
  .site-branding a.custom-logo-link::after {
    content: url(../img/header-logo.png);
    position: absolute;
    left: 50%;
    top: 0;
  }
  .booking-modal {
    margin: 30px 0 0;
  }
}
@media (max-width: 1200px) {
  .header-top #secondary-menu {
    display: none;
  }
  .header-top-wrapper {
    justify-content: center;
  }
  .main-navigation {
    display: none;
  }
  .hamburger-toggle {
    display: block;
  }
  .site-branding a.custom-logo-link::after {
    left: 85%;
  }
  main#primary > section {
    padding-bottom: 60px;
  }
  .error-404.not-found {
    padding: 60px 0 !important;
  }
  .site-footer-right {
    width: 75%;
    gap: 30px;
  }
}
@media (max-width: 1024px) {
  main#primary > section {
    padding-bottom: 50px;
  }
  .error-404.not-found {
    padding: 50px 0 !important;
  }
  .site-footer-left {
    display: none;
  }
  .site-footer-right {
    width: 100%;
  }
  .site-footer-wrapper {
    padding: 45px 0;
  }
  .site-info {
    padding: 10px 0 45px;
  }
  .site-header.default-header {
    margin-bottom: 35px;
  }
}
@media (max-width: 989px) {
  .custom-logo-link img,
  .offcanvas__logo a img,
  .offcanvas__new__logo a img {
    max-width: 160px;
    width: 100%;
  }
  .site-info-wrapper {
    padding: 0 0 10px;
  }
  .header-top {
    display: none;
  }
  .site-header.default-header {
    margin-bottom: 25px;
  }
}
@media (max-width: 767px) {
  .site-branding a.custom-logo-link::before,
  .offcanvas.show .offcanvas__new__logo a::before {
    content: "";
    background-image: url(../img/header-logo-1.png);
    width: 200px;
    height: 32px;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
  }
  .site-branding a.custom-logo-link::after,
  .offcanvas.show .offcanvas__new__logo a::after {
    content: "";
    background-image: url(../img/header-logo.png);
    width: 165px;
    background-repeat: no-repeat;
    background-size: contain;
    height: 50px;
    left: 70%;
  }
  .offcanvas__new__logo {
    padding: 23px 30px;
  }
  main#primary > section {
    padding-bottom: 30px;
  }
  .error-404.not-found {
    padding: 30px 0 !important;
  }
  .site-footer-wrapper {
    flex-direction: column;
    padding: 50px 0 40px;
  }
  .site-footer-right {
    flex-wrap: wrap;
  }
  .site-footer-right .footer-widget {
    flex: calc(50% - 15px) 1 1;
  }
  .site-info {
    padding: 10px 0 50px;
    justify-content: space-between;
    gap: 6px;
    flex-wrap: wrap;
  }
  .site-info .social-media {
    flex: unset;
  }
  .site-info p {
    text-align: right;
    flex: unset;
  }
  .site-info p:nth-of-type(2) {
    text-align: center;
    flex: 100%;
  }
  .btn.large {
    padding: 11px 13px;
    font-size: 13px;
  }
  .site-header-wrapper .header-button {
    gap: 24px;
  }
  .offcanvas .offcanvas__grid .uk-grid > div {
    width: 100%;
  }
  .offcanvas .offcanvas__grid .uk-grid > div:nth-child(1) {
    display: none;
  }
  .offcanvas__content {
    padding: 0;
  }
}
@media (max-width: 567px) {
  .site-branding a.custom-logo-link::before {
    width: 135px;
    margin-top: 8px;
  }
  .site-branding a.custom-logo-link::after {
    width: 145px;
    height: 48px;
  }
  .offcanvas.show .offcanvas__new__logo a::before {
    width: 155px;
  }
  .offcanvas.show .offcanvas__new__logo a::after {
    width: 140px;
    height: 45px;
  }
  .offcanvas__new__logo {
    padding: 15px 30px;
  }
  .offcanvas__close {
    width: 62px;
    height: 63px;
  }
  .offcanvas__close .offcanvas__icon span {
    width: 29px;
  }
  .site-header-wrapper .header-button {
    gap: 18px;
  }
  .btn {
    gap: 15px;
  }
  .offcanvas ul {
    gap: 0;
  }
  .offcanvas #primary-menu1 li {
    width: 100%;
  }
  .offcanvas #primary-menu1 > ul > li:nth-child(1) {
    border-top: 1px solid #fff3;
  }
  .offcanvas #primary-menu1 > ul > li {
    padding: 12px 0;
    border-bottom: 1px solid #fff3;
  }
  .offcanvas__content > div:nth-child(1) {
    border: unset;
    padding: 0;
  }
  .site-header {
    position: relative;
    background: var(--primary);
  }
  .site-header-wrapper,
  .site-header.sticky .site-header-wrapper {
    padding: 14px 0;
  }
  .custom-logo-link img,
  .offcanvas__logo a img,
  .offcanvas__new__logo a img {
    max-width: 130px;
  }
  .footer-widget h4 {
    margin: 0 0 6px;
  }
  .site-footer-right .footer-widget > div:not(:last-child) {
    margin-bottom: 25px;
  }
  .site-footer-right {
    gap: 25px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .site-footer-wrapper {
    padding: 30px 0;
    gap: 25px;
  }
  .site-info {
    padding: 10px 0 30px;
  }
  .site-info .social-media {
    margin: 0 auto;
  }
  .site-info p {
    text-align: center;
    flex: 100%;
  }
  .booking-form input {
    font-size: 24px;
  }
  .booking-form .form-group .number-wrapper button {
    bottom: 8px;
  }
  .booking-form .form-group .number-wrapper button.up,
  .booking-form .form-group div > span {
    bottom: 20px;
  }
  .booking-form .form-group div > i {
    bottom: 11px;
  }
}
@media (max-width: 400px) {
  .custom-logo-link img,
  .offcanvas__logo a img,
  .offcanvas__new__logo a img {
    max-width: 180px;
  }
  .site-branding a.custom-logo-link::before {
    width: 120px;
    height: 28px;
  }
}

.gallery {
  margin: 1.5em 0;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
  margin: 0;
}
.gallery-item img {
  height: 350px;
  width: 100%;
  object-fit: cover;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

.booking-success-modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #00000085;
  z-index: 9;
  display: none;
}
.booking-success-modal .modal-content {
  background-color: var(--light);
  padding: 30px;
  border-radius: 14px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 480px;
  text-align: center;
}
.booking-success-modal .modal-content .close-btn {
  position: absolute;
  right: -20px;
  top: -20px;
  border-radius: 50px;
  width: 30px;
  height: 30px;
  background-color: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.booking-success-modal .modal-content .icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  margin: 0 auto 14px;
  background-color: green;
  display: flex;
  align-items: center;
  justify-content: center;
}
.booking-success-modal .modal-content .icon i {
  font-size: 20px;
  color: var(--light);
}
.booking-success-modal .modal-content .entry-title {
  color: var(--text-1);
  margin: 0 0 10px;
}
.booking-success-modal .modal-content button {
  padding: 6px 20px;
  margin: 20px 0 0;
  background-color: var(--primary);
  color: #fff;
  border: 1px solid var(--primary);
  border-radius: 20px;
  font-size: 16px;
  text-transform: capitalize;
  cursor: pointer;
}
