@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap');


:root {
	/*========== Font and typography ==========*/
	--body-font: "Manrope", sans-serif;
	--secondary-font: "DM Serif Display", serif;
	--biggest-font-size: 2rem;
	--h2-font-size: 1.25rem;
	--h3-font-size: 1.125rem;
	--normal-font-size: .938rem;
	--small-font-size: .813rem;
	--smaller-font-size: .75rem;
	/*========== Colors ==========*/
	--text: #112211;
	--text-lighter: rgba(24, 24, 24, 0.6);
	--background-light: #FAFBFC;
	--white: #ffffff;
	--off-white : #FAFBFC;
	--header: #1a1a1a;
	--grey: #F2F2F2;
	--lightgrey: #efefef;
	--green: #1C4B3C;
	--green-lighter: #E4E9E8;
	--mint-green: #E8EDEC;
	--accent: #AE9877;
	--accent-lighter: #F4EFEA;
	--red: #c01f1f;
	--footerline: #31395a;
	--border-radius: 12px;
	/*========== Transitions ==========*/
	--img-scale: scale(1.05);
}

@media screen and (min-width: 1140px) {
	:root {
		--biggest-font-size: 3rem;
		--h2-font-size: 1.75rem;
		--h3-font-size: 1.25rem;
		--normal-font-size: 1rem;
		--small-font-size: .875rem;
		--smaller-font-size: .813rem;
		--border-radius: 20px;
	}
}

/*
==========================================================================
GLOBAL & WP SPECIFIC STYLES
==========================================================================
*/

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-text-size-adjust: none;
}

.hidden { display:none!important;visibility:hidden; }
	.visuallyhidden { border:0;clip:rect(0,0,0,0);height:0px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:0px; }
	.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus { clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto; }

input,
textarea,
select {
	-webkit-border-radius: 0;
	border-radius: 0;
}

img,
audio,
video,
canvas {
	max-width: 100%;
}

html {
	min-height: 100%;
	margin-bottom: 1px;
	overflow: -moz-scrollbars-vertical !important;
}

::selection {
	background: var(--green);
	color: var(--white);
}

::-moz-selection {
	background: var(--green);
	color: var(--white);
}

::-webkit-selection {
	background: var(--green);
	color: var(--white);
}

strong,
b {
	font-weight: bold;
}

em,
i {
	font-style: italic;
}

img.wp-smiley {
	float: none;
	margin: 0 0 0 5px;
	vertical-align: middle;
}

p {
	margin: 0 0 20px 0;
}

a {
	color: var(--blue);
	text-decoration: none;
}

a:hover {
	color: var(--midblue);
	text-decoration: none;
}

.inner {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 15px;
}

.inline-price-pp h2 {
	margin: 0;
	font-weight: 600;
	line-height: 1;
	color: var(--blue);
	font-family: var(--body-font);
}

.inline-price-pp sub {
	align-self: flex-end;
}

.dm-serif-display-regular {
	font-family: "DM Serif Display", serif;
	font-weight: 400;
	font-style: normal;
  }
  
  .dm-serif-display-regular-italic {
	font-family: "DM Serif Display", serif;
	font-weight: 400;
	font-style: italic;
  }
  
  img.img__cover,
  .img__cover img {
	  width: 100%;
	  height: 100%;
	  -o-object-fit: cover;
	  object-fit: cover;
	  display: block;
	  transition: all .4s ease-in-out;
  }
  .box-shadow {
	  box-shadow: 0 4px 16px rgba(28, 75, 60, 0.15);
  }
/*
==========================================================================
H & LINKS
==========================================================================
*/

h1, h2, h3, h4 {
	margin: 0 0 20px 0;
	padding: 0;
}

h5 {

	margin: 0 0 10px 0;
	padding: 0;
}

a.absolute-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
/*
==========================================================================
GENERAL
==========================================================================
*/

body {
	background: var(--off-white);
	color: var(--text);
	font-size: 1rem;
	line-height: 1.3;
	font-family: var(--body-font);
	margin: 0;
	font-weight: 400;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	height: 100vh;
	height: 100dvh;
}

#main {
	flex-grow: 1;
}

.dtmg__section {
	padding: 2.5rem 0;
}

.dtmg__btn {
	border-radius: 30px;
	padding: 12px 20px;
	border: 1px solid var(--green);
	text-align: center;
	background: var(--green);
	color: var(--white);
	min-width: 80px;
	transition: all .3s ease-out;
	font-size: 16px;
	font-weight: 500;
	cursor:pointer;
	height: 56px;
	display: flex;
	align-items: center;
}

button.dtmg__btn:hover,
a.dtmg__btn:hover {
	background: var(--accent);
	border-color: var(--accent);
}

.dtmg__btn.arrow--right::after {
	content: '';
	display: inline-block;
	width: 18px;
	min-width: 18px;
	height: 18px;
	background-image: url(../images/icons/right_arrow_icon.png);
	background-repeat: no-repeat;
	background-size: contain;
	margin-left: 10px;
}
.dtmg__btn.arrow--left::before {
	content: '';
	display: inline-block;
	width: 18px;
	min-width: 18px;
	height: 18px;
	background-image: url(../images/icons/left_arrow_icon.png);
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 10px;
}
.search-all-link.arrow--right-green::after,
.dtmg__btn.arrow--right-green::after {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image: url(../images/icons/right-icon-green.svg);
	background-repeat: no-repeat;
	background-size: contain;
	margin-left: 10px;
}
.search-all-link.arrow--right-green::after {
	width: 14px;
	height: 14px;
	margin-left: 5px;
	transition: all .3s ease-out;
}
.search-all-link.arrow--right-green:hover::after {
	margin-left: 10px;
}
.dtmg__btn.arrow--left-green::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image: url(../images/icons/left-icon-green.svg);
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 10px;
}

.dtmg__btn--alt {
	background-color: var(--text);
	border: 1px solid var(--text);
}

.dtmg__btn--alt:hover,
a.dtmg__btn--alt:hover {
	background-color: var(--green);
	border-color: var(--green-lighter);
}
.dtmg__btn--alt:hover a,
#booking-main .dtmg__btn--alt:hover a{
	color: var(--white);
}

.dtmg__btn--accent {
	background-color: var(--accent);
	color: var(--white);
	min-width: initial;
	border-color: var(--accent);
}
a.dtmg__btn--accent:hover,
.dtmg__btn--accent:hover {
	background-color: var(--green);
	color: var(--white);
	border-color: var(--green-lighter);
}
.dtmg__btn--accent.current {
	background-color: var(--midblue);
	color: var(--white);
	border-color: var(--midblue);
}
a.dtmg__btn--no-bg {
	background-color: transparent;
	color: var(--white);
	min-width: initial;
	border:0;
	border-color: transparent;
	padding:0;
	border-radius: 0;
	cursor:pointer;
	display: flex;
	align-items: center;
}
.dtmg__btn--no-bg.arrow--right::after {
	content: '';
	display: inline-block;
	width: 16px;
	min-width: 16px;
	height: 16px;
	background-image: url(../images/icons/right_arrow_icon.png);
	background-repeat: no-repeat;
	background-size: contain;
	margin-left: 10px;
}
.dtmg__btn--white {
	background-color: var(--white);
	color: var(--green);
	border: 1px solid var(--white);
	transition: all .3s ease-out;
}
.dtmg__btn--white:hover {
	background-color: var(--accent);
	border-color: var(--accent);
}

.dtmg__btn.arrow--right-green:hover::after,
.dtmg__btn.arrow--left-green:hover::before {
	filter:grayscale(100%) invert(100%) contrast(200%);
}

.image__wrapper {
	position: relative;
	width: 100%;
	height: 280px;
	overflow: hidden;
}

.inline-price-pp {
	display: flex;
	flex-wrap: nowrap;
}

#alert-bar {
	padding: 20px 0;
}

#alert-bar h1,
#alert-bar h2,
#alert-bar h3,
#alert-bar h4,
#alert-bar p {
	margin:0;
	color: var(--text);
	font-family: var(--body-font);
	font-weight: 600;
}

#alert-bar .alert-bar-close {
	color: var(--text);
}

.section__title,
h2.slide__title {
	color: #1C4B3C;
}

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

/*========== SCROLL UP ==========*/
.scrollup {
	position: fixed;
	right: 1rem;
	bottom: 10%;
	background-color: var(--green);
	border:1px solid var(--white);
	padding: .5rem;
	display: flex;
	opacity: .9;
	z-index: 999;
	transition: .4s;
	border-radius: 999px;
	transform: scale(0);
  }

  .scrollup:hover {
	background-color: var(--accent);
	opacity: 1;
  }

  .scrollup i {
	color: var(--white);
	font-size: 2.2rem;
  }

  /* Show scroll */
  .show-scroll {
	bottom: 5rem;
  }

/*
==========================================================================
HEADER
==========================================================================
*/

.header-banner {
	position: fixed;
	width: 100%;
	height: 50px;
	background: var(--blue);
	color: var(--white);
	z-index: 9999;
	text-transform: uppercase;
	padding: 8px 0;
	text-align: center;
	font-weight: 700;
}

.header-banner p {
	margin: 0;
}

.header-banner i {
	float: right;
	margin: 8px 0 0 0;
}

header .panel {
	display: block !important;
}

header {
	top: 50px;
	z-index: 99999;
	width: 100%;
	background: transparent;
	margin: 0px auto;
	padding: 10px 0 0 0;
	box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.5);
}

.header-message {
	color: var(--yellow);
	font-size: 20px;
	font-weight: 900;
	text-align: center;
	float: left;
}

header .inner {
	padding: 0 10px;
}

.logo {
	display: block;
	width: 425px;
	height: auto;
	float: left;
	margin: 0;
	padding: 15px 0 0 5px;
	transition: all 0.3s ease-in;
}

.shrink {
	padding: 5px 0;
	height: auto;
	position: fixed;
	background: var(--white);
	width: 100%;
	top: 0;
	z-index: 999999;
	box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.5);
}

.shrink nav {
	float: right;
	margin: 5px 0 0 0;
}

.header-info {
	padding: 10px 0;
	float: right;
}

.header-info img {
	width: 200px;
	display: inline-block;
	vertical-align: middle;
}

.nav-button {
	display: none;
}

.header-icon {
	position: relative;
	margin: 0 5px 0 0;
	display: inline-block;
	vertical-align: middle;
}

.header-icon img {
	max-width: 100px;
	margin: 0 0 0 10px;
}

.header-icon span {
	font-weight: 700;
	font-size: 14px;
	margin: 0 10px 0 5px;
}

.header-icon i {
	background: var(--newblue);
	color: var(--white);
	font-size: 12px;
	padding: 7px;
	text-align: center;
	border-radius: 50%;
	width: 26px;
	height: 26px;
}

.header-icon i:hover {
	background: var(--orange);
	color: var(--white);
}

.mobile__auth.open {
    opacity: 1;
    visibility: visible;
}
.mobile__auth {
	opacity: 0;
    visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    transition: all .3s;
}

.mobile__auth .auth__container {
	position: relative;
    top: -30px;
    background: #fefefe;
    padding: 20px;
    width: 90%;
	max-width: 360px;
    max-height: 90%;
    overflow: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: top .3s;
	border-radius: 8px;
	font-family: var(--secondary-font);
}

.mobile__auth .auth__container .auth__header {
	padding:1rem;
	background-color: var(--lightblue);
	text-align: center;
	width: 100%;
	border-radius: 8px;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.mobile__auth .auth__container .auth__header span.close{
	width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
	cursor: pointer;
}

.mobile__auth .auth__container .auth__header h4 {
	margin-bottom: 0;
	font-weight: 500;
}

.mobile__auth .auth__container .auth__content {
	display: flex;
	align-items: center;
	gap:2rem;
	justify-content: space-between;
	width: 100%;
	padding: 2rem;
}

.mobile__auth .auth__container .auth__content h2 {
	font-family: var(--body-font);
	font-weight: 600;
	text-transform: uppercase;
}

@media all and (min-width: 1024px) {
	.nav__btn {
		display: flex;
		gap: 16px;
		align-items: center;
	}
}
/*
==========================================================================
AGENT HEADER
==========================================================================
*/

.user__info {
	display: flex;
	gap:1rem;
}
.user__img {
	width: 60px;
	height: 60px;
	overflow: hidden;
	background-color: var(--white);
	position: relative;
	border-radius: 60px;
}

/*
==========================================================================
HOME HERO
==========================================================================
*/

section.home-slider {
	position: relative;
	z-index: 10;
}

.hero {
	height: 632px;
	margin: -1px auto 0 auto;
	position: relative;
	z-index: 0;
	width: 100%;
}

.hero-inner {
	height: 632px;
	margin: -30px auto 0 auto;
	position: relative;
	z-index: 0;
	width: 100%;
	background-size: cover;
	background-position: center center;
	background-color: var(--blue);
}

.hero-inner.small {
	height: 150px;
}

.hero-slider video {
    object-fit: cover;
    height: 100%
}


.dark-slide::before {
	content: "";
	position: absolute;
	width: 100%;
	background: rgba(0, 0, 0, 0.4);
	top: 0;
	bottom: 0;
	z-index: -1;
}

.hero .slide {
	position: relative;
	height: 632px;
	background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
	z-index: 999;
}


.hero .slick-slide {
	height: 632px;
}

.slider-inner {
	width: 100%;
	position: absolute;
	top: 30%;
	margin: 150px auto 0 auto;
	z-index: 999;
}

.slider-inner-content {
	width: 55%;
	padding: 0px 20px;
	color: var(--white);
	text-align: left;
}

.hero-inner-content {
	width: 60%;
	position: relative;
	padding: 0px 20px;
	color: var(--white);
	text-align: center;
	margin: 0 auto;
	top: 50%;
	transform: translateY(-50%);
}


.hero .slider-inner p {
	font-weight: normal;
	font-size: 20px;
	line-height: 120%;
	font-family: var(--body-font);
	font-weight: 500;
}
.hero .slider-inner h3 {
	font-weight: normal;
	font-size: var(--h2-font-size);
	font-family: var(--body-font);
}



.header-padder {
	height: 0;
}

.remove {
	position: relative;
	height: auto;
	width: 100%;
}

.hero-slider {
	border-radius: 20px;
	overflow: hidden;
	z-index: 20;
}

/* .hero-slider .slick-slide::after { */
.home-slider .hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background: rgb(15,42,74);
    background: -moz-linear-gradient(0deg,rgba(15,42,74,.3) 0%,rgba(0,10,24,.5) 100%);
    background: -webkit-linear-gradient(0deg,rgba(15,42,74,.3) 0%,rgba(0,10,24,.5) 100%);
    background: linear-gradient(0deg,rgba(15,42,74,.3) 0%,rgba(0,10,24,.5) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#1e60ac",endColorstr="#0040a1",GradientType=1)
}

.home-slider .hero .slider__controls {
    position: absolute;
	bottom: 100px;
    display: flex;
    align-items: center;
	justify-content: flex-end;
    flex-direction: row-reverse;
	gap:60px;
	width: auto;
	z-index: 99999;
}

.home-slider .hero .slider__controls .prev-btn.slick-arrow,
.home-slider .hero .slider__controls .next-btn.slick-arrow {
    width: 40px;
    height: 40px;
    border-radius: 30px;
    background-color: var(--white);
    color: var(--green);
	transition: all .3s ease-in-out;
}
.home-slider .hero .slider__controls .prev-btn.slick-arrow:hover,
.home-slider .hero .slider__controls .next-btn.slick-arrow:hover {
    background-color: var(--accent);
    color: var(--white);
}
.home-slider .hero .slider__controls .prev-btn.slick-arrow {
	background-color: transparent;
	color: var(--white);
	border: 1px solid var(--white);
}

.home-slider .hero .slick-dots {
    height: 3px;
    width: 200px;
    display: flex;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.4);
    position: relative;
    margin-left: 30px;
    padding: 0;
    border-radius: 3px;
    bottom: 0;
}

.home-slider .hero .slick-dots li {
    flex: 1;
    margin: 0;
    position: relative;
    display: inline-block;
    width: 20px;
    height: 3px;
    border-radius: 3px;
    padding: 0;
    cursor: pointer;
}

.home-slider .hero .slick-dots li.slick-active {
    background-color: var(--white);
}

.home-slider .hero .slick-dots li button:before {
    display: none;
}

.home-slider .hero .slick-dots button {
    padding: 0;
    width: 1px;
    height: 1px;
    display: none;
}

/*
==========================================================================
HERO SEARCH
==========================================================================
*/
#header-search { 
	/* padding:20px;
	position: absolute;
	width: 100%; 
	max-width: 432px; 
	bottom: -10%;  */
	bottom: -80px;
	left: 50%; 
	transform: translateX(-50%); 
	z-index: 9999;}
/*
==========================================================================
NAV
==========================================================================
*/

.header-phone {
	display: flex;
	align-items: center;
	gap:1rem;
	justify-content: flex-end;
	color: var(--white);
	font-weight: 600;
}

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

h3.header-phone-title {
	margin-bottom: 0;
}

.bg-white .header-phone,
.bg-white .header-phone a {
	color: var(--blue);
}

.nice-select li {
	display: block;
}

.parent ul a {
	background: none;
	color: var(--white);
	margin: 0;
}

.side-item {
	margin: 0 0 50px 0;
}

.side-item i {
	padding: 0 5px 0 0;
}

.nav-wrapper .nav-buttons {
	position: absolute;
	top: 18px;
	right: 10px;
	transition: all 0.3s ease-in;
}

.nav-wrapper .nav-buttons:hover {
	opacity: 0.6;
	transition: all 0.3s ease-in-out;
}

.nav-visible .nav-wrapper {
	-webkit-transform: translateX(0);
	transform: translateX(0);
	visibility: visible;
}

.nav-wrapper .nav {
	position: relative;
	-webkit-transform: rotateY(90deg);
	transform: rotateY(90deg);
	-webkit-transform-origin: left center;
	transform-origin: left center;
	transition: -webkit-transform 0.6s;
	transition: transform 0.6s;
	transition: transform 0.6s, -webkit-transform 0.6s;
	padding: 20% 25% 0 25%;
}

.nav-visible .nav {
	-webkit-transform: rotateY(0deg);
	transform: rotateY(0deg);
}

.nav-wrapper .parent ul {
	display: none;
}

.nav-wrapper .minus ul {
	display: block;
}

.nav-wrapper .nav a:focus,
.nav-wrapper .nav a:hover {
	text-decoration: none;
	transition: all 0.3s ease-in-out;
	color: var(--text);
}

.button-lines {
	font: 16px Helvetica, Arial, sans-serif;
	background: transparent;
	border: none;
	cursor: pointer;
	display: inline-block;
	padding: 1rem 0.5rem;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.menutag {
	margin: 5px 0 0 15px;
	vertical-align: middle;
	display: inline-block;
	font-size: 15px;
	text-transform: none;
	color: var(--white);
}

.nav-visible .lines,
.nav-visible .lines:after,
.nav-visible .lines:before {
	background: var(--white);
}

.nav-visible .menutag {
	color: var(--white);
	margin: 0;
	text-transform: uppercase;
	font-size: 15px;
	font-weight: bold;
}

.nav-visible .lines::after,
.nav-visible .lines::before {
	height: 0.2rem;
	width: 2rem;
}

.nav-visible ul ul {
	display: block;
}

.nav-wrapper li {
	display: block;
	position: relative;
	border-bottom: 1px solid var(--white);
}

.nav-wrapper li li {
	display: block;
	position: relative;
	border-bottom: 0;
}

.nav-wrapper .parent {
	padding: 0;
}

.sticky {
	position: fixed;
	top: 75px;
	/* padding: 5px 0 5px 0; */
}

.sticky .panel-container {
	display: none;
}

.nav__btn .hTop-agent,
.nav__btn .hTop-agent a {
	color: var(--green);
	font-family: var(--body-font);
	font-size: 16px;
	font-weight: 400;
}

.nav__btn span.username,
.nav__btn a.mmb__link {
	margin-right: 8px;
}

#header.bg-white .nav__btn .hTop-agent,
#header.bg-white .nav__btn .hTop-agent a {
	color: var(--text);
}

#header.bg-white .nav__btn .hTop-agent,
#header.bg-white a {
	transition: all .3s ease-out;
}

#header.bg-white .nav__btn .hTop-agent a:hover {
	color: var(--blue);
}

/*=============== NAV ===============*/
nav {
    background: none;
    position: relative;
}

/* Main */
nav>.nav__items>ul {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

nav>.nav__items>ul>li {
    font-size: var(--normal-font-size);
    font-weight: 600;
    position: relative;
}

nav>.nav__items>ul>li>a {
    display: inline-block;
    padding: 10px;
    color: var(--text);
}
nav>.nav__items>ul>li.menu-item-has-children>a {
	margin: 0 20px 0 0;
}
nav>.nav__items>ul>li:hover>a {
    color: var(--text);
}

nav>.nav__items>ul>li:first-child>a {
    padding-left: 0;
}

nav>.nav__items>ul>li:last-child>a {
    padding-right: 0;
    margin-right: 0;
}

/* Arrows */
nav>.nav__items>ul>li.menu-item-has-children>a:after {
    content: '';
    position: absolute;
    display: block;
    width: 6px;
    height: 6px;
    border-style: solid;
    border-color: var(--text);
    border-width: 0px 2px 2px 0px;
    right: -12px;
    top: 50%;
    transform: rotate(45deg) translateY(-50%);
    transition: border-width 150ms ease-in-out;
}

nav>.nav__items>ul>li.menu-item-has-children>.sub-menu>li.menu-item-has-children>a:after {
    content: '';
    position: absolute;
    display: block;
    width: 6px;
    height: 6px;
    border-style: solid;
    border-color: var(--text);
    border-width: 0px 2px 2px 0px;
    right: -12px;
    top: 50%;
    transform: rotate(45deg) translateY(-50%);
    transition: border-width 150ms ease-in-out;
}

/* 1st Level Sub Menu */
nav>.nav__items>ul>li>.sub-menu {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    min-width: 200px;
    background: var(--white);
    transition: all .3s;
    transition-delay: .3s;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

nav>.nav__items>ul>li.menu-item-has-children:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
	padding: 0;
	margin: 0;
}

nav>.nav__items>ul>li>.sub-menu>li {
    position: relative;
}
nav>.nav__items>ul>li>.sub-menu>li:not(:last-of-type) {
    border-bottom: 1px solid #f2f2f2;
}

nav>.nav__items>ul>li>.sub-menu>li>a {
    display: block;
    padding: 10px;
    color: var(--text);
}

nav>.nav__items>ul>li>.sub-menu>li:hover>a {
    color: var(--primary);
}

/* 2nd Level Sub Menu */
nav>.nav__items>ul>li>.sub-menu>li>.sub-menu {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    left: 200px;
    top: 0;
    min-width: 200px;
    background: var(--white);
    transition: all .3s;
    transition-delay: .3s;
}

nav>.nav__items>ul>li.menu-item-has-children:hover>.sub-menu>li.menu-item-has-children:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

nav>.nav__items>ul>li>.sub-menu>li>.sub-menu>li>a {
    display: block;
    padding: 10px;
    color: var(--text);
}

nav>.nav__items>ul>li>.sub-menu>li:hover>.sub-menu>li:hover>a {
    color: var(--primary);
}

nav ul#menu-navigation {
    /* height: 50px; */
    display: flex;
    align-items: center;
}

nav ul li {
    padding: 0 12px;
    height: 100%;
}

nav ul li a {
    color: var(--text);
    position: relative;
    /* height: 100%; */
}

/* nav ul li.menu-item-home a {
    min-width: 75px;
    margin: 0;
    padding: 10px 0;
} */

nav ul li.current-menu-item a:before {
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    position: absolute;
    bottom: 0;
    background-color: var(--primary);
}



/*####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######



##     ##  #######  ########  #### ##       ########    ##    ##    ###    ##     ##
###   ### ##     ## ##     ##  ##  ##       ##          ###   ##   ## ##   ##     ##
#### #### ##     ## ##     ##  ##  ##       ##          ####  ##  ##   ##  ##     ##
## ### ## ##     ## ########   ##  ##       ######      ## ## ## ##     ## ##     ##
##     ## ##     ## ##     ##  ##  ##       ##          ##  #### #########  ##   ##
##     ## ##     ## ##     ##  ##  ##       ##          ##   ### ##     ##   ## ##
##     ##  #######  ########  #### ######## ########    ##    ## ##     ##    ###



####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######*/


#mobile-navigation-control {
    display: none;
    cursor: pointer;
    text-transform: uppercase;
    padding: 10px;
    color: var(--primary);
}

#mobile-navigation {
    position: fixed;
    z-index: 999;
    top: 0;
    height: 100%;
    min-width: 260px;
    right: -100%;
    width: 90%;
    background: var(--white);
    overflow-y: auto;
    padding: 0 0 20px;
    transition: right .4s;
}

#enquiry-top span.close,
#mobile-navigation span.close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    color: var(--white);
    background-color: var(--green);
    font-size: 20px;
    margin-left: auto;
    position: absolute;
    top: 40px;
    right: 35px;
    z-index: 20;
    transition: all .3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
#enquiry-top span.close {
	position: relative;
	top:initial;
	left: initial;
	right: 0;
}
#enquiry-top span.close:hover,
#mobile-navigation span.close:hover {
    transform: scale(1.1) rotate(-30deg);
    background: var(--green);
}

#mobile-navigation .meta {
    margin: 20px 20px 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#mobile-navigation .meta img {
    height: 20px;
    width: auto;
}

#mobile-navigation .meta i {
    color: #fff;
    padding: 10px;
    margin: -10px;
    cursor: pointer;
}

#mobile-navigation.mobile-nav-open {
    right: 0;
    padding: 40px;
}

#mobile-navigation.mobile-nav-open i.fa-phone {
    margin-right: 10px;
}

#mobile-navigation ul {
    display: block;
    margin: 0;
    list-style: none;
    font-size: 18px;
    color: var(--secondary);
    padding-top:88px;
}

#mobile-navigation li {
    display: block;
    position: relative;
    /* border-top:1px solid #efefef; */
}

#mobile-navigation li.menu-item-has-children>a {
    padding: 20px 0;
}

#mobile-navigation ul .sub-menu {
    display: none;
    padding-top: 0;
    padding-left: 20px;
}

#mobile-navigation .current-menu-parent ul .sub-menu {
    display: block;
}
#mobile-navigation .mob-fav-link {
    border-top: 1px solid #efefef;
}

#mobile-navigation a {
    display: block;
    padding: 10px;
    color: #333;
    opacity: 1;
    font-weight: 600;
    transition: opacity var(--speed);
    font-size: 15px;
}

#mobile-navigation .mob-signup-link .sign-up {
    border-top: 1px solid #efefef;
    padding:10px;
    font-size: 15px;
    color: #333;
    font-weight: 600;
    cursor: pointer;
}

#mobile-navigation ul .sub-menu a {
    font-weight: normal;
}

#mobile-navigation .primary__phone,
#mobile-navigation .primary__phone a {
    color: var(--primary);
}

#mobile-navigation .social-media a {
    color: var(--primary);
}

#mobile-navigation a:hover,
#mobile-navigation .current-menu-item>a,
#mobile-navigation .current-menu-parent>a,
#mobile-navigation .mob-signup-link .sign-up:hover,
#mobile-navigation .primary__phone a:hover,
#mobile-navigation .social-media a:hover {
    color: var(--primary-darker);
}


#mobile-navigation li.menu-item-home a i {
    display: none;
}

#mobile-navigation .sub-menu-control {
    cursor: pointer;
    position: absolute;
    z-index: 1;
    top: 11px;
    right: 10px;
    color: var(--text);
    padding: 10px;
    margin: -10px;
    font-size: 14px;
    width: 100%;
    text-align: right;
}

#mobile-background {
    position: fixed;
    z-index: 899;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);
    opacity: 0;
    visibility: hidden;
    transition: all 0.7s;
}

#mobile-background.mobile-nav-open {
    opacity: 1;
    visibility: visible;
}

/*
==========================================================================
HOME
==========================================================================
*/


#goTop {
	float: right;
	font-size: 14px;
	transition: all .2s;
	color: var(--text);
}

#goTop i {
	font-size: 16px;
}

/*
==========================================================================
CONTENT ROWS
==========================================================================
*/

.content__grid {
	padding:3.5rem 0 1.75rem;
	color: var(--text);
	font-size: 14px;
}
.content__grid .row__icon,
.content__grid .row__content {
	text-align: center;
}

.content__grid .row__icon {
	font-size: 36px;
	color: var(--blue);
}
.content__grid .row__content h1,
.content__grid .row__content h2{
	font-family: var(--secondary-font);
	margin-top:20px;
}
.content-rows .slider-controls {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 0 auto;
	width: 92%;
	padding-bottom: 3.5rem;
}

.logo__arrows button, .prev-btn.slick-arrow, .next-btn.slick-arrow {
    width: 40px;
    height: 40px;
    border-radius: 30px;
    background-color: var(--green);
    color: var(--white);
}
.row-content-slider .slick-track {
	display: flex;
	align-items: stretch;
}
.row-content-slider .slick-list {
    margin: 0 -10px;
}
.row-content.slick-slide {
    margin: 0 10px;
	height: auto;
	flex:1;
}

.row-content-slider .row__icon {
    font-size: 36px;
    color: var(--white);
    padding: 20px;
    background: var(--blue);
    border-radius: 8px 8px 0 0;
}

.row-content-slider .row__content {
	padding: 0 20px 20px;
}

.row-content.slick-slide {
    margin: 20px 10px;
    /* padding: 20px 0; */
    box-shadow: 0 4px 16px rgba(166,173,201,0.2);
	background-color: var(--green);
	color: var(--white, #FFF);
	border-radius: 8px;
}

@media screen and (min-width: 576px) {
	/* .content__grid {
		grid-template-columns: repeat(2, 1fr);
	} */
}
@media screen and (min-width: 768px) {

}
@media screen and (min-width: 992px) {
	/* .content__grid {
		grid-template-columns: repeat(4, 1fr);
	} */
}

/*
==========================================================================
PRODUCT PAGE
==========================================================================
*/
.dtmg__header.product__page {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 260px;
}
.dtmg__header.product__page::after {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	content: "";
	background: rgba(0, 0, 0, 0.2);
	z-index: 2;
}
.dtmg__header.product__page img {
	z-index: 1;
}
.dtmg__header.product__page .inner {
	z-index: 3;
}
.dtmg__header.product__page .inner h2.section__title {
	color: var(--off-white);
}
.cruise__card .ccard {
	display: flex;
	gap:2rem;
}
.ccard__details ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap:1rem;
}
.ccard__details ul li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}
.ccard__details ul li i {
	font-size: 1.2rem;
	color: var(--blue);
}
.ccard__price {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:2rem;
}

@media screen and (min-width: 768px) {
	.ccard__img {
		width: calc((100% - 50%) - 0.5rem);
	}

	.ccard {
		flex-direction: row;
	}

	.ccard .ship-slideshow {
		height: 460px;
		width: 100%;
	}

	.ccard .ship-slideshow .slide {
		height: 460px;
	}
}

@media screen and (min-width: 992px) {
	.ccard__img {
		width: calc((100% - 40%) - 0.5rem);
	}

	.dtmg__header .inner {
		margin: 30px auto;
	}
}
/*
==========================================================================
TABS
==========================================================================
*/
#section__tab ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.dtmg__tabs {
	overflow: hidden;
	position: relative;
}

.tabs__header {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #eee;
}

.tabs__header--title {
	color: var(--blue);
	font-family: var(--secondary-font);
	font-weight: 600;
	cursor: pointer;
	flex: 1 0 auto;
	padding: 20px;
	position: relative;
	text-align: center;
	transition: opacity 0.3s;
}

.tabs__header--title::after {
	background: var(--blue);
	bottom: -1px;
	content: "";
	display: block;
	height: 4px;
	border-radius: 3px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%) scaleX(0);
	transition: transform 0.3s;
	width: 60%;
}

.tabs__header--title.active {
	color: var(--text);
}

.tabs__header--title.active::after {
	transform: translateX(-50%) scaleX(1);
}

.tabs__header--title span {
	padding: 0;
	margin: 0;
}

.tabs__content {
	background-color: var(--white);
	display: none;
	padding: 60px 20px;
}

.tabs__content.active {
	animation: fadeIn 1s;
	display: block;
	font-family: var(--secondary-font);
}

.tabs__content.active .tabs__content--title,
.tabs__content.active .tabs__content--text {
	animation: fadeInUp 0.3s forwards;
}

.tabs__content.active .tabs__content--text {
	animation-delay: 0.3s;
}

.tabs__content--title {
	font-family: "Lustria", serif;
	font-size: 2rem;
	margin-bottom: 20px;
}

.tabs__content--text {
	line-height: 1.4;
	opacity: 0;
}

@media only screen and (min-width: 651px) {
	.tabs__header--title:hover {
		opacity: 0.7;
	}

	.tabs__header--title:not(:last-of-type) {
		border-right: 1px solid #fff;
	}
}

@media only screen and (max-width: 650px) {
	.tabs__header {
		flex-wrap: wrap;
	}

	.tabs__header--title {
		border-bottom: 1px solid #fff;
		width: 100%;
		text-align: left;
	}

	.tabs__header--title::after {
		width: 100%;
	}

	.tabs__underline {
		display: none;
	}
}

@keyframes fadeIn {
	0% {
		display: none;
		opacity: 0;
	}

	1% {
		display: block;
		opacity: 0;
	}

	100% {
		display: block;
		opacity: 1;
	}
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/*=============== TABS ===============*/
.tabs__container {
	overflow: hidden;
	display: none;
	transition: .3s;
}

.accordion__open .tabs__container {
	margin-top: 2rem;
}

.accordion__group {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 2rem 0;
}

.accordion {
	width: 100%;
	overflow: hidden;
	background: white;
	border-radius: 10px;
	/* padding: 2rem 0; */
	/* box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.3); */
}

.accordion-content {
	/* border: 1px solid #c1d7e2;
    border-radius: 8px; */
	overflow: hidden;
}

.accordion.tabs__block {
	margin: 30px 0;
	border: 1px solid #f0f1f2;
	padding: 20px 0;
}

.accordion-tabs {
	display: flex;
	flex-direction: column;
	align-items: start;
	padding: 0 1rem 1rem;
}

.accordion-tab {
	padding: 8px 14px;
	font-size: 14px;
	font-weight: bold;
	border: 1px solid #f0f1f2;
	width: 100%;
	text-align: left;
}

.accordion-tabs :focus {
	outline: none;
}

.accordion-item {
	border-bottom: 0;
	margin: 0;
}

.accordion-item:last-child {
	border: none;
}

.accordion-item__label {
	position: relative;
	margin: 0;
	padding: 20px;
	cursor: pointer;
	transition: padding 0.2s ease;
}

.accordion-item__label::after {
	content: "";
	position: absolute;
	top: -4px;
	right: 20px;
	bottom: 0;
	width: 6px;
	height: 6px;
	margin: auto;
	transform: rotate(45deg);
	opacity: 1;
	transition: opacity 0.1s ease;
	border-radius: 2px;
	border: 5px solid transparent;
	border-color: transparent var(--blue) var(--blue) transparent;
}

.accordion-item__label:hover {
	background: #c1d7e2;
}

.accordion-item__container {
	padding: 0 20px;
	overflow: hidden;
	transition: padding 0.2s ease, opacity 0.5s 0.15s ease;
}

.accordion-item__container .map__wrapper {
	height: 360px;
	z-index: 0;
}

.accordion-item__container .map__wrapper .map-marker {
	font-size: 28px;
}

.search-itinerary .header__item--info span {
	padding: 1rem 0;
}

.accordion-active {
	background: var(--blue);
	color: white;
}

.accordion-active .accordion-item__label {
	padding-bottom: 0;
	color: var(--blue);
	cursor: inherit;
}

.accordion-active .accordion-item__label:hover {
	background: none;
}

.accordion-active .accordion-item__label::after {
	opacity: 0;
}

.accordion-active .accordion-item__container {
	height: auto;
	padding: 20px;
	opacity: 1;
}

@media (min-width: 600px) {
	.accordion-content {
		border: none;
	}

	.accordion.tabs__block {
		margin: 0;
		border: 0;
		padding: 0;
	}

	.accordion-tabs {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 2px;
		padding: 0;
	}

	.accordion-item {
		border-bottom: 0;
		margin: 0;
	}

	.accordion-active {
		background: #fafdff;
		color: var(--blue);
	}

	.accordion-item:last-child {
		border: none;
	}

	.accordion-tabs .accordion-tab {
		flex: 1;
		padding: 10px;
		font: inherit;
		border-top: 1px solid var(--blue);
		border-left: 1px solid var(--blue);
		border-right: 1px solid var(--blue);
		border-bottom: 0;
		cursor: pointer;
		color: white;
		background: var(--blue);
		border-radius: 8px 8px 0 0;
		transition: background 0.1s ease;
	}

	.accordion-tabs .accordion-tab:hover {
		background-color: var(--secondary-color-alt);
		border-top: 1px solid var(--secondary-color-alt);
		border-left: 1px solid var(--secondary-color-alt);
		border-right: 1px solid var(--secondary-color-alt);
	}

	.accordion-tabs .accordion-tab:last-child {
		border-right: 0;
	}

	.accordion-tabs .accordion-tab.accordion-active {
		color: var(--secondary-color);
		border-left: 1px solid var(--secondary-color);
		border-right: 1px solid var(--secondary-color);
		border-top: 1px solid var(--secondary-color);
		background: white;
	}

	.accordion-item {
		/* display: none; */
		/* min-height: 260px; */
		/* padding: 20px 0; */
		border: none;
		background: white;
	}

	.accordion-item__label,
	.accordion-item__container {
		padding: 0;
		transition: inherit;
	}

	.search-itinerary .header__item--info span {
		padding: 0;
	}

	.accordion-item__label {
		display: none;
	}

	.accordion-item.accordion-active {
		display: block;
	}

	.accordion-item.accordion-active .accordion-item__container {
		padding: 0;
	}
}

/*
==========================================================================
ITINERARY TABLE
==========================================================================
*/
.itinerary__container {
	font-family: var(--secondary-font);
}

.itinerary__container h2.section__title {
	font-weight: 600;
	font-family: var(--body-font);
}

.itinerary__container .content__wrapper {
	border: 1px solid #efefef;
	border-radius: 6px;
	max-height: 500px;
    overflow-y: auto;
}

.img__cover {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}

.flex__header {
	display: none;
}

.row__wrapper {
	padding: 0 20px;
}

.flex__row {
	display: flex;
	gap: 1rem;
	padding: 20px 0;
}

.flex__table .flex__row,
.flex__table .flex__header {
	min-height: 100px;
	align-items: center;
}

.flex__header {
	background-color: var(--blue);
	color: var(--white);
	border-radius: 6px 6px 0 0;
	border: 1px solid var(--blue);
}

.flex__row {
	border-bottom: 1px solid #efefef;
	/* flex-direction: column; */
	flex-direction: row;
	flex-wrap: wrap;
}

.row__wrapper:last-child .flex__row {
	border-bottom: none;
}

.flex__row--cta {
	flex-direction: row;
	border-bottom: 0;
	padding: 20px 0;
}

.flex__row--expanded {
	flex-direction: column;
}

.header__item {
	display: flex;
	gap: 2rem;
}

.header__item--info,
.header__item--date,
.header__item--port {
	width: 100%;
}

.header__item--depart,
.header__item--arrive {
	width: 48%;
}


.header__item--info {
	/* order: 1; */
	/* text-align: center; */
	display: none;
	/* justify-content: center; */
}

.header__item--info span {
	/* padding: 12px 18px; */
	color: var(--text);
	/* display: block; */
	width: 100%;
	text-align: center;
}

.header__item--info i {
	color: var(--blue);
}

.header__item.toggle-summary {
	margin: 0;
	padding: 0;
}

.header__item--port-desc {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.row__img {
	position: relative;
	width: 100%;
	height: 300px;
	overflow: hidden;
	border-radius: 6px;
	display: block;
}

.info__desc {
	line-height: 1.5;
}

.header__item--day {
	display: none;
}

.header__item--date {
	position: relative;
}

.mob-label-info {
	position: absolute;
	right: 0;
	bottom: 3px;
	color: var(--blue);
}

/*=============== MEDIA QUERIES ===============*/

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

	.dtmg__table {
		margin: 0;
		border-radius: 0;
		border-left: none;
		border-right: none;
		border-top: none;
		box-shadow: none;
	}

	.itinerary__container .content__wrapper {
		border-top: 0;
		border-radius: 0 0 6px 6px;
	}

	.mob-label {
		display: none;
	}

	.flex__header {
		display: flex;
		gap: 1rem;
		padding: 20px;
	}

	.flex__row {
		flex-direction: row;
		align-items: center;
		flex-wrap: nowrap;
	}

	.flex__row--expanded {
		flex-direction: row;
	}

	.header__item--arrive,
	.header__item--info,
	.header__item--depart {
		width: calc(10% - 8px);
	}

	.header__item--day {
		display: block;
		width: calc(5% - 8px);
	}

	.header__item--date {
		width: calc(15% - 8px);
	}

	.header__item--port {
		width: calc(50% - 8px);
	}

	.header__item--port-desc {
		width: calc(80% + 16px);
		flex-direction: row;
		gap: 8px;
	}

	.header__item--info {
		order: initial;
		display: flex;
		justify-content: center;
		text-align: center;
	}

	.row__img {
		position: relative;
		width: 100%;
		max-width: 200px;
		height: 120px;
		overflow: hidden;
		border-radius: 6px;
		display: block;
	}
}

/*
==========================================================================
ENQUIRE
==========================================================================
*/

.enquire__form__wrapper {
	width: 100%;
	max-width: 680px;
	border: 1px solid #cfcfcf;
	border-radius: 20px;
	margin: 3.5rem auto;
	padding: 2rem;
}

.cruise-preview ul {
	list-style: none;
}

.cruise-preview ul li {
	margin: 8px 0;
	padding: 0;
}

.cruise-preview ul li:first-of-type {
	margin: 0;
}

.form__card {
	display: flex;
	flex-direction: column;
}

.form__header hgroup,
.form__cruise__info {
	display: flex;
	gap: 1rem;
}

.form__cruise__info {
	flex-direction: column;
}
.form__cruise__info ul {
	padding:0;
	margin:0;
	list-style:none;
}

.form__header hgroup {
	justify-content: space-between;
	align-items: center;
}

.form__header span.close {
	display: flex;
	width: 44px;
	height: 44px;
	background-color: var(--green);
	color: white;
	align-items: center;
	border-radius: 4px;
	justify-content: center;
	flex: 0 0 auto;
}

.form__card_title {
	font-size: 32px;
	font-weight: 500;
	color: var(--green);
}

.form__card_subtitle {
	color: var(--text);
	font-weight: 500;
	font-size: 20px;
}

.form__cruise__info .image__wrapper::before {
	display: none;
}

.form__cruise__info .image__wrapper {
	width: 100%;
	max-width: 360px;
	height: 200px;
	min-height: initial;
}

.form__info_details {
	font-family: var(--secondary-font);
}

.form__info_details .details__item {
	display: flex;
	gap: .5rem;
	align-items: flex-start;
}

.cruise-preview,
.cruise-form {
	width: 100%;
}

.frm_style_formidable-style.with_frm_style .frm_submit button.dtmg__btn.arrow--right {
	border-radius: 30px;
	padding: 12px 20px;
	border: 1px solid var(--green);
	text-align: center;
	background: var(--green);
	color: var(--white);
	min-width: 80px;
	transition: all .3s ease-out;
	font-size: 16px;
	font-weight: 500;
	cursor:pointer;
	height: 56px;
	display: flex;
	align-items: center;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.form__cruise__info {
		flex-direction: row;
	}
	.form__cruise__info .image__wrapper {
		width: 190px;
		height: 142px;
	}
}

/*
==========================================================================
MAP
==========================================================================
*/
#map__section {
	background-color: var(--white);
}

.map__section hgroup {
    margin-bottom:20px;
}
.leaflet-marker-pane {
    counter-reset: days;
}
#cruise-map .map-marker {
    counter-increment: days;
    position: relative;
}
#cruise-map .map-marker i {
    color: var(--green);
}
#cruise-map .map-marker::before {
    content: counter(days);
    position: absolute;
    top: -5px;
    font-size: 14px;
    text-align: center;
    right: -10px;
    background-color: #fff;
    padding: 5px 5px;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    line-height: 1;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
}
.map__copy {
	padding: 62px;
}
.map__copy h5{
	font-size: 18px;
	margin-bottom: 18px;
}
/*
==========================================================================
BOOKING FORM PAGE
==========================================================================
*/



/*
==========================================================================
CONFIRMATION
==========================================================================
*/



/*
==========================================================================
DINING OPTIONS
==========================================================================
*/



/*
==========================================================================
GUIDES
==========================================================================
*/


/*
==========================================================================
SEARCH
==========================================================================
*/


/*
==========================================================================
LIST RESULTS
==========================================================================
*/


/*
==========================================================================
ACCORDION
==========================================================================
*/


/*
==========================================================================
CRUISELINES
==========================================================================
*/

.cruise-grid {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 30px;
	grid-row-gap: 30px;
	justify-items: stretch;
	align-items: inital;
	margin: 25px 0 0 0;
}

.cruise-item {
	position: relative;
	width: 100%;
	display: block;
	transition: all 0.3s ease-in;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
	cursor: pointer;
	transition: all 0.3s ease-in;
}

.cruise-item:hover {
	transition: all 0.3s ease-in-out;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
}

/*
==========================================================================
SEARCH GRID
==========================================================================
*/


/*
==========================================================================
PACKAGE
==========================================================================
*/


/*
==========================================================================
CRUISESHIP
==========================================================================
*/


/*
==========================================================================
CATEGORIES
==========================================================================
*/


/*
==========================================================================
LOGO SLIDER / CAT SLIDER
==========================================================================
*/

.logo__container hgroup {
	text-align: center;
}

.cat__container ul {
	margin: 0;
}

/*
==========================================================================
NEWSLETTER
==========================================================================
*/

/* .newsletter__section {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	border-radius: 8px;
	position: relative;
	overflow: hidden;
}

.newsletter__wrapper {
	position: relative;
	border-radius: 8px;
	padding: 2rem 1.5rem;
	overflow: hidden;
	margin: 0 20px;
}

.newsletter__wrapper::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	display: block;
	background-image: linear-gradient(to left, transparent, rgba(135, 75, 75, 0.2) 35%, rgba(75, 80, 135, 0.3) 40%, rgba(42, 116, 207, 0.7) 65%);
	background-position: initial initial;
	background-repeat: initial initial;
}

.newsletter__form .frm_forms {
	margin-top: 1.5rem;
}

.newsletter__form .frm_fields_container {
	border-radius: 12px;
	border: 1px solid rgb(251, 250, 250);
	border: 4px solid rgba(251, 250, 250, .5);
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
}

.newsletter__inner {
	position: relative;
	z-index: 10;
}

.newsletter__form .frm_form_field {
	width: 100%;
}

.newsletter__form input[type=email] {
	width: 100%;
	border-radius: 8px 8px 0 0;
}
 */

 #footer__newsletter .with_frm_style input[type=text],
 #footer__newsletter .with_frm_style input[type=email],
 #footer__newsletter .frm_style_formidable-style.with_frm_style .frm_submit button {
	min-height: 56px;
	outline: 0;
	border: 0;

 }
 #footer__newsletter .frm_style_formidable-style.with_frm_style .form-field input:not([type=file]):not([type=range]):not([readonly]):focus {
	box-shadow: none;
	border: none;
 }
 #footer__newsletter .with_frm_style .frm_inside_container {
	padding-top: 0;
 }
 
 #footer__newsletter .frm_style_formidable-style.with_frm_style .form-field {
	margin-bottom: 0;
 }
 #footer__newsletter .with_frm_style .frm_required {
	color: var(--text);
	font-weight: 600;
	font-size: 16px;
 }
 
 #footer__newsletter .frm_style_formidable-style.with_frm_style .frm_submit button {
	margin: 0;
	width: 100%;
	background-color: var(--green);
	transition: all .3s ease-in-out;
	border:1px solid var(--green);
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 1.2px;
 }
 #footer__newsletter .frm_style_formidable-style.with_frm_style .frm_submit button:hover {
	background-color: var(--green-lighter);
	color: var(--green)
 }
 #footer__newsletter .with_frm_style .frm_inside_container > label {
	top: 50%;
	transform: translateY(-50%);
	color: var(--text);
	/* font-size: 16px; */
	font-weight: 500;
 }
 #footer__newsletter .with_frm_style .frm_inside_container.frm_label_float_top > label {
	top: -10px;
	transform: none;
	width: auto;
    background: white;
    padding: 3px 6px;
    border-radius: 4px;
 }

@media screen and (min-width: 992px) {
	/* .newsletter__wrapper {
		margin: 0;
	}

	.newsletter__inner {
		max-width: 40%;
		margin: 0 2.5rem;
	}

	.newsletter__form input[type=email] {
		border-radius: 8px 0 0 8px;
	} */
}

/*
==========================================================================
DESTINATIONS
==========================================================================
*/

.inner__dest {
	margin-top: 40px;
}

.inner__dest hgroup,
.main-destinations-page .white-section {
	margin: 0;
}



/*
==========================================================================
FOOTER
==========================================================================
*/

footer {
	color: var(--white);
	background: linear-gradient(to top, var(--green) 60%, #FAFBFC 0%);
	padding-top: 30px;
	padding-bottom: 30px;
}

.dtmg__footer {
	/* background-color: var(--green); */
	color: var(--white);
	position: relative;
}
.dtmg__footer::after {
	content: '';
	position: absolute;
	top: 20%;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: var(--green);
	z-index: -1;
}

.footer__newsletter {
	background-color: var(--accent-lighter);
	border-radius: var(--border-radius);
	padding: 32px;
}

.footer__container {
	display: grid;
	padding-top: 30px;
	padding-bottom: 30px;
}

.footer__logo img {
	max-width: 120px;
}

.footer__data {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding-top: 1.5rem;
	gap: 1rem;
}

.footer__links {
	display: grid;
}

.footer__links ul {
	display: grid;
	list-style: none;
	padding: 0;
	gap:1rem;
}

.footer__links h3 {
	font-size: 16px;
	margin-bottom: 10px;
	font-family: var(--body-font);
	font-weight: 600;
}

.footer__links li,
.footer__links a {
	color: var(--white);
	font-size: 14px;
	font-family: var(--body-font);
}

.footer__links a:hover {
	color: #efefef;
	text-decoration: underline;
	transition: all .3s ease-out;
}

.footer__left {
	text-align: center;
}

@media screen and (max-width: 480px) {
	/* .footer__data {
		grid-template-columns: 1fr;
	  } */
}

@media screen and (min-width: 768px) {
	.footer__container {
		grid-template-columns: 220px 1fr;
		gap: 60px;
	}
	.footer__left {
		text-align: left;
	}
	.footer__data {
		grid-template-columns: repeat(5, 1fr);
		gap: 2rem;
		text-align: left;
	}
}

/*
==========================================================================
SLICK SLIDER
==========================================================================
*/

.slick-dotted.slick-slider {
	margin-bottom: 0px;
}

.slick-dots {
	position: absolute;
	bottom: -25px;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
	z-index: 999;
}

.slick-dots li {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0;
	cursor: pointer;
}

.slick-dots li button {

	line-height: 0;
	display: block;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}

ul.slick-dots {
	bottom: 20px;
	padding: 0 10px;
	z-index: 999;
}

.logo-slider ul.slick-dots {
	bottom: 0;
	margin: 0 auto;
	position: relative;
}

.slick-dots li {
	padding: 0 5px;
}

.slick-dots li button::before {
	content: "\f111";
	font-family: 'Font Awesome 5 Free';
	color: #efefef;
	font-size: 10px;
	opacity: 0.7;
	font-weight: 900;
}

.slick-dots li.slick-active button::before {
	content: '\f111';
	font-family: 'Font Awesome 5 Free';
	line-height: 1;
	color: #fff;
	opacity: 1;
	font-weight: 900;
}

.logo-slider .slick-dots li.slick-active button::before {
	color: #133c5c;
	opacity: .7;
}


/* Arrows */
.slick-prev,
.slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 55%;
	display: block;
	padding: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;

	border: none;
	outline: none;
	background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	color: transparent;
	outline: none;
	background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
	opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: .25;
}



.slick-prev {
	left: 20px;

	z-index: 3;
	transition: all 0.3s ease-in;
}



.slick-next {
	right: 20px;
	transition: all 0.3s ease-in;
	z-index: 9;
}


.slick-prev:hover,
.slick-next:hover {
	opacity: 0.5;
	transition: all 0.3s ease-in-out;
}



.slick-prev {
	left: 10px;
	z-index: 3;
	transition: all 0.3s ease-in;
}



.slick-prev {
	left: auto;
	z-index: 3;
	transition: all 0.3s ease-in;
	left: 15px;
}

.hotel-slider .slick-prev:before,
.slick-prev:before {
	content: "";
	background: url('../images/leftw.png');
	width: 34px;
	height: 60px;
	display: block;
}

.slick-next {
	right: 15px;
	transition: all 0.3s ease-in;
	z-index: 9;
}

.hotel-slider .slick-next:before,
.slick-next:before {
	content: "";
	background: url('../images/rightw.png');
	width: 34px;
	height: 60px;
	display: block;
}

.ls-alt .slick-prev:before,
.logo-slider .slick-prev:before,
.review-slider .slick-prev:before,
.video-slider .slick-prev:before,
.hot-slider .slick-prev:before,
.ship-slideshow .slick-prev:before {
	content: "";
	background: url('../images/leftg.png');
	width: 34px;
	height: 60px;
	display: block;
}

.ls-alt .slick-next:before,
.logo-slider .slick-next:before,
.review-slider .slick-next:before,
.video-slider .slick-next:before,
.hot-slider .slick-next:before,
.ship-slideshow .slick-next:before {
	content: "";
	background: url('../images/rightg.png');
	width: 34px;
	height: 60px;
	display: block;
}


.slick-prev:hover,
.slick-next:hover {
	opacity: 0.5;
	transition: all 0.3s ease-in-out;
}

.slick-prev,
.slick-next {
	top: 50%;
}

.ls-alt .slick-next:before,
.slider-hotel .slick-next:before,
.line-slider .slick-next:before,
.logo-slider .slick-next:before,
.cabin__type_slider .slick-next:before,
.review-slider .slick-next:before,
.video-slider .slick-next:before,
.hot-slider .slick-next:before,
.ship-slideshow .slick-next:before,
.ls-alt .slick-prev:before,
.slider-hotel .slick-prev:before,
.line-slider .slick-prev:before,
.logo-slider .slick-prev:before,
.cabin__type_slider .slick-prev:before,
.review-slider .slick-prev:before,
.video-slider .slick-prev:before,
.hot-slider .slick-prev:before,
.ship-slideshow .slick-prev:before {
	content: '\f078';
	font-family: "FontAwesome";
	width: 32px;
	height: 32px;
	background: var(--blue);
	border-radius: 50%;
	color: var(--white);
	font-weight: 800;
	display: flex;
	font-size: 10px;
	align-items: center;
	justify-content: center;
	rotate: -90deg;
}

.ls-alt .slick-prev:before,
.slider-hotel .slick-prev:before,
.line-slider .slick-prev:before,
.logo-slider .slick-prev:before,
.cabin__type_slider .slick-prev:before,
.review-slider .slick-prev:before,
.video-slider .slick-prev:before,
.hot-slider .slick-prev:before,
.ship-slideshow .slick-prev:before {
	rotate: 90deg;
}

.inspo__cards .slick-dots {
	position: initial;
}

.inspo__cards .slick-dots li.slick-active button::before{
	color: var(--grey-alt);
}
/*
==========================================================================
MEDIA QUERIES
==========================================================================
*/

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

	.panel-form {
		float: none;
		margin: 0;
		padding: 0 0 5px 15px;
	}

	.panel-container {
		margin: 10px auto 0 auto;
	}

	.hero-inner-content {
		width: 100%;
	}

	.pagination-right {
		float: left;
		width: 100%;
		margin: 10px 0 0 0;
	}

	.hide {
		display: none;
	}

}


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


	.search-grid {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

}



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

	.lightblue-section {
		padding: 25px 0;
		margin: 0 auto;
	}

	.single-section,
	.blue-section,
	.white-full-section,
	.white-section {
		width: 100%;
		padding: 25px 0;
		margin: 0px auto;
	}

	.review-slider .slick-list,
	.hot-slider .slick-list {
		margin: 0 auto;
		width: 100%;
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
	}

	.two-grid {
		width: 100%;
		display: block;
	}

	.two-last,
	.two-item {
		display: block;
		padding: 0;
	}

	.two-img {
		display: none;
	}

	.mob-two-img {
		display: block;
		margin: 30px 0;
		width: 100%;
		height: auto;
	}

	.mob-two-img img {
		width: 100%;
		height: auto;
	}


	/* .sticky {
	display: none;
} */


	.blue-grid {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	nav ul {
		display: none;
	}

	.header-icon img {
		display: none;
	}

	.header-info {
		padding: 12px 0;
		float: right;
		margin: 0 80px 0 0;
	}

	.logo {
		padding: 15px 10px 10px 10px;
		width: 320px;
	}

	.nav-button {
		display: block;
		font-weight: 700;
		font-size: 14px;
		top: 20px;
		line-height: 20px;
	}

	.blue-form {
		margin: 40px auto;
		width: 100%;
	}

	.newsletter-section .inner {
		width: 100%;
	}

	.header-padder {
		height: 0;
	}

	.result-grid,
	.li-col-grid,
	.list-item {
		grid-template-columns: 1fr;
		grid-column-gap: 0;
	}

	.mobile-hide {
		display: none;
	}

	.hotel-slider {
		display: block;
	}


	.toggler {
		padding: 5px 10px;
		background: none;
		display: inline-block;
		margin: 10px 10px 0 0;
		color: var(--white);
		cursor: pointer;
	}

	.actived,
	.toggler:hover {
		padding: 5px 10px;
		border-top-right-radius: 5px;
		border-top-left-radius: 5px;
		background: var(--white);
		color: var(--blue);
		display: inline-block;
		margin: 10px 10px 0 0;
	}


	.mobsorter {
		text-align: center;
		display: block;
		position: relative;
		background: var(--blue);
		padding: 10px 0 0 0;
	}

}


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



	.square-image-grid {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.slick-dots {
		margin: 0;
	}

	.sidebar-block {
		padding: 25px;
	}

	.sidebar-links {
		grid-template-columns: 1fr 1fr;
	}


	.main-column {
		float: none;
		width: 100%;
	}

	.mob-accordian {
		display: block;
		margin: 0 0 30px 0;
	}

	.mob-accordian .accordian::after,
	.mob-accordian .less::after {
		display: none !important;
	}

}


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

	.nice-select {
		border: 1px solid var(--lightgrey) !important;
		margin: -1px 0 0 0;
	}

	.slick-prev,
	.slick-next {
		display: none !important;
	}


	.photo-grid,
	.pg-alt {
		display: block;
		margin: 0;
	}

	.photo-item {
		margin: 0 0 30px 0;
	}



	.panel-form {
		float: none;
		margin: 0;
		padding: 0;
	}

	.big-search {
		width: 100%;
		display: block;
		position: relative;
		margin: -1px 0 0 0;
		border-top-right-radius: 0;
		border-bottom-right-radius: 5px;
		border-bottom-left-radius: 5px;
	}

	.when,
	.destination {
		width: 48%;
		display: inline-block;
		margin: 0 0 0 1%;
	}

	.nice-select {
		border-left: 0;
		border-bottom: 1px solid #e4e4e4;
	}

	.nice-select:nth-of-type(even) {
		border-left: 1px solid #e4e4e4;
		border-bottom: 1px solid #e4e4e4;
	}

	.taglist {
		padding: 5px;
	}

	.taglist span {
		margin: 0 5px 5px 0;
		padding: 10px;
		display: inline-block;
	}

	.header-padder {
		height: 0;
	}

	.slider-inner-content {
		width: 75%;
	}

	.slider-inner {
		width: 100%;
		max-width: 1170px;
		margin: 130px auto 0 auto;
	}

	.remove {
		position: relative;
		height: auto;
		width: 100%;
	}

	.logo-grid-item {
		flex: 1 0 33%;
	}

	.cruise-grid {
		grid-template-columns: 1fr 1fr;
	}

	.search-options {
		display: none;
	}

	.pack-grid {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
	}

	.img-spacer {
		margin: 0px 0 0 0px !important;
	}

	.package-img {
		margin: 0;
	}

	.package-img img {
		display: none;
	}

	#progress {
		display: none;
	}

	.packtwo-col {
		position: relative;
	}

	.packtwo-col img {
		width: 100%;
		height: auto;
	}

	.package-two {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		grid-column-gap: 0;
		grid-row-gap: 20px;
	}

	.form-grid-two {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
	}

	.sb-alt {
		grid-template-columns: 1fr;
	}

	.scol {
		padding: 5px;
	}

	.cabin-info {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		grid-column-gap: 50px;
		grid-row-gap: 20px;
		justify-items: stretch;
		align-items: inital;
		margin: 20px 0;
	}

	.lthead {
		display: none !important;
	}

	.align-right {
		text-align: left;
	}

	.larger-table {
		background-color: var(--lightblue);
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		grid-column-gap: 0px;
		grid-row-gap: 0px;
		padding: 10px 0;
	}

	.lt-col {
		text-align: center;
		padding: 0;
	}

	.lts {
		display: block;
	}

	.mob-title {
		display: inline-block;
		font-weight: 700;
	}

	.pg-button {
		display: inline-block;
	}

	.mobile-price {
		display: inline-block;
	}

	.bb-grid,
	.sim-grid {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
	}

}



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

	.header-padder {
		height: 0;
	}

	.hero {
		height: auto;
	}

	.pagination-right {
		display: none;
	}

	.brand {
		float: none;
		margin: -10px 0 20px -10px;
	}


	.bf-grid {
		width: 100%;
		grid-template-columns: 1fr;
		grid-row-gap: 20px;
		text-align: center;
	}

	.logo {
		width: 100%;
		margin: 0 0 10px 0;
	}

	.header-info {
		width: 100%;
		display: block;
		float: none;
		padding: 0 0 5px 10px;
		margin: 0;
	}

	.nav-button {
		top: 75px;
	}

	.header-banner {
		position: fixed;
		height: 50px;
		top: 0;
		padding: 5px 0;
		font-size: 13px;
		line-height: 20px;
	}

	.header-banner i {
		margin: 5px -5px 0 0;
	}

	.slick-next {
		right: 5px;
	}

	.slick-prev {
		left: 5px;
	}

	.logo-slider,
	.logo-slider .slick-list {
		display: block;
	}

	.logo-slider img {
		display: block;
		margin: 0 auto;
	}

	.logo-grid {
		display: none;
	}

	.page-form-grid {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
	}

	.search-grid {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
	}


}

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

	.cruise-grid {
		grid-template-columns: 1fr;
	}


}

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

	.container {
		min-width: 240px;
		width: 100%;
	}



}