/* =========================================
	Contents
	1. Base Styles
	2. Site Header
	3. Content Layout
	4. Tour Content
	5. Forms and Popups
	6. Site Footer
	7. Company Page
	8. Integration Overrides
========================================= */

/* =========================================
	1. Base Styles
========================================= */

/* =========================================
    Local Fonts
========================================= */

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/google/Montserrat-Regular.woff2') format('woff2'), url('../fonts/google/Montserrat-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/google/Montserrat-Medium.woff2') format('woff2'), url('../fonts/google/Montserrat-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/google/Montserrat-SemiBold.woff2') format('woff2'), url('../fonts/google/Montserrat-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/google/Montserrat-Bold.woff2') format('woff2'), url('../fonts/google/Montserrat-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* =========================================
    Theme Colors
========================================= */

:root {
  --primary-color: #244eb8;
  --primary-color-shadow: #194A8B;
  --primary-color-light: #2956c9;

  --secondary-color: #D8006D;
  --secondary-color-shadow: #BB005F;
  --secondary-color-light: #e7167f;
}

/* =========================================
    Reset
========================================= */

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
em,
img,
strong,
sub,
sup,
b,
u,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
table,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  outline: none;
  -webkit-transition: all 0.15s linear;
  -moz-transition: all 0.15s linear;
  transition: all 0.15s linear;
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
td img {
  vertical-align: top;
}

input,
select,
button,
textarea {
  display: block;
  width: 100%;
  margin: 0;
  font-size: 100%;
  outline: none;
  transition: all .15s linear;
}

button,
input[type="submit"] {
  border: none;
}

input[type="text"],
input[type="password"],
textarea {
  padding: 0;
}

input[type="checkbox"] {
  vertical-align: bottom;
}

input[type="radio"] {
  vertical-align: text-bottom;
}

textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
  -webkit-appearance: none;
  border-radius: 0;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

sup {
  vertical-align: super;
  font-size: smaller;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

img {
  max-width: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* =========================================
    Typography
========================================= */

html {
  min-height: 100%;
  width: 100%;
  height: 100%;
}

body {
  text-align: left;
  min-height: 100%;
  width: 100%;
  height: 100%;
}

a {
  color: #B40562;
  transition: all .15s linear;
}

a:focus,
a:active,
a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  color: #E60081;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  position: relative;
  font-weight: 700;
  color: #333;
  line-height: 1.3;
  margin: 1.5rem 0;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.75rem;
}

h3 {
  font-size: 1.5rem;
}

h4 {
  font-size: 1.25rem;
}

h5 {
  font-size: 1rem;
}

h6 {
  font-size: 0.75rem;
}

body {
  font-size: 1rem;
  text-transform: normal;
  overflow-x: hidden;
  font-weight: 400;
  color: #333;
  background: #fff;
  font-family: 'Montserrat', Arial, sans-serif;
}

input,
textarea,
button,
select {
  font-weight: 400;
  font-family: 'Montserrat', Arial, sans-serif;
}

/* =========================================
    Plugin Display Compatibility
========================================= */

.grecaptcha-badge {
  display: none !important;
}

#lightbox #hoverNav a {
  transition: none !important
}

#controls #playPause {
  display: none !important;
}

/* =========================================
    Page Layout
========================================= */

.wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

.content {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.footer {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

/* =========================================
    Buttons and Favorites
========================================= */

body:not(.wp-admin) :is(
  button, input[type="button"], input[type="submit"], input[type="reset"], input[type="image"], [role="button"],
  .btn-primary, .btn-secondary, .btn-primary-full, .btn-dark, .btn-primary-default, .button-field,
  .simplefavorite-button, .simplefavorites-clear, .mailpoet_submit,
  .travel-reviews__button, .travel-home__benefits-cta, .travel-header__bookmarks
):hover {
  text-decoration: none;
}

.btn-primary {
  display: block;
  position: relative;
  overflow: hidden;
  color: #fff;
  transition: all .15s linear;
}

.btn-primary::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: var(--secondary-color);
  transition: all .15s linear;
}

.btn-primary:hover {
  color: #fff;
  box-shadow: 3px 3px 10px rgba(216, 0, 109, 0.2);
}

.btn-primary:hover::after {
  opacity: 0.9;
}

.btn-secondary {
  box-shadow: inset 5px -5px 1px 0 var(--secondary-color-shadow);
  color: #fff;
  display: block;
  position: relative;
  overflow: hidden;
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 20px;
  transition: all .15s linear;
}

.btn-secondary::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: var(--secondary-color);
  transition: all .15s linear;
}

.btn-secondary:hover {
  color: #fff;
  text-decoration: none;
  box-shadow: inset 3px -3px 0 var(--secondary-color);
}

.btn-secondary:hover::after {
  opacity: 0.9;
}

.btn-primary-full {
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  border-radius: 10px;
  color: #fff;
  text-align: center;
  padding: 13px 0;
  box-shadow: inset 5px -5px 1px 0 var(--secondary-color-shadow);
  transition: all .15s linear;
}

.btn-primary-full::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: var(--secondary-color);
  transition: all .15s linear;
}

.btn-primary-full:hover {
  text-decoration: none;
  color: #fff;
  box-shadow: inset 3px -3px 0 var(--secondary-color-shadow);
  cursor: pointer;
}

.btn-primary-full:hover::after {
  opacity: 0.9;
}

.btn-primary-full span {
  position: relative;
  top: -1px;
}

.simplefavorite-button,
.btn-dark {
  display: block;
  border: none;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  border-radius: 10px;
  color: #fff;
  text-align: center;
  padding: 13px 0;
  transition: all .15s linear;
}

.simplefavorite-button {
  background: var(--primary-color);
  box-shadow: inset 5px -5px 1px 0 var(--primary-color-shadow);
}

.simplefavorite-button:hover {
  opacity: 0.93;
  box-shadow: inset 3px -3px 1px 0 var(--primary-color-shadow);
}

.btn-dark::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: var(--primary-color);
  box-shadow: inset 5px -5px 1px 0 var(--primary-color-shadow);
  border-radius: 10px;
  transition: all .15s linear;
}

.simplefavorite-button:hover,
.btn-dark:hover {
  text-decoration: none;
  color: #fff;
  cursor: pointer;
}

.btn-dark:hover::after {
  opacity: 0.93;
  box-shadow: inset 3px -3px 1px 0 var(--primary-color-shadow);
}

.simplefavorite-button span,
.btn-dark span {
  position: relative;
  z-index: 2;
}

/* =========================================
    Favorites Button Details
========================================= */

.simplefavorite-button span {
  display: inline-block;
  text-align: center;
  position: relative;
  padding-left: 30px;
  top: -1px;
}

.simplefavorite-button span::before {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/icon-add-to-favorite.svg);
  background-position: center;
  background-repeat: no-repeat;
}

.simplefavorite-button.active span::before {
  background-image: url(../images/icon-favorite-added.svg);
}

/* =========================================
    Form Submit Buttons
========================================= */

.btn-primary-default,
.mailpoet_submit {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  color: #fff;
  width: 100%;
  text-align: center;
  padding: 13px;
  background: var(--secondary-color);
  box-shadow: inset 5px -5px 1px 0 var(--secondary-color-shadow);
  transition: all .35s linear;
}

.btn-primary-default:hover,
.mailpoet_submit:hover {
  cursor: pointer;
  opacity: 0.9;
  box-shadow: inset 3px -3px 1px 0 var(--secondary-color-shadow);
}

/* =========================================
    Disabled Button Override
========================================= */

.btn-primary-default[disabled] {
  cursor: no-drop !important;
  opacity: 0.5;
  box-shadow: inset 5px -5px 1px 0 var(--secondary-color-shadow) !important;
}

/* =========================================
    Color and Width Utilities
========================================= */

.color-black {
  color: #333;
}

.color-white {
  color: #fff;
}

.max-width-200 {
  max-width: 200px
}

/* =========================================
	2. Site Header
========================================= */

/* =========================================
    Header
========================================= */

.header {
  position: relative;
}

.header-top {
  padding: .625rem 0;
  position: relative;
  border-bottom: 1px solid #E7EFFB;
}

.header .logo {
  position: absolute;
  top: 50%;
  left: 62px;
  margin-top: -18px;
}

.header .logo img {
  display: block;
  width: auto;
  height: 36px;
}

.header ul {
  list-style: none;
}

.header .contact .row {
  flex-direction: column;
}

/* =========================================
    Header Contact and Bookmark Links
========================================= */

.header .contact a,
.bookmarks-wrap a {
  text-decoration: none;
}

.bookmarks-wrap .btn-primary {
  padding: 5px 15px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bookmarks-wrap .bookmarks {
  gap: 6px;
}

/* =========================================
    UberMenu Bookmark Compatibility
========================================= */

.ubermenu-main .bookmarks-wrap {
  margin-bottom: 1rem;
}

.ubermenu-main .bookmarks-wrap .btn-primary {
  display: flex;
  margin-left: 15px;
  margin-right: 15px;
}

.ubermenu-main .bookmarks-wrap .btn-primary .bookmarks-text {
  font-size: 14px !important;
}

/* =========================================
    Header Contact Details
========================================= */

.header-phone {
  color: var(--primary-color);
}

/* =========================================
    Header Topbar
========================================= */

.header-topbar {
  display: none;
}

.small-menu {
  padding: 10px 0;
  border-bottom: 1px solid #E6E6E6;
}

.small-menu ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.small-menu ul li,
.small-menu ul li a {
  display: block;
}

.small-menu ul li a {
  padding: 0 1rem;
  font-size: .875rem;
}

.simplefavorites-user-count {
  background: #fff;
  font-size: 10px;
  color: #333;
  display: inline-flex;
  width: 18px;
  height: 18px;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  margin-left: 3px;
}

/* =========================================
    Header Navigation
========================================= */

.header-bottom {
  background: #fff;
}

.header-bottom a {
  color: #333;
}

/* =========================================
    Operation Hours
========================================= */

.operation-mode {
  position: relative;
  padding-left: 30px;
}

.operation-mode::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: url(../images/timer-icon.svg) center center no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}

.operation-mode>span {
  font-size: 14px;
  display: block;
  margin-bottom: 0.5rem;
}

.operation-mode>p {
  font-size: 12px;
  opacity: 0.75;
}

/* =========================================
    Header Responsive Variants
========================================= */

@media only screen and (min-width:340px) {
  .header .logo {
    top: 50%;
    left: 50%;
    margin-top: -20px;
    margin-left: -103px;
  }

  .header .logo img {
    height: 40px;
  }
}

@media only screen and (min-width:400px) {
  .header .logo {
    top: 50%;
    left: 50%;
    margin-top: -23px;
    margin-left: -112px;
  }

  .header .logo img {
    height: 46px;
  }
}

@media only screen and (min-width:1025px) {
  .header-top {
    padding: 1rem 0;
    border: none;
  }

  .header .logo {
    margin: 0 0 0 20px;
    position: static;
  }

  .header .logo img {
    height: 50px;
  }

  .header .contact .row {
    flex-direction: unset;
  }

  .header-bottom {
    position: relative;
  }

  .header-bottom::before,
  .header-bottom::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #E7EFFB;
    position: absolute;
  }

  .header-bottom::before {
    top: 0;
  }

  .header-bottom::after {
    bottom: 0;
  }

  .simplefavorites-user-count {
    font-size: 11px;
    width: 20px;
    height: 20px;
  }

  .header-topbar {
    display: block;
  }

  .bookmarks-wrap .btn-primary {
    min-height: 30px;
  }
}

@media only screen and (min-width:1200px) {
  .header .logo img {
    height: 60px;
  }

  .small-menu ul li a {
    padding: 0 1.5rem;
  }
}

@media only screen and (max-width:1024px) {
  .header-top .bookmarks-wrap {
    display: none;
  }
}

@media only screen and (min-width:768px) and (max-width:1024px) {
  .header-top {
    padding-left: 90px;
  }

  .header .logo {
    position: static;
    margin: 0;
  }
}

/* =========================================
    UberMenu Overrides
========================================= */

.ubermenu .ubermenu-nav li a,
.ubermenu-transition-shift .ubermenu-item .ubermenu-submenu-drop a {
  color: #333;
}

.ubermenu .ubermenu-nav>li.ubermenu-current-menu-item>a,
.ubermenu .ubermenu-nav>li:hover>a,
.ubermenu .ubermenu-nav>li>a:hover {
  color: var(--secondary-color);
}

.ubermenu .ubermenu-nav li ul li.ubermenu-current-menu-item a,
.ubermenu-transition-shift .ubermenu-item .ubermenu-submenu-drop a:hover {
  color: var(--secondary-color);
}

.ubermenu-transition-shift .ubermenu-item .ubermenu-submenu-drop {
  background: #fff;
}

.ubermenu.ubermenu-mobile-modal {
  background: #fff;
  padding-top: 15px;
}

.ubermenu-sub-indicators i::before {
  display: none;
}

.ubermenu-sub-indicators .ubermenu-has-submenu-drop>.ubermenu-target>.ubermenu-sub-indicator {
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -6px;
}

.ubermenu-sub-indicators .ubermenu-has-submenu-drop>.ubermenu-target>.ubermenu-sub-indicator {
  width: 10px;
  height: 10px;
  background-image: url(../images/icon-arrow-down.svg);
  background-repeat: no-repeat;
  background-size: 10px;
  background-position: center;
  transition: all .15s linear;
}

.ubermenu.ubermenu-submenu-indicator-closes .ubermenu-sub-indicator-close {
  position: absolute;
  right: 0;
  top: 0;
  width: 28px;
  text-align: center;
  vertical-align: bottom;
  display: none;
  height: 100%;
}

.ubermenu.ubermenu-submenu-indicator-closes .ubermenu-active>.ubermenu-target>.ubermenu-sub-indicator-close {
  background: url(../images/icon-close.svg) no-repeat;
  background-size: 10px;
  background-position: center
}

.ubermenu-sub-indicators .ubermenu-item-has-children:hover>a .ubermenu-sub-indicator.fas.fa-angle-down,
.ubermenu-sub-indicators .ubermenu-item-level-0.ubermenu-current-menu-item a .ubermenu-sub-indicator.fas.fa-angle-down,
.ubermenu-sub-indicators .ubermenu-item-level-0 a:hover .ubermenu-sub-indicator.fas.fa-angle-down {
  background-image: url(../images/icon-arrow-down-active.svg)
}

.ubermenu.ubermenu-mobile-modal .ubermenu-mobile-footer .ubermenu-mobile-close-button .fas.fa-times {
  display: inline-block;
  position: relative;
  top: -1px;
  width: 10px;
  height: 10px;
  background: url(../images/icon-close.svg) no-repeat;
  background-size: 10px;
  background-position: center
}

@media only screen and (min-width:1025px) {

  .ubermenu-sub-indicator {
    display: none;
  }

  .ubermenu.ubermenu-mobile-modal {
    background: transparent;
    padding-top: 0;
  }

  .ubermenu .ubermenu-nav>li.ubermenu-current-menu-item>a::after,
  .ubermenu .ubermenu-nav>li>a::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    background: var(--secondary-color);
    left: 0;
    bottom: 0;
    opacity: 0;
    transition: all .15s linear;
  }

  .ubermenu .ubermenu-nav>li.ubermenu-current-menu-item>a,
  .ubermenu .ubermenu-nav>li:hover>a,
  .ubermenu .ubermenu-nav>li>a:hover {
    background: rgba(236, 97, 190, 0.03);
    color: var(--secondary-color);
  }

  .ubermenu .ubermenu-nav>li.ubermenu-current-menu-item>a::after,
  .ubermenu .ubermenu-nav>li:hover>a::after,
  .ubermenu .ubermenu-nav>li>a:hover::after {
    opacity: 1;
  }

  .ubermenu .ubermenu-nav li ul li.ubermenu-current-menu-item a,
  .ubermenu-transition-shift .ubermenu-item .ubermenu-submenu-drop a:hover {
    color: var(--secondary-color);
  }
}

@media only screen and (max-width:1024px) {
  .ubermenu-responsive-toggle {
    float: unset;
    display: flex !important;
    padding: 0;
    width: 50px;
    height: 53px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    position: absolute;
    top: 50%;
    left: 12px;
    margin-top: -26px;
    font-size: 12px;
    flex-direction: column;
  }

  .ubermenu-responsive-toggle .fas {
    display: block;
    width: 50px;
    height: 20px;
    background: url(../images/icon-menu.svg) no-repeat;
    background-position: center;
    margin: 0 0 2px 0;
  }

  .ubermenu-responsive-toggle .fas::before {
    display: none;
  }

  .ubermenu .ubermenu-target {
    padding: 10px 15px
  }
}

.mobile-logo img {
  display: block;
  margin: 0 auto;
  height: 40px;
  width: auto;
}

.ubermenu.ubermenu-mobile-modal .search-form-only {
  display: block;
  height: auto;
  padding: 0 1rem;
  margin: 1rem 0;
}

/* =========================================
	3. Content Layout
========================================= */

/* =========================================
    Card
========================================= */

.card {
  min-width: 0;
}

.card__box {
  overflow-wrap: anywhere;
  background: #fff;
  border: 1px solid var(--travel-home-line, #e3e8f0);
  box-shadow: 0 4px 16px rgb(22 36 84 / 5%);
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  transition: box-shadow .2s ease;
}

.card__box,
.card__box:hover {
  color: #333;
  text-decoration: none;
}

.card__top > span {
  display: block;
  font-size: 1.125rem;
  line-height: 1.4;
  padding: 1rem 1.25rem;
  transition: color .15s linear;
}

.card__top .thumb {
  border-radius: 15px;
  overflow: hidden;
}

.card__top .thumb img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .25s ease;
}

.card__footer {
  margin-top: auto;
  padding: 0 20px 20px 20px;
}

.card__footer--inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.card__footer--inner .btn-primary {
  padding: 7px 13px;
  box-shadow: 3px 3px 10px rgba(216, 0, 109, 0.2);
}

.card__footer--inner .btn-primary::after {
  z-index: 1;
}

.card__footer--inner .btn-primary span {
  position: relative;
  z-index: 2;
}

.travel-card__duration {
  display: flex;
  align-items: center;
  gap: .5rem;
  color: var(--travel-home-muted, #56617a);
  font-size: .875rem;
  line-height: 1.65;
  margin: 0 0 .75rem;
}

.travel-card__duration svg {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  color: var(--primary-color);
}

.travel-card__duration-text {
  min-width: 0;
}

.travel-card__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.card__footer--inner .travel-card__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.75rem;
  padding: .625rem .5rem;
  border-radius: .65rem;
  text-align: center;
}

.card__box:hover .card__top span {
  color: var(--secondary-color-light);
}

.card__box:hover .card__footer--inner .btn-primary {
  box-shadow: 3px 3px 10px rgba(216, 0, 109, 0.4);
}

.card__box:hover .card__footer--inner .btn-primary::after {
  background: var(--secondary-color-light);
}

@media (hover: hover) and (pointer: fine) {
  .card__box:hover {
    box-shadow: 0 6px 20px rgb(22 36 84 / 8%);
  }

  .card__box:hover .card__top .thumb img {
    transform: scale(1.03);
  }
}

@media (prefers-reduced-motion: reduce) {
  .card__box,
  .card__top > span,
  .card__top .thumb img,
  .card__footer--inner .btn-primary,
  .card__footer--inner .btn-primary::after {
    transition: none;
  }

  .card__box:hover .card__top .thumb img {
    transform: none;
  }
}

.card__box .icon-time::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background: url(../images/icon-time.svg) center center no-repeat;
  margin-right: 6px;
}

.card__box .icon-date::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background: url(../images/icon-calendar.svg) center center no-repeat;
  margin-right: 6px;
}

/* =========================================
    Home
========================================= */

.btn-icon {
  flex-direction: column;
}

.icon-block {
  background: #fff;
  border-radius: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 40px;
  margin-bottom: 5px;
}

.icon-block img {
  display: block;
  width: 30px;
  height: 30px;
}

/* =========================================
    Breadcrumbs
========================================= */

.breadcrumbs {
  font-size: .75rem;
  padding: 1.25rem 0;
}

.breadcrumbs a {
  color: #6a6a6a;
}

.breadcrumbs a:hover {
  color: var(--secondary-color);
  text-decoration: none;
}

.breadcrumbs .current-item {
  color: #6a6a6a;
}

.breadcrumbs br {
  display: none;
}

@media only screen and (min-width:1025px) {
  .breadcrumbs {
    font-size: .875rem;
  }
}

/* =========================================
    Search Results
========================================= */

.search .page-title {
  overflow-wrap: anywhere;
}

/* =========================================
    Search Form
========================================= */

.search-form input {
  height: 50px;
  background: #fff;
  padding: 0 1rem;
}

.search-form .text-field {
  border-left: 1px solid;
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-right: 0;
  border-color: transparent;
  border-top-left-radius: 25px;
  border-bottom-left-radius: 25px;
  padding-right: 3rem;
}

.search-form .text-field:focus {
  border-color: var(--secondary-color);
}

.search-form .button-field {
  background: var(--secondary-color);
  color: #fff;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 25px;
  border-bottom-right-radius: 25px;
  padding: 0 2rem;
}

.search-form .button-field:hover {
  background: var(--secondary-color-light);
  cursor: pointer;
}

.search-form__input {
  position: relative;
}

.input-wrap {
  position: relative;
}

.close-icon,
.close-icon-small {
  position: absolute;
  right: 8px;
  top: 50%;
  width: 36px;
  height: 36px;
  margin-top: -18px;
  background: url(../images/icon-close.svg) center center no-repeat;
  z-index: 1;
  cursor: pointer;
}

.close-icon {
  background-size: 20px;
}

.close-icon-small {
  background-size: 14px;
}

.text-field:not(:valid)~.close-icon,
.text-field:not(:valid)~.close-icon-small {
  display: none;
}

/* =========================================
    Header Search Form
========================================= */

.search-form-main {
  position: relative;
}

.search-form-only,
.search-form-new {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}

.search-form-only form,
.search-form-new form {
  display: block;
  width: 100%;
}

.search-form-only input,
.search-form-new input {
  border: 1px solid;
  border-color: var(--secondary-color);
  border-radius: 25px;
  padding: 0 3rem 0 1rem;
}

.search-form-only input {
  height: 36px;
  font-size: .875rem;
}

.search-form-new input {
  height: 50px;
}

.header-search-form-results>div,
.search-form-main__results>div {
  top: 100% !important;
  left: 0 !important;
  width: 100% !important;
}

.header-search-form-results {
  font-size: .875rem;
}

/* =========================================
    Search Trigger
========================================= */

.search-trigger {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.search-trigger svg {
  display: block;
  width: 34px;
  height: 34px;
  margin-right: 1rem;
  fill: #ffffff;
}

.search-trigger__text {
  flex: 1 0 0%;
  color: #fff;
}

.search-trigger__text p {
  font-size: .9375rem;
  margin-bottom: .1875rem;
}

.search-trigger__text span {
  display: block;
  opacity: 0.7;
  font-size: .75rem;
}

/* =========================================
    SearchWP Live Results
========================================= */

.searchwp-live-search-results {
  padding: 0 12px;
}

.searchwp-live-search-results::-webkit-scrollbar {
  width: 8px;
  border-radius: 8px;
}

.searchwp-live-search-results::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 8px;
}

.searchwp-live-search-results::-webkit-scrollbar-thumb {
  background: #d1d1d1;
  border-radius: 8px;
  transition: all .15s linear;
}

.searchwp-live-search-results::-webkit-scrollbar-thumb:hover {
  background: #C1C1C1;
}


.searchwp-live-search-results a {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 12px;
  border-bottom: none;
  text-decoration: none;
  color: #333;
}

.searchwp-live-search-results a img {
  display: block;
  width: 50px;
  height: 50px;
  object-fit: cover;
  -o-object-fit: cover;
  transition: all .15s linear;
}

.searchwp-live-search-results a:hover {
  background: rgba(205, 0, 109, .025);
  color: var(--secondary-color);
}

.searchwp-live-search-results a .text {
  white-space: normal;
}

.searchwp-revised-search-notice {
  display: none;
}

.search-form-main__results .searchwp-live-search-results {
  font-size: 14px;
}

.searchwp-live-search-results-showing {
  z-index: 99999999 !important;
}

@media only screen and (max-width:1024px) {
  .search-form__input .text-field {
    padding-right: 3rem;
  }

  .search-form .text-field {
    border-radius: 25px;
    border-right: 1px solid transparent;
  }

  .searchwp-live-search-results {
    font-size: 14px;
  }
}

@media only screen and (max-width:575px) {

  .search-form input,
  .search-form-new input {
    height: 44px;
  }

  .close-icon {
    background-size: 16px;
  }
}

/* =========================================
    Home Banner
========================================= */

.home-wrap {
  background-image: url(../images/bg-map.svg);
  background-position: top;
  background-repeat: no-repeat;
}

.home-title {
  padding: 0;
  font-size: 2rem;
  margin-bottom: 2rem;
  margin-top: 0;
}

.home-wrap .search-trigger svg {
  fill: var(--primary-color);
}

.home-wrap .search-trigger__text p,
.home-wrap .search-trigger__text span {
  color: #333;
}

.home-wrap .search-form .text-field {
  border-color: var(--primary-color);
}

.home-wrap .search-form .text-field:focus {
  border-color: var(--secondary-color);
}

.home-wrap .search-form .button-field {
  background: var(--primary-color);
}

.home-wrap .search-form .button-field:hover {
  background: var(--secondary-color);
}

.text-color-secondary {
  color: var(--secondary-color);
}

@media only screen and (min-width:768px) {
  .home-title {
    font-size: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

@media only screen and (min-width:1025px) {
  .home-title {
    font-size: 3.125rem;
    margin-bottom: 3rem;
  }
}

/* =========================================
    Archive Page
========================================= */

.cover-wrap {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.cover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 40%;
  z-index: 0;
}

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

.cover-block h1 {
  color: #fff;
  overflow-wrap: anywhere;
}

/* =========================================
    Archive Sidebar Navigation
========================================= */

.sidebar-list {
  list-style: none;
  margin-top: -22px;
  margin-bottom: 2rem;
}

.sidebar-list,
.sidebar-list li,
.sidebar-list li a {
  display: block;
}

.sidebar-list li a {
  margin-bottom: 6px;
  text-decoration: none;
}

.sidebar-list>li>a {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  margin: 22px 0;
  color: #fff;
  width: 100%;
  text-align: center;
  padding: 13px 0;
  background: var(--secondary-color);
  box-shadow: inset 5px -5px 1px 0 var(--secondary-color-shadow);
  transition: all .15s linear;
}

.sidebar-list>li>a:hover,
.sidebar-list>li.current-cat-ancestor>a,
.sidebar-list>li.current-cat a[aria-current="page"] {
  background: var(--primary-color);
  box-shadow: inset 3px -3px 1px 0 var(--primary-color-shadow);
}

.sidebar-list li .children li a {
  display: flex;
  align-items: center;
  background-color: #fff;
  color: #333;
  padding-left: 5px;
  transition: all .15s linear;
}

.sidebar-list li .children li a::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 1px;
  background: #333;
  margin-right: 5px;
  transition: all .15s linear;
}

.sidebar-list li .children li a:hover,
.sidebar-list li .children li a[aria-current="page"] {
  padding-left: 10px;
  color: var(--secondary-color);
}

.sidebar-list li .children li a:hover::before,
.sidebar-list li .children li a[aria-current="page"]::before {
  background: var(--secondary-color);
}

.sidebar-list .children.level-1 {
  padding-left: 10px;
}

.sidebar-list .children.level-2 {
  padding-left: 20px;
}

/* =========================================
    Sidebar Widget
========================================= */

.sidebar-widget {
  margin-bottom: 24px;
  background: #fff;
  color: #242440;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}

.sidebar-widget__body {
  padding: 1.25rem;
}

.sidebar-widget__body svg {
  width: 20px;
  height: 20px;
  margin-right: 7px;
}

.sidebar-widget__body a {
  color: #333;
}

.sidebar-widget__body a:hover {
  text-decoration: none;
  color: var(--secondary-color);
}

/* =========================================
    Sidebar Managers
========================================= */

.team-widget {
  display: flex;
  gap: 25px;
  flex-direction: column;
}

.team-widget__block {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
}

.team-widget__block::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: #e9e9e9;
  position: absolute;
  left: 0;
  bottom: -12.5px;
}

.team-widget__block:last-child::after {
  display: none;
}

.team-widget__block img {
  display: block;
  width: 90px;
  height: 120px;
  object-fit: cover;
  -o-object-fit: cover;
  object-position: top center;
  -o-object-position: top center;
}

.team-widget__block-text {
  flex: 1 0 0;
  width: auto;
  padding-left: 1rem;
}

.team-widget__details {
  font-size: 14px;
}

.team-widget__details span {
  display: block;
  font-weight: 700;
}

.team-widget__details p {
  margin: 7px 0;
  letter-spacing: -0.3px;
}

.team-widget__details a {
  display: block;
  font-weight: 700;
}

/* =========================================
    Social Icons
========================================= */

.social-icons {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

.social-icons img {
  display: block;
  width: 32px;
  height: 32px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@keyframes tada {
  0% {
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  100% {
    transform: scale3d(1, 1, 1);
  }
}

.social-icons img {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: tada;
  animation-name: tada;
}

.social-icons a:hover img,
.social-icons a:focus img {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.header .social-icons {
  justify-content: flex-end;
}

.header .social-icons img {
  width: 25px;
  height: 25px;
}

/* =========================================
    Pagination
========================================= */

.navigation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  row-gap: .5rem;
  font-size: .875rem;
}

.navigation a.page-numbers,
.navigation .page-numbers.current {
  display: flex;
  box-sizing: border-box;
  flex-shrink: 0;
  width: calc(2em + 2px);
  height: calc(2em + 2px);
  min-width: 30px;
  min-height: 30px;
  align-items: center;
  text-align: center;
  justify-content: center;
  border: 1px solid var(--secondary-color);
  border-radius: 100%;
  margin: 0 5px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.navigation a.page-numbers {
  background: transparent;
  color: var(--secondary-color);
  text-decoration: none !important;
}

.navigation a.page-numbers:hover,
.navigation .page-numbers.current {
  background: var(--secondary-color);
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .navigation a.page-numbers,
  .navigation .page-numbers.current {
    transition: none;
  }
}

@media (forced-colors: active) {
  .navigation .page-numbers.current {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
}

/* =========================================
	4. Tour Content
========================================= */

/* =========================================
    Tour Content
========================================= */

.post-title {
  margin-top: 0;
}

.related-box {
  overflow-wrap: anywhere;
}

.tour-time,
.tour-date {
  position: relative;
  padding-left: 30px;
}

.tour-time::before,
.tour-date::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
}

.tour-time::before {
  background: url(../images/icon-time.svg) left top no-repeat;
}

.tour-date::before {
  background: url(../images/icon-calendar.svg) left top no-repeat;
}

/* =========================================
    Tour Content Lists
========================================= */

.post-box__content p,
.post-box__content blockquote,
.post-box__content ul,
.post-box__content ol {
  margin-bottom: 1rem;
  line-height: 1.5;
}

.post-box__content ul,
.post-box__content ol {
  margin-left: 2.5rem;
}

.post-box__content ol li,
.post-box__content ul li {
  margin-bottom: 0.5rem;
}

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

.post-box__content--style h2 {
  font-size: 1.375rem;
  background: var(--primary-color);
  color: #fff;
  padding: .625rem 1rem;
  margin: 1.5rem 0;
}

/* =========================================
    Tour Tables
========================================= */

.post-box__content .vi-table {
  width: 100%;
  overflow-y: hidden !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 16px;
}

@media (max-width: 767px) {
  .post-box__content .vi-table::-webkit-scrollbar {
    height: 8px;
  }

  .post-box__content .vi-table::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 0;
  }

  .post-box__content .vi-table::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, 0.1);
  }
}

/* =========================================
    Tour Table Overrides
========================================= */

.post-box__content table {
  width: 100%;
  overflow: auto;
}

.post-box__content table td {
  padding: 10px;
  border: 1px solid #ddd;
  vertical-align: middle;
  text-align: center;
}

.post-box__content table tr:nth-child(2n-1) {
  background: #f2f6fa;
}

.post-box__content table td p:last-child {
  margin-bottom: 0;
}

/* =========================================
    Tour Content Gallery
========================================= */

.post-box__gallery img {
  width: 100%;
  height: auto;
}

/* =========================================
    ScrollPane
========================================= */

.jspContainer {
  overflow: hidden;
  position: relative;
}

.jspPane {
  position: absolute;
}

.jspVerticalBar {
  background: var(--secondary-color);
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 16px;
}

.jspHorizontalBar {
  background: var(--secondary-color);
  bottom: 0;
  height: 16px;
  left: 0;
  position: absolute;
  width: 100%;
}

.jspCap {
  display: none;
}

.jspHorizontalBar .jspCap {
  float: left;
}

.jspTrack {
  background: #c6d5e7;
  position: relative;
}

.jspDrag {
  background: #93a4b6;
  cursor: pointer;
  left: 0;
  position: relative;
  top: 0;
}

.jspHorizontalBar .jspTrack,
.jspHorizontalBar .jspDrag {
  float: left;
  height: 100%;
}

.jspArrow {
  background: #50506d;
  cursor: pointer;
  direction: ltr;
  display: block;
  margin: 0;
  padding: 0;
  text-indent: -20000px;
}

.jspDisabled {
  background: #80808d;
  cursor: default;
}

.jspVerticalBar .jspArrow {
  height: 16px;
}

.jspHorizontalBar .jspArrow {
  float: left;
  height: 100%;
  width: 16px;
}

.jspVerticalBar .jspArrow:focus {
  border: 1px solid var(--secondary-color);
  outline: none;
}

.jspCorner {
  background: #eeeef4;
  float: left;
  height: 100%;
}

* html .jspCorner {
  margin: 0 -3px 0 0;
}

/* =========================================
    Share Buttons
========================================= */

.addtoany_content {
  text-align: center;
  margin: 3rem 0 0 0 !important;
  padding: 2rem 2rem 1.325rem 2rem;
  border: 1px dashed #ddd;
}

.addtoany_header {
  margin-bottom: 10px !important;
}

.addtoany_list.a2a_kit_size_32 a {
  margin-bottom: 10px;
}

.a2a_svg {
  border-radius: 100% !important;
  transition: all .15s linear;
}

.a2a_kit .a2a_svg {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.a2a_kit .a2a_svg svg {
  width: 24px;
  height: 24px;
}

/* =========================================
    Rating
========================================= */

.wpd-rating .wpd-rating-wrap .wpd-rating-data,
.wpd-rating .wpd-rating-wrap .wpd-rating-title {
  width: 140px !important;
}

/* =========================================
    Tour Gallery
========================================= */

.gallery-slider-top {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.gallery-slider-top img {
  display: block;
  border-radius: 10px;
}

.gallery-slider-bottom {
  margin-top: 6px;
}

.gallery-slider-bottom img {
  display: block;
  width: 100px;
  height: 67px;
  border-radius: 5px;
}

.gallery-slider-bottom .gallery-slider-item {
  margin-right: 5px;
  border-radius: 5px;
  overflow: hidden;
  opacity: 0.7;
  transition: all .15s linear;
}

.gallery-slider-bottom .gallery-slider-item.slick-current,
.gallery-slider-bottom .gallery-slider-item:hover {
  opacity: 1;
}

.gallery-slider-bottom .gallery-slider-item:hover {
  cursor: pointer;
}

/* =========================================
    Slick Gallery Structure
========================================= */

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* =========================================
    Gallery Navigation
========================================= */

.slick-prev img,
.slick-next img {
  width: 6px;
  height: auto;
}

.slick-prev,
.slick-next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  background: var(--secondary-color);
  border: none;
  outline: none;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  z-index: 1;
  transition: all .15s linear;
}

.slick-prev:hover,
.slick-next:hover {
  cursor: pointer;
  background: var(--secondary-color-light);
}

.slick-prev {
  left: 10px;
}

.slick-next {
  right: 10px;
}

/* =========================================
    Gallery Initialization Fallback
========================================= */

.gallery-slider-top:not(.slick-slider) .gallery-slider-item,
.gallery-slider-bottom:not(.slick-slider) .gallery-slider-item {
  display: none;
}

.gallery-slider-top:not(.slick-slider) .gallery-slider-item:first-child,
.gallery-slider-bottom:not(.slick-slider) .gallery-slider-item:first-child {
  display: block;
}

/* =========================================
	5. Forms and Popups
========================================= */

/* =========================================
    Popup Animations
========================================= */

@keyframes rotate-forever {
  0% {
    transform: rotate(0)
  }

  100% {
    transform: rotate(360deg)
  }
}

@keyframes spinner-loader {
  0% {
    transform: rotate(0)
  }

  100% {
    transform: rotate(360deg)
  }
}

/* =========================================
    Popup Structure
========================================= */

.pum-container,
.pum-content,
.pum-overlay,
.pum-title {
  background: 0 0;
  border: none;
  bottom: auto;
  clear: none;
  cursor: default;
  float: none;
  font-family: inherit;
  font-size: medium;
  font-style: normal;
  font-weight: 400;
  height: auto;
  left: auto;
  letter-spacing: normal;
  line-height: normal;
  max-height: none;
  max-width: none;
  min-height: 0;
  min-width: 0;
  overflow: visible;
  position: static;
  right: auto;
  text-align: left;
  text-decoration: none;
  text-indent: 0;
  text-transform: none;
  top: auto;
  visibility: visible;
  white-space: normal;
  width: auto;
  z-index: auto
}

.pum-content,
.pum-title {
  position: relative;
  z-index: 1
}

.pum-overlay,
html.pum-open.pum-open-overlay-disabled.pum-open-fixed .pum-container,
html.pum-open.pum-open-overlay.pum-open-fixed .pum-container {
  position: fixed
}

.pum-overlay {
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1999999999;
  overflow: initial;
  display: none;
  transition: .15s ease-in-out
}

.pum-overlay.pum-form-submission-detected,
.pum-overlay.pum-preview {
  display: block
}

.pum-overlay,
.pum-overlay *,
.pum-overlay :after,
.pum-overlay :before,
.pum-overlay:after,
.pum-overlay:before {
  box-sizing: border-box
}

.pum-container {
  top: 100px;
  position: absolute;
  margin-bottom: 3em;
  z-index: 1999999999
}

.pum-container.pum-responsive {
  left: 50%;
  margin-left: -47.5%;
  width: 95%;
  height: auto;
  overflow: visible
}

.pum-container.pum-responsive img {
  max-width: 100%;
  height: auto
}

/* =========================================
    Popup Responsive Variants
========================================= */

@media only screen and (min-width:1024px) {
  .pum-container.pum-responsive.pum-responsive-nano {
    margin-left: -5%;
    width: 10%
  }

  .pum-container.pum-responsive.pum-responsive-micro {
    margin-left: -10%;
    width: 20%
  }

  .pum-container.pum-responsive.pum-responsive-tiny {
    margin-left: -15%;
    width: 30%
  }

  .pum-container.pum-responsive.pum-responsive-small {
    margin-left: -20%;
    width: 40%
  }

  .pum-container.pum-responsive.pum-responsive-medium {
    margin-left: -30%;
    width: 60%
  }

  .pum-container.pum-responsive.pum-responsive-normal {
    margin-left: -30%;
    width: 70%
  }

  .pum-container.pum-responsive.pum-responsive-large {
    margin-left: -35%;
    width: 80%
  }

  .pum-container.pum-responsive.pum-responsive-xlarge {
    margin-left: -47.5%;
    width: 95%
  }

  .pum-container.pum-responsive.pum-position-fixed {
    position: fixed
  }
}

@media only screen and (max-width:1024px) {
  .pum-container.pum-responsive.pum-position-fixed {
    position: absolute
  }
}

/* =========================================
    Popup Position and Scroll Overrides
========================================= */

.pum-container.custom-position {
  left: auto;
  top: auto;
  margin-left: inherit
}

.pum-container .pum-content>:last-child,
.pum-form__message:last-child {
  margin-bottom: 0
}

.pum-container .pum-content:focus {
  outline: 0
}

.pum-container .pum-content>:first-child {
  margin-top: 0
}

.pum-container.pum-scrollable .pum-content {
  overflow: auto;
  overflow-y: scroll;
  max-height: 95%
}

.pum-overlay.pum-overlay-disabled {
  visibility: hidden
}

.pum-overlay.pum-overlay-disabled::-webkit-scrollbar {
  display: block
}

.pum-overlay.pum-overlay-disabled .pum-container {
  visibility: visible
}

.popmake-close,
.pum-overlay.pum-click-to-close {
  cursor: pointer
}

html.pum-open.pum-open-overlay,
html.pum-open.pum-open-overlay.pum-open-fixed .pum-overlay {
  overflow: hidden
}

html.pum-open.pum-open-overlay.pum-open-scrollable body>[aria-hidden] {
  padding-right: 15px
}

html.pum-open.pum-open-overlay.pum-open-scrollable .pum-overlay.pum-active {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch
}

html.pum-open.pum-open-overlay-disabled.pum-open-scrollable .pum-overlay.pum-active {
  position: static;
  height: auto;
  width: auto
}

/* =========================================
    Popup Theme Overrides
========================================= */

.pum {
  background-color: rgba(0, 0, 0, 0.75)
}

.pum .pum-container {
  padding: 20px;
  border-radius: 15px;
  border: 1px none #000000;
  box-shadow: 1px 1px 3px 0px rgba(2, 2, 2, 0.23);
  background-color: rgba(255, 255, 255, 1.00)
}

.pum-container .pum-title {
  font-size: 32px;
  text-align: center;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

.pum .pum-content {
  color: #333333;
  font-family: inherit;
  font-weight: 400
}

.pum .pum-content+.pum-close {
  display: block;
  padding: 0;
  width: 26px;
  height: 26px;
  position: absolute;
  right: 7px;
  top: 7px;
  background: url(../images/icon-close.svg) no-repeat;
  background-size: 20px;
  background-position: center;
}

.pum {
  z-index: 9999
}

/* =========================================
    Form Inputs
========================================= */

.form-wrap input,
.form-wrap textarea,
.form-wrap select,
.mailpoet_form input,
.mailpoet_form textarea,
.mailpoet_form select {
  display: block;
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 10px;
  height: 44px;
  padding: 0 15px;
}

.form-wrap textarea,
.mailpoet_form textarea {
  padding: 15px;
  resize: none;
  height: 120px;
}

.form-wrap input[type="submit"],
.mailpoet_form input[type="submit"] {
  border: none;
  transition: all .15s linear;
}

.form-wrap input[type="submit"]:hover,
.mailpoet_form input[type="submit"]:hover {
  cursor: pointer;
}

.form-wrap input:focus,
.form-wrap textarea:focus,
.mailpoet_form input:focus,
.mailpoet_form textarea:focus {
  border-color: #CD006D;
}

/* =========================================
    Form Consent Notice
========================================= */

.form-notice {
  font-size: .875rem;
  margin: 0.75rem 0;
}

.form-notice a {
  text-decoration: underline;
}

.form-notice a:hover {
  text-decoration: none;
}

.form-notice input[type="checkbox"] {
  width: 20px;
  height: 20px;
}

.form-notice .wpcf7-list-item {
  margin: 0;
}

.form-notice .wpcf7-list-item label {
  display: flex;
  gap: 10px;
  align-items: center;
}

/* =========================================
    Contact Form Validation and Status
========================================= */

.wpcf7-not-valid-tip {
  font-size: 14px;
  margin-top: 5px;
}

input.wpcf7-not-valid {
  border-color: #dc3232 !important;
}

.form-text {
  font-size: .875rem;
  text-align: center;
  margin-top: 1rem;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-response-output {
  text-align: center;
}

/* =========================================
    MailPoet Form Overrides
========================================= */

.mailpoet_form {
  max-width: 500px;
  padding: 0 !important;
}

.mailpoet_form label {
  display: none;
}

.mailpoet_form input {
  padding: 0 15px !important;
}

/* =========================================
    Datepicker
========================================= */

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current {
  background: var(--secondary-color);
  box-shadow: var(--secondary-color) 0 1px 3px 0 inset;
}

.xdsoft_datetimepicker .xdsoft_calendar td:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover {
  background: var(--secondary-color-light) !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
  color: var(--secondary-color);
}

/* =========================================
    Review
========================================= */

.block-review {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px dashed #ddd;
}

.block-review__title {
  font-weight: 700;
  font-size: 1.5rem;
  margin-bottom: .5rem;
}

.block-review__meta {
  margin-bottom: 1rem;
  font-style: italic;
  color: #a5a5a5;
  font-size: .875rem;
}

.block-review__content p {
  line-height: 1.3;
  margin-bottom: 1rem;
}

.block-review__content p:last-child {
  margin-bottom: 0;
}

/* =========================================
    Bookmarks
========================================= */

.bookmarks_wrap {
  border-bottom: 1px dashed #ddd;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
}

.bookmarks_thumb img {
  display: block;
  width: 100%;
}

.bookmarks_text {
  font-size: 1.25rem;
  font-weight: 600;
}

.no-favorites {
  margin-bottom: 1rem;
}

.simplefavorites-clear {
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  border-radius: 10px;
  color: #fff;
  text-align: center;
  padding: 13px 0;
  background: var(--secondary-color);
  box-shadow: inset 5px -5px 1px 0 var(--secondary-color-shadow);
  transition: all .15s linear;
  max-width: 200px;
}

.simplefavorites-clear:hover {
  opacity: 0.9;
  box-shadow: inset 3px -3px 1px 0 var(--secondary-color-shadow);
  cursor: pointer;
}

.simplefavorites-clear[disabled],
.simplefavorites-clear[disabled]:hover {
  cursor: no-drop;
  box-shadow: inset 5px -5px 1px 0 var(--secondary-color-shadow);
  opacity: 0.5;
}

/* =========================================
    Bookmarks Mobile Variant
========================================= */

@media only screen and (max-width:575px) {
  .bookmarks_wrap .col-sm-3 {
    margin-bottom: 1rem;
  }
}

/* =========================================
	6. Site Footer
========================================= */

/* =========================================
    Footer
========================================= */

.footer iframe {
  display: block;
}

.widget-operator {
  background: transparent;
}

.footer a,
.footer a:hover {
  color: #fff;
  text-decoration: none;
}

.footer-top,
.footer-middle {
  background: var(--primary-color);
}

.footer-top {
  position: relative;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-top::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  top: -4px;
  width: 100%;
  height: 4px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 195.09 55.74'%3E%3Cpath fill='%232C52B8' d='M97.54,55.74H0V0H39.31C46.57,32.19,69.9,55.74,97.54,55.74Z'/%3E%3Cpath fill='%232C52B8' d='M195.09,0V55.74H97.54c27.65,0,51-23.55,58.24-55.74Z'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
}

/* =========================================
    Footer Navigation
========================================= */

.footer-menu {
  list-style: none;
}

.footer-menu li,
.footer-menu li a {
  display: block;
}

.footer-menu li a:hover {
  text-decoration: underline;
}

.footer-menu .current-menu-element {
  text-decoration: underline;
  color: #fff;
}

/* =========================================
    Footer Copyright
========================================= */

.footer-bottom {
  padding: 10px 0;
  background: var(--primary-color-light);
  color: #fff;
  font-size: 13px;
}

.footer-bottom a:hover {
  text-decoration: underline;
}

/* =========================================
    Footer Subscription
========================================= */

.subscribe {
  position: relative;
  padding-left: 65px;
}

.subscribe::before {
  content: '';
  display: block;
  height: 52px;
  width: 46px;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../images/icon-subscribe.svg) no-repeat;
  opacity: 0.75;
}

.subscribe-title {
  display: block;
  text-transform: uppercase;
  text-decoration: underline;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 0.5rem;
}

.subscribe-text {
  display: block;
  font-size: 12px;
  line-height: 1;
  opacity: 0.8;
}

.subscribe a:hover .subscribe-title {
  text-decoration: none;
}

/* =========================================
    wpDiscuz Footer
========================================= */

.wpd-rating {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.by-wpdiscuz {
  display: none;
}

#comments {
  margin-bottom: 0 !important;
}

/* =========================================
    Footer Mobile Variant
========================================= */

@media only screen and (max-width:1024px) {
  #wpdcom {
    max-width: 100%;
  }
}

/* =========================================
	7. Company Page
========================================= */

/* =========================================
    Our Team
========================================= */

.line span {
  display: inline-block;
  position: relative;
  z-index: 2;
  background: #fff;
  padding-right: 20px;
}

.line::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  background: #ccc;
  top: 50%;
  z-index: 1;
}

.our-team__block {
  position: relative;
  overflow: hidden;
  border-radius: 25px;
  transition: all .15s linear;
}

.our-team__block:hover {
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3);
}

.our-team__block img {
  display: block;
  height: 350px;
  width: 100%;
  object-fit: cover;
  object-position: top;
  -webkit-object-position: top;
  -webkit-object-fit: cover;
  transition: all .15s linear;
}

.our-team__block .info {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 152px;
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 20px;
  color: #fff;
  background: -moz-linear-gradient(180deg, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 1) 100%);
  background: -webkit-linear-gradient(180deg, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 1) 100%);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
}

.our-team__block .info span {
  display: block;
}

.our-team__block .info .name {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.our-team__block .info .desc {
  margin-bottom: 0.6rem;
  font-size: .875rem;
}

.our-team__block .info .phone {
  margin-bottom: 0;
  font-weight: 600;
  font-size: .875rem;
}

.our-team__block .info span:last-child {
  margin-bottom: 0;
}

.our-team__block .info a {
  color: #fff;
}

@media only screen and (min-width:400px) {
  .our-team__block img {
    height: 450px;
  }
}

@media only screen and (min-width:576px) {

  .our-team__block .info {
    padding: 30px 20px;
  }

  .our-team__block .info .name {
    font-size: 1.125rem;
  }

  .our-team__block .info .desc {
    font-size: 1rem;
  }

  .our-team__block .info .phone {
    font-size: 1rem;
  }
}

/* =========================================
    Our Documents
========================================= */

.slider-documents {
  padding-left: 50px;
  padding-right: 50px;
}

.slider-documents__block a {
  display: block;
  position: relative;
  overflow: hidden;
}

.slider-documents__block a::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5) url('../images/icon-zoom.svg') center/50px no-repeat;
  opacity: 0;
  visibility: hidden;
  transition: all .15s linear;
}

.slider-documents__block a:hover::before {
  opacity: 1;
  visibility: visible;
}

.our-documents__download a {
  display: inline-flex;
  align-items: center;
  margin: 0 10px;
  color: #333;
}

.our-documents__download img {
  display: block;
  height: 30px;
  margin-right: 10px;
}

.our-documents__download a:hover {
  color: #E60081;
}

/* =========================================
    Our Details
========================================= */

.our-details__text p {
  margin-bottom: 1rem;
}

.our-details__text p:last-child {
  margin-bottom: 0;
}

/* =========================================
	8. Integration Overrides
========================================= */

/* =========================================
    Form Success Overrides
========================================= */

.cf7-thanks-message {
  padding: 20px;
  text-align: center;
}

.cf7-thanks-message__title {
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 10px;
}

.cf7-thanks-message__text {
  font-size: 18px;
}

/* =========================================
    Cookie Banner
========================================= */

.cky-notice-btn-wrapper {
  flex-wrap: nowrap !important;
}

.cky-notice-des a.cky-policy,
.cky-notice-des button.cky-policy {
  white-space: normal !important;
}

.cky-notice-des a.cky-policy:hover {
  text-decoration: none !important;
}

/* =========================================
    Keyboard focus
========================================= */

:is(a, button, input, select, textarea):not(.ubermenu *, [class*="ubermenu"]):focus-visible {
  outline: 2px solid #244eb8;
  outline-offset: 2px;
}

@media (forced-colors: active) {
  :is(a, button, input, select, textarea):not(.ubermenu *, [class*="ubermenu"]):focus-visible {
    outline-color: Highlight;
  }
}
