#wpadminbar {
    opacity: 0;
    transition: opacity .2s;
    transition-delay: 1s
}

#wpadminbar:hover {
    opacity: 1;
    transition-delay: 0s
}

html {
    margin-top: 0 !important
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
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;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0
}

body {
    line-height: 1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

nav ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0;
    text-decoration: none
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: 700
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

input,
select {
    vertical-align: middle
}

/*li {
    list-style: none
}*/

small {
    font-size: 80%
}

textarea,
input.text,
input[type=text],
input[type=button],
input[type=submit],
.input-checkbox {
    -webkit-appearance: none;
    border-radius: 0
}

input:focus,
textarea:focus {
    outline: none
}

.hidden {
    display: none !important;
    visibility: hidden
}

.visuallyhidden {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 0;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 0
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-light {
    color: #1798a7
}

.alignleft {
    float: left;
    margin: 0 20px 20px 0
}

.alignright {
    float: right;
    margin: 0 0 20px 20px
}

.flex {
    display: flex
}

.flex-inline {
    display: inline-flex
}

.flex-wrap {
    flex-wrap: wrap
}

.flex-align-start {
    align-items: flex-start
}

.flex-align-end {
    align-items: flex-end
}

.flex-align-center {
    align-items: center
}

.flex-justify-start {
    justify-content: flex-start
}

.flex-justify-end {
    justify-content: flex-end
}

.flex-justify-between {
    justify-content: space-between
}

.flex-justify-around {
    justify-content: space-around
}

.flex-justify-center {
    justify-content: center
}

.flex-direction-column {
    flex-direction: column
}

.flex-direction-column-reverse {
    flex-direction: column-reverse
}

.flex-direction-row {
    flex-direction: row
}

.flex-direction-row-reverse {
    flex-direction: row-reverse
}

.flex-true {
    flex: 1
}

.flex-row {
    width: 48%
}

.cf {
    clear: both
}

.green1 {
    background: #0a8b4a
}

.green2 {
    background: #0c956e
}

.green3 {
    background: #1798a7
}

.blue1 {
    background: #043154
}

.blue2 {
    background: #064d81
}

.red1 {
    background: #f6716b
}

.orange1 {
    background: orange
}

.h-100 {
    height: 100%
}

.blue-container {
    background: #cfedf0;
    padding: 30px 0
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-text-size-adjust: none
}

input,
textarea,
select {
    -webkit-border-radius: 0;
    border-radius: 0
}

img,
audio,
video,
canvas {
    max-width: 100%
}

html,
body {
    min-height: 100%
}

body {
    font-family: montserrat;
    font-size: 14px;
    line-height: 1.8
}

body.searching {
    background: center center/cover no-repeat
}

.inner {
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 15px
}

.mob-title {
    display: none
}

:root {
    --litepicker-is-start-color-bg: #1798a7 !important;
    --litepicker-is-end-color-bg: #1798a7 !important;
    --litepicker-day-color-hover: #1798a7 !important
}

.m-0 {
    margin: 0 !important
}

.m-1 {
    margin: 5px !important
}

.m-2 {
    margin: 10px !important
}

.m-3 {
    margin: 15px !important
}

.m-4 {
    margin: 20px !important
}

.mt-0 {
    margin-top: 0 !important
}

.mt-1 {
    margin-top: 5px !important
}

.mt-2 {
    margin-top: 10px !important
}

.mt-3 {
    margin-top: 15px !important
}

.mt-4 {
    margin-top: 20px !important
}

.mr-0 {
    margin-right: 0 !important
}

.mr-1 {
    margin-right: 5px !important
}

.mr-2 {
    margin-right: 10px !important
}

.mr-3 {
    margin-right: 15px !important
}

.mr-4 {
    margin-right: 20px !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mb-1 {
    margin-bottom: 5px !important
}

.mb-2 {
    margin-bottom: 10px !important
}

.mb-3 {
    margin-bottom: 15px !important
}

.mb-4 {
    margin-bottom: 20px !important
}

.mb-5 {
    margin-bottom: 30px !important
}

.ml-0 {
    margin-left: 0 !important
}

.ml-1 {
    margin-left: 5px !important
}

.ml-2 {
    margin-left: 10px !important
}

.ml-3 {
    margin-left: 15px !important
}

.ml-4 {
    margin-left: 20px !important
}

.p-0 {
    padding: 0 !important
}

.p-1 {
    padding: 5px !important
}

.p-2 {
    padding: 10px !important
}

.p-3 {
    padding: 15px !important
}

.p-4 {
    padding: 20px !important
}

.pt-0 {
    padding-top: 0 !important
}

.pt-1 {
    padding-top: 5px !important
}

.pt-2 {
    padding-top: 10px !important
}

.pt-3 {
    padding-top: 15px !important
}

.pt-4 {
    padding-top: 20px !important
}

.pr-0 {
    padding-right: 0 !important
}

.pr-1 {
    padding-right: 5px !important
}

.pr-2 {
    padding-right: 10px !important
}

.pr-3 {
    padding-right: 15px !important
}

.pr-4 {
    padding-right: 20px !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pb-1 {
    padding-bottom: 5px !important
}

.pb-2 {
    padding-bottom: 10px !important
}

.pb-3 {
    padding-bottom: 15px !important
}

.pb-4 {
    padding-bottom: 20px !important
}

.pl-0 {
    padding-left: 0 !important
}

.pl-1 {
    padding-left: 5px !important
}

.pl-2 {
    padding-left: 10px !important
}

.pl-3 {
    padding-left: 15px !important
}

.pl-4 {
    padding-left: 20px !important
}

#top-bar {
    background: #f8f8f8;
    padding: 10px 40px;
    font-size: 14px
}

#top-bar i {
    margin-right: 3px;
    color: #ffa200
}

#top-bar .open-status {
    font-size: 15px
}

#top-bar .open-status a {
    font-size: 17px;
    font-weight: 700;
    color: #ffa200;
    margin: 0 5px 0 3px
}

#top-bar .open-status a i {
    display: none
}

#logo-bar {
    padding: 15px 40px
}

#logo-bar div:first-child img {
    max-height: 60px;
    width: auto
}

#logo-bar div:nth-child(2) img {
    max-height: 48px;
    width: auto
}

#logo-bar strong {
    color: #1798a7
}

#logo-bar>div:last-child {
    display: flex;
    align-items: center
}

#logo-bar>div:last-child p {
    width: 100%
}

.mailpoet_paragraph {
    margin-right: 10px
}

.mailpoet_paragraph .last {
    margin-right: 0
}

.header-icons {
    display: flex
}

.header-icons span {
    display: inline-block;
    margin: 0 5px
}

nav {
    background: #1798a7;
    margin: 0;
    position: relative;
    z-index: 100;
    border-bottom: 1px solid #fff
}

nav ul {}

nav li {
    position: relative
}

nav>ul>li:not(:first-child):before {
    content: "";
    color: #fff;
    opacity: .5;
    border-right: 1px solid #fff
}

nav a {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    display: inline-block;
    padding: 10px 25px;
    transition: all .3s ease-in-out
}

nav li.current_page_item>a,
nav a:hover {
    color: #ffa200
}

nav li.menu-item-has-children>a:after {
    content: "\f0d7";
    font-family: "font awesome 5 free";
    font-weight: 900;
    position: relative;
    left: 5px
}

nav li:hover>.sub-menu {
    display: block
}

nav .sub-menu {
    display: none;
    position: absolute;
    background: #1798a7;
    width: 220px
}

nav .sub-menu a {
    display: block;
    border-bottom: 1px solid #fff;
    padding: 10px
}

nav .sub-menu a:hover,
nav .sub-menu li:hover>a {
    background: #ffa200;
    color: #fff
}

nav .sub-menu li.menu-item-has-children>a:after {
    content: "\f0da";
    position: absolute;
    right: 15px;
    left: unset
}

nav .sub-menu .sub-menu {
    position: absolute;
    top: 0;
    left: 220px
}

#blank-content {
    min-height: 600px;
    background: #fff
}

#footer-links {
    border-top: 5px solid #ffa200;
    padding: 70px 0;
    line-height: 28px
}

#footer-links h3 {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    margin: 0 0 10px;
    color: #1e1e1e
}

#footer-links ul {
    font-size: 15px
}

#footer-links li {}

#footer-links li a {
    display: block;
    padding: 0;
    color: #ffa200;
    transition: all .3s ease-in-out
}

#footer-links li a:hover {
    color: #ffbe4d
}

#footer-links li a i {
    color: #1e1e1e
}

#footer-links p {
    font-size: 15px;
    margin: 5px 0
}

#footer-links .fg-spacer {
    display: block;
    margin: 20px 0
}

#bottom-bar {
    background: #1798a7;
    color: #fff;
    font-size: 13px;
    padding: 20px 0
}

.footer-inner {
    width: 1170px;
    margin: 0 auto
}

.pg-big-buttons {
    margin-top: 10px
}

.cruise-feature {
    margin: 0
}

.cruise-feature img {
    width: 100%;
    height: auto
}

#cruise-meta-cruiseline {
    flex: 1
}

#cruise-meta-cruiseline img {
    max-width: 200px
}

#cruise-meta-stats {
    flex: 1
}

#cruise-meta-stats p {
    text-align: center;
    margin: 0 40px
}

#cruise-meta-stats p span {
    display: block;
    text-align: center
}

#cruise-meta-stats p span.icon {
    border-radius: 50%;
    display: flex;
    background: #1798a7;
    color: #fff;
    width: 40px;
    height: 40px;
    line-height: 14px;
    margin: 0 auto
}

#cruise-meta-stats p span.title {
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    color: #2d3b54;
    margin: 10px 0 5px
}

#cruise-meta-stats p span.content {
    font-size: 18px;
    color: #2d3b54
}

#cruise-description {
    padding: 20px 0;
    font-size: 18px;
    line-height: 24px
}

#cruise-description p {
    margin: 0 0 20px
}

.ship-cabin-row {
    display: grid;
    grid-template-columns: .5fr 2fr;
    grid-column-gap: 20px
}

.ship-cabin-row .cabin-image {
    text-align: center;
    width: 230px
}

.ship-deckplan-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-column-gap: 20px;
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 2px solid #eee
}

.ship-deckplan-row .deckplan-image {
    text-align: center
}

.ship-deckplan-row .deckplan-image img {
    display: block
}

.cruiseline-fleet {
    width: 1020px;
    margin: 0 auto
}

.fleet-item {
    width: 150px;
    height: 150px;
    background-size: cover;
    background-position: center center;
    position: relative
}

.fleet-item div {
    width: 150px;
    height: 150px;
    background-size: cover;
    background-position: center center
}

.fleet-item a {
    display: absolute;
    width: 100%;
    color: #fff !important;
    padding: 0 10px;
    height: 100%;
    font-size: 16px;
    color: #fff;
    font-weight: 700;
    text-align: center;
    background: rgba(0, 0, 0, .5);
    transition: all .3s
}

.fleet-item a:hover {
    background: rgba(0, 0, 0, .25)
}

.cruiseline-fleet .slick-prev {
    left: -50px
}

.cruiseline-fleet .slick-prev:before {
    color: #333
}

.cruiseline-fleet .slick-next {
    right: -50px
}

.cruiseline-fleet .slick-next:before {
    color: #333
}

.cruiseline-fleet .slick-slide {
    margin: 0 10px
}

.cruiseline-fleet .slick-list {
    margin: 0 -10px
}

#whitelabel-search-form {
    padding: 50px 0;
    background-size: cover;
    background-repeat: no-repeat
}

#whitelabel-search-form .inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start
}

.start-search {
    display: none !important;
    position: absolute;
    padding: 5px 20px !important;
    margin: 0 !important;
    white-space: nowrap
}

body.single-cruises #whitelabel-search-form,
body.single-specials #whitelabel-search-form {
    position: absolute;
    z-index: 10;
    width: 100%
}

body.single-cruises #overview.anchor-scroll,
body.single-specials #overview.anchor-scroll {
    padding-top: 100px
}

body.single-ships #whitelabel-search-form {
    height: 500px;
    display: flex;
    align-items: flex-end
}

#search-form {
    text-align: left;
    font-weight: 600;
    color: #fff;
    width: 100%
}

#search-form form {
    width: 100%
}

#search-form .inner {
    padding: 0
}

.cruiseappy-search-form-top {
    display: flex
}

.cruiseappy-search-form-top p {
    margin: 0 5px 0 0
}

.cruiseappy-search-form-top label {
    cursor: pointer;
    margin: 0 !important;
    padding: 5px 10px;
    background: #1798a7b5;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px
}

.cruiseappy-search-form-top label:before {
    content: "\f111";
    font-family: "font awesome 5 free";
    font-weight: 400
}

.cruiseappy-search-form-top label.active:before {
    content: "\f058";
    font-weight: 900;
    color: #ffa200
}

.cruiseappy-search-form-top label input {
    display: none
}

.search-form-btm {
    border-radius: 5px;
    border-top-left-radius: 0;
    padding: 10px;
    display: flex;
    align-items: flex-end
}

.search-form-selectize {
    width: 480px;
    margin-right: 5px
}

.search-form-meta {
    flex: 1
}

.search-form-meta {
    display: flex
}

.search-form-meta .meta {
    margin: 0 5px;
    position: relative
}

.search-form-meta .meta.meta-date {
    width: 220px
}

.search-form-meta .meta.meta-adults {
    width: 120px
}

.search-form-meta .meta.meta-children {
    width: 120px
}

.search-form-meta .meta.meta-duration {
    width: 200px
}

.search-form-meta .meta i {
    color: #000;
    position: absolute;
    right: 9px;
    bottom: 12px;
    z-index: 0;
    font-size: 10px
}

.search-form-submit {
    width: 180px;
    margin-left: 5px
}

.search-form-submit button {
    width: 180px
}

#search-form label {
    text-align: left;
    display: block;
    max-width: 100%;
    margin-bottom: 5px;
    line-height: 28px;
    font-size: 15px
}

#search-form .form-control {
    background: #fff;
    font-weight: 400;
    border: 1px solid #e9e9e9;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    border-radius: 5px;
    color: #000;
    margin: 0
}

#search-form .form-control:focus {
    border-color: #66afe9;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6)
}

#search-form #selectize_input {
    border: 1px solid #e9e9e9;
    width: 100%;
    background: #fff;
    font-weight: 400;
    border-radius: 5px;
    color: #fff;
    margin: 0;
    padding: 6px 12px;
    line-height: 1.42857143;
    font-size: 13px;
    height: 34px
}

#search-form .selectize-control {
    height: 34px
}

#search-form .selectize-input {
    border: 0;
    background: #fff;
    font-weight: 400;
    border-radius: 5px;
    color: #fff;
    margin: 0;
    box-shadow: none;
    padding: 6px;
    line-height: 1.42857143;
    font-size: 13px;
    min-height: 34px
}

#search-form .selectize-input.dropdown-active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

#search-form .selectize-input.focus {
    border-color: #66afe9;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6)
}

#search-form .selectize-input>input {
    color: #000
}

#search-form .selectize-control.plugin-remove_button [data-value] {
    padding-right: 5px !important
}

#search-form .selectize-control.plugin-remove_button [data-value] .remove,
#search-form .selectize-control.plugin-remove_button .remove {
    display: none;
    align-items: flex-start;
    justify-content: center;
    border-left: 0
}

#search-form .selectize-control.plugin-remove_button [data-value] .remove:hover,
#search-form .selectize-control.plugin-remove_button .remove:hover {
    background: #cd1b27
}

#search-form .selectize-control.multi .selectize-input .item {
    border: 0 !important;
    text-shadow: none !important;
    padding: 0 5px;
    color: #fff !important;
    border-radius: 3px !important
}

#search-form .selectize-control.multi .selectize-input .item.active {
    border: 0 !important;
    text-shadow: none !important;
    padding: 5px 10px;
    color: #fff !important;
    border-radius: 3px !important
}

#search-form .selectize-control.multi .selectize-input .item-cruiseline,
#search-form .selectize-control.multi .selectize-input .item-cruiseline.active {
    background: #004d81
}

#search-form .selectize-control.multi .selectize-input .item-ship,
#search-form .selectize-control.multi .selectize-input .item-ship.active {
    background: #7c216a
}

#search-form .selectize-control.multi .selectize-input .item-destination,
#search-form .selectize-control.multi .selectize-input .item-destination.active {
    background: #008b44
}

#search-form .selectize-control.multi .selectize-input .item-port,
#search-form .selectize-control.multi .selectize-input .item-port.active {
    background: #77262d
}

#search-form .search-form-selectize .selectize-dropdown {
    background: #fff;
    border-color: #fff;
    color: #000;
    border-top: 0 !important
}

#search-form .search-form-selectize .selectize-dropdown .option {
    padding: 7px 10px;
    cursor: pointer;
    color: #000;
    font-family: montserrat;
    font-size: 12px
}

#search-form .search-form-selectize .selectize-dropdown .option:hover {
    background: #1798a7;
    color: #fff
}

#search-form .search-form-selectize .selectize-dropdown .option .type,
#search-form .search-form-selectize .selectize-dropdown .option .name {
    font-weight: 600
}

#search-form .search-form-selectize .selectize-dropdown .option .name .highlight {
    background: rgba(255, 255, 255, .25);
    font-weight: 600
}

#search-form .search-form-selectize .selectize-dropdown .active {
    background: 0 0
}

#search-form .selectize-control.multi .selectize-dropdown .option .type {
    color: #fff;
    padding: 5px;
    border-radius: 3px
}

#search-form .selectize-control.multi .selectize-dropdown .option .type i {
    font-size: 12px
}

#search-form .selectize-control.multi .selectize-dropdown .option-cruiseline .type,
#search-form .selectize-control.multi .selectize-dropdown .option-cruiseline.active .type {
    background: #004d81
}

#search-form .selectize-control.multi .selectize-dropdown .option-ship .type,
#search-form .selectize-control.multi .selectize-dropdown .option-ship.active .type {
    background: #7c216a
}

#search-form .selectize-control.multi .selectize-dropdown .option-destination .type,
#search-form .selectize-control.multi .selectize-dropdown .option-destination.active .type {
    background: #008b44
}

#search-form .selectize-control.multi .selectize-dropdown .option-port .type,
#search-form .selectize-control.multi .selectize-dropdown .option-port.active .type {
    background: #77262d
}

#search-form .selectize-control.multi .selectize-input .item .fa-times {
    display: none
}

#search-form .selectize-control.multi .selectize-input .item:hover {
    background: #cd1b27 !important
}

#search-form .selectize-control.multi .selectize-input .item:hover .fas {
    display: none
}

#search-form .selectize-control.multi .selectize-input .item:hover .fa-times {
    display: inline-block
}

.search-form-children {
    display: none;
    justify-content: flex-end;
    align-items: center;
    padding: 20px 0 0
}

.search-form-children p {
    margin: 0;
    color: #fff
}

.search-form-children .meta-children-age {
    margin-left: 10px
}

#search-form .search-form-submit button,
.pbuttons .blue-button,
.gbuttons .blue-button,
.applyBtn,
#cruise-enquiry-popup .frm_submit button {
    margin: 30px 0 0;
    color: #fff;
    padding: 13px 20px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 3px;
    transition: all .3s ease-in-out;
    display: block;
    text-align: center;
    cursor: pointer;
    line-height: 1.42857143;
    background: #ffa200;
    border: 0;
    border-bottom: 2px solid #cc8200;
    border-right: 2px solid #d88900
}

#search-form .search-form-submit button {
    padding-top: 6px;
    padding-bottom: 6px
}

#search-form .search-form-submit button:hover,
.pbuttons .blue-button:hover,
.gbuttons .blue-button:hover,
.applyBtn:hover,
#cruise-enquiry-popup .frm_submit button:hover {
    background-color: #ffb533;
    color: #fff
}

.pbuttons .dblue-button,
.gbuttons .dblue-button,
.cancelBtn {
    margin: 10px 0 0;
    color: #fff;
    padding: 13px 25px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 3px;
    transition: all .3s ease-in-out;
    display: block;
    text-align: center;
    cursor: pointer;
    line-height: 1.42857143;
    background: #1798a7;
    border: 0;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125)
}

.cancelBtn,
.applyBtn {
    margin-top: 0;
    display: inline-block
}

.gbuttons .dblue-button,
.gbuttons .blue-button {
    margin: 0;
    width: 100%;
    border-radius: 0
}

.blue-button {
    display: inline-block;
    background: #1798a7;
    border-radius: 3px;
    padding: 10px 30px;
    color: #fff !important;
    margin: 20px 0 0;
    font-size: 14px;
    font-weight: 700;
    transition: all .3s ease-in
}

.pg-big-buttons .blue-button {
    margin-bottom: 10px
}

.blue-button:hover,
.pbuttons .dblue-button:hover {
    background: #2d3b54;
    color: #fff;
    transition: all .3s ease-in-out
}

#search-form .visuallyhidden {
    display: none
}

.red-button {
    display: inline-block;
    background: #f5726b;
    border-radius: 3px;
    padding: 10px 30px;
    color: #fff;
    margin: 20px 0 0;
    font-size: 14px;
    font-weight: 700;
    transition: all .3s ease-in
}

.red-button:hover {
    background: #2d3b54;
    color: #fff;
    transition: all .3s ease-in-out
}

.search-options {
    background: #cfedf0;
    padding: 10px
}

.search-options h6 {
    font-weight: 600
}

.result-list {
    margin: 30px auto
}

.result-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 3.5fr;
    grid-column-gap: 30px;
    grid-row-gap: 15px;
    justify-items: stretch;
    align-items: inital;
    margin: 0
}

.widget {
    margin: 0 0 30px
}

.widget h5 {
    margin: 0 0 10px;
    font-weight: 600
}

.filter-title {
    float: left
}

.filters {
    float: right
}

.pagination span {
    color: #fff;
    background: #1798a7;
    padding: 5px 10px;
    margin: 0 5px 5px 0;
    font-size: 13px;
    font-weight: 500;
    border-radius: 3px;
    cursor: pointer;
    text-align: center;
    display: inline-block;
    transition: all .3s ease-in
}

.pagination span:hover {
    opacity: .5;
    transition: all .3s ease-in-out
}

.filters span {
    color: #fff;
    padding: 5px 10px;
    margin: 0 5px 5px 0;
    font-size: 13px;
    font-weight: 500;
    border-radius: 3px;
    cursor: pointer;
    display: inline-block;
    transition: all .3s ease-in
}

.filters span:hover {
    opacity: .5;
    transition: all .3s ease-in-out
}

.pagination span i,
.filters span i {}

.pagination .actives,
.filters .actives {
    background: #aaa
}

.pagination-left {
    float: left
}

.pagination-right {
    display: flex;
    align-items: flex-end;
    flex-direction: column
}

.pagination {
    padding: 0 0 20px
}

.list-item {
    width: 100%;
    margin: 0;
    padding: 20px 0;
    color: #666;
    border-top: 1px solid #d0edef
}

.list-item:last-child {
    margin-bottom: 20px
}

.li-col-tab-control {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 15px;
    border-bottom: 1px solid #d0edef
}

.li-col-tab-control span {
    display: inline-block;
    background: #15afb2;
    color: #fff;
    border: 1px solid #15afb2;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border-bottom: 0;
    margin: 0 2px -1px 0;
    padding: 5px 10px;
    cursor: pointer
}

.li-col-tab-control span:hover,
.li-col-tab-control span.active {
    background: #fff;
    color: #15afb2
}

.sgrid-item .li-col-tab-control {
    margin-left: 5px;
    margin-right: 5px
}

.list-item-top {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    justify-items: stretch;
    align-items: inital;
    margin: 0 0 15px
}

.list-item-top .title-container {
    min-height: unset
}

.list-item .list-item-details {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 2fr 1.3fr;
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    justify-items: stretch;
    align-items: inital
}

.list-item-offers {
    display: none;
    padding: 20px 0
}

.list-item-offers .list-item-cruise {
    width: 100%;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    justify-items: stretch;
    align-items: inital;
    margin: 0 0 15px;
    border-bottom: 1px solid #d0edef;
    padding: 0 0 10px
}

.list-item-offers .list-item-cruise p {
    margin: 0
}

.sgrid-item .list-item-cruise {
    grid-template-columns: 1fr;
    grid-row-gap: 5px
}

.sgrid-item .ii-left {
    text-align: right
}

.sgrid-item .ii-right {
    text-align: left
}

.sgrid-item .bonus {
    margin-top: 5px
}

.sgrid-item .brands {
    max-width: unset;
    height: 40px
}

.sgrid-item .brands img {
    height: 100%;
    max-width: 100%;
    max-width: 100%
}

.sgrid-item .list-item-cruise {
    padding-left: 20px;
    padding-right: 20px
}

.sgrid-item h4,
.sgrid-item h4 a {
    font-size: 18px;
    color: #2f3d56
}

.sgrid-item .tickets {
    margin: 5px 0
}

.sgrid-item .list-item-offers {
    max-height: 400px;
    overflow: auto
}

.list-item .list-item-offers {
    max-height: 400px;
    overflow: auto
}

.list-item-offers .pbuttons .blue-button {
    background: #2d3b54
}

.list-item-offers .pbuttons .blue-button:hover {
    background: #15afb2
}

.list-item-offers .list-item-cruise i {
    color: #1798a7
}

.list-item-offers .list-item-cruise:last-child {
    margin-bottom: 0;
    border-bottom: 0
}

.list-item-cruise p,
.list-item-cruise .pbuttons,
.list-item-cruise .pbuttons .blue-button {
    margin: 0
}

.sgrid-item h3 {
    color: #303f55;
    font-weight: 600;
    font-size: 16px;
    margin: 10px 0
}

.list-item h3 {
    color: #303f55;
    font-weight: 600;
    margin: 0
}

.list-item h4 {
    font-size: 18px;
    color: #2f3d56;
    font-weight: 600;
    margin: 0
}

.list-item h4 a {
    color: #2f3d56
}

.show_more,
.show_less {
    color: #ffa200;
    cursor: pointer
}

.show_more:hover,
.show_less:hover {
    color: #ffbe4d
}

.sgrid-item a,
.list-item a {
    color: #1798a7
}

.ii-right.light {
    color: #1798a7
}

.sgrid-item a:hover,
.list-item a:hover {
    color: #2f3d56
}

.sgrid-item h3 a,
.list-item h3 a {
    color: #2d3b54
}

.sgrid-item p,
.list-item p {
    margin: 0 0 5px
}

.sgrid-item form .dblue-button {
    height: 100%
}

.sgrid-item .li-img {
    height: 160px;
    background: center center/cover no-repeat
}

.li-img img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 2px;
    position: relative
}

.ii-left {
    display: inline-block;
    width: 25%;
    margin: 0 3% 0 0;
    vertical-align: top;
    font-weight: 600
}

.ii-right {
    display: inline-block;
    width: 70%;
    vertical-align: top
}

.ii-itinerary {
    color: #1798a7
}

.item-info {
    margin: 0
}

.bonus i,
.bonus span i {
    color: #13b0ad
}

.brand {
    text-align: right
}

.brand img {
    max-height: 50px;
    width: auto
}

.brands {
    display: block;
    width: 100%;
    max-width: 120px;
    margin: 10px auto 0
}

.top-col span {
    color: #fff;
    padding: 0 10px;
    margin: 0 5px 5px 0;
    font-size: 12px;
    font-weight: 500;
    border-radius: 0;
    display: inline-block;
    transition: all .3s ease-in
}

.prices-col {
    margin: 20px 0
}

.prices-col p {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.rprice {
    color: #ffa200;
    font-weight: 600
}

.gprice {
    color: #1798a7;
    font-weight: 600
}

.pbuttons {
    display: block;
    margin: 30px 0 0
}

.gbuttons {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 0;
    grid-row-gap: 0
}

.toggler {
    background: #fff;
    display: inline-block;
    margin: 10px 10px 0 0
}

.icon-divs {}

.mobsorter {
    display: none
}

.sortmob-div,
.searchmob-div,
.filtermob-div {
    background: #fff;
    position: relative;
    padding: 30px;
    width: 100%;
    z-index: 99999
}

.closer {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 20px;
    color: #1798a7 !important;
    cursor: pointer
}

.closer:hover {
    opacity: .7;
    color: #1798a7 !important;
    cursor: pointer
}

.search-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: 0;
    padding: 20px 0;
    color: #666;
    border-top: 1px solid #d0edef
}

.search-grid .col-ticket {
    margin: 10px 20px
}

.sgrid-item {
    font-size: 13px;
    text-align: center;
    box-shadow: 0 3px 8px 0 rgba(0, 0, 0, .3)
}

#mobile-filters-header {
    display: none;
    position: fixed;
    z-index: 2;
    font-size: 16px;
    font-weight: 700;
    top: 0;
    left: -100%;
    width: 100%;
    background: #1798a7;
    color: #fff;
    padding: 5px 15px;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    cursor: pointer;
    transition: left .3s
}

#mobile-filters-header span {
    flex: 1;
    text-align: center
}

.mobile-close {
    display: none;
    position: fixed;
    z-index: 2;
    font-size: 16px;
    font-weight: 700;
    bottom: 0;
    left: -100%;
    width: 100%;
    background: #1798a7;
    color: #fff;
    padding: 15px;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    border: 10px solid #fff;
    cursor: pointer;
    transition: left .3s
}

#fab-filters {
    display: none;
    position: fixed;
    bottom: 20px;
    left: 20px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #1798a7;
    color: #fff;
    width: 65px;
    height: 65px;
    z-index: 1;
    flex-direction: column;
    font-size: 12px;
    cursor: pointer
}

#search_action_bar {
    display: none;
    background: #f0f0f0;
    padding: 10px 10px 5px;
    margin: 0 0 15px;
    font-size: 14px
}

#search_action_bar h3 {
    color: #2d3b54;
    margin: 0 0 10px
}

#search_action_bar h3 small {
    color: #666
}

#search_action_bar h3.total_cruises {
    display: none
}

#search_actions {
    margin: 0;
    padding: 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap
}

#search_actions li {
    list-style: none;
    background: #2d3b54;
    color: #fff;
    padding: 5px 10px;
    margin: 0 5px 5px 0;
    border-radius: 3px;
    cursor: pointer
}

#search_actions li i {
    font-size: 12px
}

#search_actions li i.fa-times {
    display: none
}

#search_actions li:hover {
    background: #cd1b27 !important
}

#search_actions li:hover i {
    display: none
}

#search_actions li:hover i.fa-times {
    display: inline-block
}

#search_actions li.action-date,
#search_actions li.action-flexibility {
    background: #f90
}

#search_actions li.action-cruiseline {
    background: #004d81
}

#search_actions li.action-ship {
    background: #7c216a
}

#search_actions li.action-destination {
    background: #008b44
}

#search_actions li.action-departport,
#search_actions li.action-visitport {
    background: #77262d
}

#search_actions li.action-duration {
    background: #bd8659
}

#search_actions li.action-traveltype {
    background: #298fd7
}

#search_actions li.action-reset {
    background: #17afd5
}

#search_actions li.action-reset:hover {
    background: #2d3b54 !important
}

#search_actions li.action-reset:hover i {
    display: inline-block
}

#search_container {
    margin-top: 30px
}

#search_container .sidebar {}

#search_container .sidebar .date-container {
    background: #eee;
    width: 60%;
    margin: 0 0 0 10px
}

#search_container .sidebar .date-container input {
    background: #eee;
    width: 100%;
    font: 14px/16px 'Montserrat', Helvetica, Arial, sans-serif;
    border: 0
}

#search_container .sidebar .filter {
    border: 1px solid #eee;
    background: #eee;
    padding: 10px;
    margin: 10px 0;
    position: relative
}

#search_container .sidebar .filter input {
    border: 0;
    width: 100%;
    background: 0 0;
    font-size: 14px
}

#search_container .sidebar .filter input.filter_datepicker {
    margin-left: auto;
    width: 60%;
    position: relative;
    z-index: 1
}

#search_container .sidebar .filter i {
    color: #ccc;
    position: absolute;
    right: 10px;
    z-index: 0
}

#search_container .sidebar .search_option {
    border: 1px solid #ccc;
    padding: 5px;
    position: relative;
    overflow: hidden
}

#search_container .sidebar .search_option input {
    width: 100%;
    background: 0 0;
    border: 0;
    font: 14px/16px 'Montserrat', Helvetica, Arial, sans-serif
}

#search_container .sidebar .search_option select {
    flex: 1 0 auto;
    width: 130%;
    background: 0 0;
    border: 0;
    font-size: 14px
}

#search_container .sidebar .search_option i {
    position: absolute;
    right: 5px;
    opacity: .4;
    z-index: -1
}

#search_container .sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0
}

#search_container .sidebar li {
    list-style: none;
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
    position: relative;
    font-size: 14px;
    line-height: 18px
}

#search_container .sidebar .nice-select li {
    padding: 10px
}

#search_container .sidebar li:last-child {
    border: 0
}

#search_container .sidebar ul#regional_list li:last-child {
    border-bottom: 1px solid #ccc
}

#search_container .sidebar li:not(.option):nth-of-type(n+6) {
    display: none
}

#search_container .sidebar li input {
    display: none
}

#search_container .sidebar li label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 0 20px
}

#search_container .sidebar li .total {
    font-size: 14px
}

#search_container .sidebar li[data-total='0'] {
    display: none
}

#search_container .sidebar li[data-checked='1'] {}

#search_container .sidebar li[data-checked='0']::before {
    content: "\f0c8";
    font-family: 'font awesome 5 free';
    font-weight: 400;
    position: absolute;
    left: 0;
    z-index: -1;
    color: #aaa
}

#search_container .sidebar li[data-checked='1']::before {
    content: "\f14a";
    font-family: 'font awesome 5 free';
    font-weight: 600;
    position: absolute;
    left: 0;
    z-index: -1;
    color: #15afb2
}

#search_container .sidebar .list_more {
    text-align: center;
    adding: 2px 0;
    font-size: 13px;
    color: #1798a7;
    cursor: pointer;
    transition: color .2s
}

#search_container .sidebar .list_more:hover {
    color: #2d3b54
}

#search_container .sidebar .list_more i {
    font-size: 10px
}

#search_container .sidebar .select-container {
    background: #eee;
    width: 60%;
    margin: 0 0 0 10px
}

#search_container .sidebar .select-container-adults {
    margin-bottom: 10px
}

#search_container .sidebar .select-container-children {
    margin-bottom: 10px
}

#search_container .sidebar .select-container-children-age {
    margin-bottom: 10px
}

#search_container .sidebar .select-container .nice-select {
    width: 100%;
    font: 14px/16px 'Montserrat', Helvetica, Arial, sans-serif;
    padding: 10px 0 10px 15px
}

#search_container .sidebar .select-container-adults .nice-select:after {
    content: "\f183";
    font-family: "font awesome 5 free";
    font-weight: 600;
    color: #ccc;
    top: 10px;
    right: 15px
}

#search_container .sidebar .select-container-children .nice-select:after {
    content: "\f1ae";
    font-family: "font awesome 5 free";
    font-weight: 600;
    color: #ccc;
    top: 10px;
    right: 15px
}

#search_container .sidebar .select-container-children-age .nice-select:after {
    content: "\f0d7";
    font-family: "font awesome 5 free";
    font-weight: 600;
    color: #ccc;
    top: 10px;
    right: 15px
}

.li-col {
    padding: 0 5px
}

.li-col h3 a {
    color: #2d3b54
}

.li-col h3 a:hover {
    color: #15afb2
}

#search_container .ii-itinerary .show_more {
    cursor: pointer
}

#search_container .ii-itinerary .show_less {
    cursor: pointer;
    display: none
}

#search_container .ii-itinerary .more {
    display: none
}

#search_container .list-item .ii-itinerary .show_more {
    display: none
}

#search_container .list-item .ii-itinerary .show_less {
    display: none
}

#search_container .list-item .ii-itinerary .more {
    display: inline-block
}

#search_container .li-col .bonus {
    margin-top: 40px
}

.li-col.li-img img {
    margin-bottom: 10px
}

.list-item .li-col .top-col {
    display: flex;
    flex-wrap: wrap
}

.list-item .li-col .top-col .brand {
    display: block;
    margin-right: 10px
}

.list-item .li-col .top-col .brand span {}

.ui-state-default,
.ui-widget-content .ui-state-default {
    cursor: grabber
}

.ui-state-focus,
.ui-widget-content .ui-state-focus {
    background: #f6f6f6
}

.ui-state-active,
.ui-widget-content .ui-state-active {
    background: #15afb2;
    border-color: #15afb2
}

.col-ticket {
    position: relative;
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 0 10px;
    margin: 0 5px 5px 0
}

.col-ticket:before {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    left: -5px;
    top: calc(50% - 5px)
}

.col-ticket:after {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    right: -5px;
    top: calc(50% - 5px)
}

.itin-desc-show {
    cursor: pointer
}

.table-grid .fas {
    color: #1798a7
}

.itin-desc {
    margin: 10px 0;
    padding: 10px 10px 0;
    background: #eee;
    padding: 10px
}

.itin-desc p {
    margin: 0 0 10px
}

.title-container {
    min-height: 70px
}

.search-results p.loading {
    font-size: 18px;
    text-align: center
}

a[href='#itinerary-list'] {
    color: #fff;
    font-weight: 700
}

a[href='#itinerary-list']:hover {
    text-decoration: underline
}

#itinerary-list {
    margin-top: -150px;
    padding-top: 160px
}

.cruise-enquiry-popup {
    cursor: pointer
}

#cruise-enquiry-popup {
    display: none;
    width: 40%
}

#cruise-enquiry-popup h3 {
    font-size: 18px;
    line-height: 24px;
    color: #1798a7;
    font-weight: 900
}

#cruise-enquiry-popup .image {
    display: block
}

#cruise-enquiry-popup .details {
    position: relative;
    overflow: hidden;
    margin: 0 0 20px
}

#cruise-enquiry-popup .details p {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    color: #fff;
    text-align: left;
    margin: 0;
    padding: 10px;
    font-size: 16px;
    line-height: 26px;
    background: rgba(0, 0, 0, .4)
}

#cruise-enquiry-popup .details p strong {
    font-weight: 900
}

#cruise-enquiry-popup .details img {
    max-width: 100%;
    display: block
}

#cruise-enquiry-popup .details .favourite {
    cursor: pointer;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    background: rgba(0, 0, 0, .4);
    color: #fff;
    width: 50px;
    height: 50px;
    transition: background .2s
}

#cruise-enquiry-popup .frm_forms {}

#cruise-enquiry-popup .frm_screen_reader,
#cruise-enquiry-popup .cruise-enquiry-popup-details,
#cruise-enquiry-popup .frm_error_style,
#cruise-enquiry-popup .frm_verify {
    display: none
}

#cruise-enquiry-popup .frm_html_container {
    margin: 15px 0;
    font-size: 16px
}

#cruise-enquiry-popup input,
#cruise-enquiry-popup textarea,
#cruise-enquiry-popup select {
    background: #eee;
    width: 100%;
    border: 0;
    padding: 8px;
    color: #454545;
    font-weight: 600;
    font: 13px montserrat, Helvetica, Arial, sans-serif;
    border-radius: 3px
}

#cruise-enquiry-popup .frm_submit {
    text-align: center
}

#cruise-enquiry-popup .frm_submit button {
    margin: 30px auto 0
}

#cruise-enquiry-popup .frm_error {
    color: red;
    font-size: 12px;
    font-weight: 900;
    position: relative
}

#cruise-enquiry-popup .frm_message {
    font-size: 18px;
    line-height: 24px;
    color: #1798a7;
    font-weight: 900;
    text-align: center;
    border-bottom: 2px solid #d7d7d7
}

.cycle-text {}

.cycle-text li {
    display: none
}

.cruise-only-link {
    margin: 15px 0
}

.cruise-only-link a {
    color: #fff
}

.page-hero {
    height: auto;
    margin: 0 auto;
    padding: 0 0 160px;
    position: relative;
    z-index: 1;
    background-size: cover;
    background-position: center center;
    z-index: 3
}

.page-hero-inner {
    background: rgba(0, 0, 0, .7);
    padding: 30px;
    margin: 0 auto;
    height: auto;
    display: block;
    width: 100%;
    max-width: 1140px;
    color: #fff;
    top: 130px;
    position: relative
}

.pack-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 3fr 1.5fr;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    justify-items: stretch;
    align-items: inital;
    margin: 0
}

.pg-item h1 {
    margin: 0 0 0;
    font-weight: 600;
    color: #fff
}

.pg-item span {
    margin: 0 10px 0 0
}

.pg-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 3fr 2fr 1fr 1fr;
    grid-column-gap: 0;
    grid-row-gap: 0;
    justify-items: stretch;
    align-items: inital;
    margin: 20px 0 0
}

.co-grid {
    grid-template-columns: 3fr 1fr 1fr
}

.pg-grid p {
    margin: 0
}

.pg-grid p a {
    color: #fff
}

.pgg-item {
    margin-bottom: 30px
}

.pgg-item a {
    color: #fff
}

.pg-button {
    background: #1798a7;
    color: #fff;
    border-radius: 3px;
    width: 35px;
    height: 35px;
    padding: 5px;
    display: inline-block;
    margin: 5px 0;
    text-align: center;
    transition: all .3s ease-in
}

.pg-button:hover {
    background: #064d81;
    color: #fff;
    transition: all .3s ease-in-out
}

.spacer {
    display: block;
    margin: 10px 0;
    height: 20px
}

.pg-buttons .blue-button {
    margin: 0;
    padding: 6px 10px;
    float: left:width:45%
}

button.blue-button {
    border: 0;
    cursor: pointer
}

.pg-buttons {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.pg-buttons .pg-logo {
    margin: 0;
    max-width: 120px
}

.pg-logo {
    text-align: right
}

.pg-logo img {
    display: block
}

.pack-grid .blue-button i {
    margin: 0 0 0 10px
}

.pg-prices {
    margin: 20px 0 0
}

.pg-prices p {
    margin: 0
}

#book-now-html .prices-loading {
    font-size: 18px;
    font-weight: 700
}

.bigprice {
    font-size: 40px;
    font-weight: 600;
    margin: -10px 0 0 !important;
    line-height: 40px;
    white-space: nowrap
}

.bigprice-container {
    white-space: nowrap
}

#book-now .price-includes {
    margin: 0 0 0 20px;
    font-size: 12px;
    line-height: 18px
}

#floating-book {
    display: none;
    position: fixed;
    z-index: 2;
    top: 50%;
    right: 20px;
    background: #119aa7;
    padding: 10px 20px;
    border-radius: 3px;
    color: #fff;
    cursor: pointer;
    transition: background .3s
}

#floating-book:hover {
    background: #2d3b54
}

#floating-book span {
    font-weight: 700
}

#floating-quote {
    display: none;
    position: fixed;
    z-index: 2;
    top: 50%;
    right: 20px;
    margin-top: 50px
}

#floating-quote button {
    border: 0;
    background: #119aa7;
    padding: 10px 20px;
    border-radius: 3px;
    color: #fff;
    cursor: pointer;
    transition: background .3s
}

#floating-quote button:hover {
    background: #2d3b54
}

.checkboxes ul {
    list-style-type: none;
    margin: 0 0 10px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 2px
}

.checkboxes li {
    display: inline-block;
    vertical-align: middle;
    margin: 0
}

.checkboxes li label {
    padding: 10px 0
}

.checkboxes span {
    margin: 0 !important
}

.checkboxes label {
    border: 0;
    background: #1798a7;
    color: #fff;
    padding: 10px 13px;
    font-size: 13px;
    height: 75px;
    width: 100%;
    text-align: center;
    display: block;
    position: relative;
    margin: 0;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.cb1 {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px
}

.cb-buttons li:last-child,
.cb-buttons li:last-child label {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px
}

.checkboxes label::before {
    background-color: #2d3b54;
    color: #fff;
    content: " ";
    display: block;
    border: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 28px;
    transition-duration: .4s;
    transform: scale(0)
}

.scheck {
    display: none
}

.activecheck {
    background-color: #2d3b54
}

.activecheck .sprice {
    display: none
}

.activecheck .scheck {
    display: block;
    text-align: center;
    font-size: 13px
}

.activecheck .scheck i {
    display: block;
    text-align: center
}

.activecheck label p {
    display: none
}

.checkboxes label p {
    margin: 0;
    text-align: center
}

.alert {
    display: inline-block;
    background: #f6716b;
    border-radius: 3px;
    color: #fff;
    font-size: 13px;
    padding: 5px 10px
}

.bb-alt {
    display: block;
    width: 100%;
    text-align: center;
    padding: 20px !important;
    margin: 10px 0 5px
}

.anchor-scroll {
    padding-top: 200px;
    margin-top: -200px !important
}

#overview.anchor-scroll {
    padding-top: 0;
    margin-top: 0 !important
}

.secondary-nav {
    width: 100%;
    background: #1798a7;
    border-bottom: 2px solid #fff;
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 1
}

.secondary-nav i {
    padding: 0 10px 0 0
}

.secondary-nav ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    margin: 0
}

.secondary-nav li {
    list-style: none;
    display: inline-block;
    padding: 0;
    width: 100%
}

.secondary-nav a {
    color: #fff;
    background: 0 0;
    text-transform: uppercase;
    font-weight: 600;
    padding: 17px 0 18px;
    display: block;
    text-align: center
}

.secondary-nav a:hover,
.secondary-nav a.active {
    color: #1798a7;
    background: #fff
}

.sticky {
    position: sticky;
    top: -2px;
    width: 100%;
    z-index: 100000;
    border-top: 2px solid #fff
}

#progress {
    margin: 20px auto;
    width: 100%;
    display: flex
}

#progress li {
    padding: 9px 30px 8px 40px;
    background: #086469;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    position: relative;
    width: 20%;
    margin: 0 1px 0 -1px;
    text-align: center
}

#progress li::after {
    content: '';
    background: url(../images/progress.png);
    background-size: cover;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 1;
    width: 20px;
    height: 40px
}

#progress li.active {
    background: #fff;
    color: #1798a7
}

#progress li.active:after {
    background: url(../images/progressw.png);
    background-size: cover;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 20;
    width: 20px;
    height: 40px
}

#progress li:last-of-type:after {
    border: 0;
    background: 0 0
}

#progress li:first-of-type {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px
}

#progress li:last-of-type {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px
}

.fifty-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    justify-items: stretch;
    align-items: inital;
    margin: 20px auto 40px
}

.panel-box {
    background: #fff;
    margin: -15px 0 0;
    border-radius: 3px;
    padding: 35px 20px 20px
}

.ppanel {
    padding: 20px
}

.panel-slider {
    position: relative
}

.slider-container {
    position: relative;
    width: 570px;
    height: 390px
}

.panel-slider-content {
    height: auto;
    margin: 0 auto;
    position: relative;
    z-index: 0;
    background: #fff
}

.panel-slider .slide {
    position: relative;
    height: auto
}

.panel-slider .slick-slide {
    height: auto !important
}

.panel-slider .slide {
    position: relative;
    z-index: 99
}

.image-slider-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: center center/cover no-repeat
}

.image-slider-bg a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.fifty-col {
    overflow: hidden
}

.fifty-col .panel-container {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px
}

.panel-container {
    clear: both;
    position: relative;
    background-color: #fff;
    padding: 0;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px
}

.panel-container p {
    margin: 0
}

.panel-slider .slick-prev {
    left: 10px
}

.panel-slider .slick-next {
    right: 10px
}

.table-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1.5fr 2fr 1fr 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    justify-items: stretch;
    align-items: inital;
    margin: 0 auto
}

.itinerary-list .table-grid {
    grid-template-columns: 1.5fr 1.5fr .5fr 1fr 1fr
}

.table-label {
    margin: 10px 0 0
}

.tab-title {
    font-weight: 600;
    color: #1798a7
}

.blue-container h2 {
    margin: 0 0 10px;
    font-size: 22px;
    font-weight: 600
}

.full-white {
    margin: 0 auto 50px;
    background: #fff;
    padding: 20px;
    border-radius: 3px
}

.full-bg {
    margin: 0 auto 50px
}

.sidebar-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1.2fr 2fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    justify-items: stretch;
    align-items: inital;
    margin: 0 auto 30px
}

.selected-cabin {
    min-height: 190px
}

.selected-cabin .sbg-col.flex {
    margin-right: 20px
}

.selected-cabin .diagram-image {
    flex: 1 0 auto;
    width: 100px
}

.selected-cabin .diagram-image {
    margin-left: 10px
}

.selected-cabin h2 {
    margin-top: 0 !important
}

.selected-cabin p {
    margin: 20px 0
}

.cabin-row {
    cursor: pointer
}

.cabin-color {
    display: inline-block;
    padding: 2px 5px;
    border-radius: 3px
}

.cabin-filter-search {
    display: grid;
    grid-template-columns: .5fr 1fr 1fr 1fr;
    grid-column-gap: 20px;
    align-items: center
}

.cabin-filter-search h5 {
    margin-bottom: 0
}

.cabin-filter-search .nice-select {
    margin-bottom: 0 !important
}

.cabin-filter-search .nice-select .option.disabled {
    opacity: 1;
    background: #1798a7;
    color: #fff;
    font-weight: 700
}

.cabin-filter-search .nice-select:hover .option.disabled {
    opacity: 1;
    background: #1798a7;
    color: #fff;
    font-weight: 700
}

.cabin-filter-search .nice-select .list:hover .option.disabled:not(:hover) {
    opacity: 1;
    background: #1798a7 !important;
    color: #fff;
    font-weight: 700
}

.cabin-filter-search input {
    background: #eee;
    border: 0;
    color: #454545;
    padding: 10px;
    font: 14px/1.8 'Montserrat', Helvetica, Arial, sans-serif
}

.cabin-farecode-search {
    display: grid;
    grid-template-columns: 1fr;
    grid-column-gap: 20px;
    align-items: center;
    margin-left: 20px
}

.cabin-farecode-search select {
    min-width: 150px;
    background: #eee;
    border: 0;
    color: #454545;
    padding: 13px 10px;
    font: 14px/1.8 'Montserrat', Helvetica, Arial, sans-serif
}

#cabins-table {
    position: relative;
    overflow: hidden
}

#cabins-table .table-wrapper {
    height: 100%;
    padding-bottom: 50px
}

#cabins-rooms-control {
    position: relative;
    height: 100%;
    overflow: hidden
}

.cabins-rooms-container {
    display: flex;
    height: 100%;
    align-items: flex-start
}

.cabin-select {
    display: inline-block;
    position: absolute;
    width: 100%;
    left: 0;
    transition: all .5s
}

.cabin-select.show-rooms {
    left: -100%
}

.rooms-select {
    display: inline-block;
    position: absolute;
    width: 100%;
    left: 100%;
    transition: all .5s
}

.rooms-select.show-rooms {
    left: 0
}

.rooms-select h2 span {
    cursor: pointer;
    color: #fff;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 400;
    padding: 2px 5px
}

.cabin-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0
}

.cabin-buttons .warning {
    display: none;
    margin: 0 20px 0 0;
    font-weight: 700
}

.quotation-form-trigger {
    margin: 0 !important
}

.cruise-enquiry-popup-trigger {
    margin: 0 20px !important
}

.book-now-trigger {
    margin: 0 !important
}

.sbg-col h2 {
    font-size: 18px;
    font-weight: 600;
    color: #1798a7;
    margin-bottom: 20px
}

.page-tabs {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-column-gap: 0;
    grid-row-gap: 0;
    justify-items: stretch;
    align-items: inital
}

.ptabs,
.tabs {
    margin: 0;
    padding: 0;
    list-style: none
}

.tabs li {
    float: left;
    padding: 0;
    margin: 0;
    text-align: center
}

.ptabs li {
    padding: 0;
    margin: 0
}

.tabs label {
    display: block;
    text-decoration: none;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 20px;
    margin-right: 4px;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    margin-bottom: -2px;
    background: #13adb0;
    text-transform: uppercase;
    cursor: pointer
}

.tabs label input {
    display: none
}

.ptabs a {
    display: block;
    text-decoration: none;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 10px;
    background: #13adb0;
    text-transform: uppercase
}

.ptabs li:first-child a {
    border-top-left-radius: 5px
}

.ptabs li:last-child a {
    border-bottom-left-radius: 5px
}

.ptabs a.active,
.tabs label:hover,
.tabs label.active {
    background-color: #fff;
    color: #13adb0
}

h2.cabin-select-h {
    font-size: 18px;
    font-weight: 600;
    color: #1798a7;
    margin-bottom: 20px
}

.sbg-col .nice-select {
    width: 100%;
    margin: 0 0 15px;
    position: relative;
    z-index: 9
}

.sbg-col .widget-txt {
    width: 100%;
    margin: 0 0 15px;
    z-index: 0
}

.table-wrapper {
    width: 100%;
    display: block;
    height: 400px;
    overflow-x: hidden;
    margin: 0 0 30px
}

.ship-table {
    background-color: #efefef;
    border: 0;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr repeat(5, minmax(0, 1fr));
    grid-column-gap: 0;
    grid-row-gap: 0
}

.single-ship-table {
    grid-template-columns: 3fr 1fr 1fr
}

.cabins-table {
    background-color: #efefef;
    border: 0;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 2fr 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 0
}

.cabin-search {
    margin: 20px 0
}

.sthead {
    background: #2d3b54;
    padding: 5px 0;
    color: #fff
}

.ship-table:nth-of-type(even) {
    background-color: #fff
}

.cabins-table:nth-of-type(even) {
    background-color: #fff
}

.scol {
    padding: 10px
}

.sthead .scol {
    padding: 5px 10px
}

.scol :checked+label {
    background: 0 0;
    color: #656565
}

.scol :checked+label p {
    display: none
}

.table-wrapper .checkboxes label {
    border: 0;
    background: #1798a7;
    color: #fff;
    padding: 3px 20px;
    font-size: 13px;
    height: 20px;
    width: 75px;
    height: auto;
    width: auto;
    text-align: center;
    display: inline-block;
    position: relative;
    margin: 0;
    border-radius: 3px
}

.rooms-select .table-wrapper .activecheck label {
    background: 0 0;
    color: #656565;
    padding: 5px 20px;
    font-size: 13px;
    height: 25px;
    width: 75px;
    text-align: center
}

.cb-buttons li:hover,
.cb-buttons li.active label {
    background: #2d3b54
}

.cb-buttons li.active .sprice {
    display: none
}

.cb-buttons li.active .scheck {
    display: block;
    text-align: center;
    font-size: 12px
}

.cb-buttons li.active .scheck i {
    display: block
}

.cabin-select .table-wrapper .activecheck label {
    background: #f6716b
}

.activecheck {
    border: 2px solid #f6716b !important
}

.mobcoltitle {
    display: none
}

.three-col-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1.5fr 3fr 1.5fr;
    grid-column-gap: 50px;
    grid-row-gap: 50px;
    margin: 30px auto;
    min-height: 400px
}

.deckplan {
    height: 500px;
    overflow: auto;
    position: relative
}

.deckplan img {
    position: relative;
    z-index: 1
}

.deckplan svg {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%
}

.deckplan svg rect {
    stroke: red;
    stroke-width: 3px;
    fill-opacity: 0;
    stroke-opacity: 1;
    transition: opacity 1.5s;
    animation: cabin-highlighter 1.5s infinite
}

@-webkit-keyframes cabin-highlighter {
    0% {
        opacity: 0
    }
    50% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

.dragscroll {
    cursor: move;
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab
}

.dragscroll.dragging {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing
}

.three-col-grid h5 {
    font-size: 18px;
    font-weight: 600;
    color: #1798a7
}

.tcg-col .blue-button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 5px 10px;
    margin: 0 0 5px
}

.tcg-col .blue-button.active {
    background: #2d3b54
}

.tcg-col li {
    margin: 0 0 5px;
    font-weight: 600
}

.tcg-col li i {
    margin: 0 5px 0 0
}

.parent-container {
    height: 350px;
    max-height: 350px;
    margin-bottom: 30px
}

.larger-table {
    background-color: #fff;
    width: 100%;
    display: grid;
    grid-template-columns: auto 150px 100px 150px 50px 150px 50px 150px;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    border: 2px solid #cfedf0;
    cursor: pointer
}

.lt-col {
    padding: 10px
}

.lthead {
    background: #2d3b54;
    padding: 5px 0;
    color: #fff
}

.lts {
    display: inline-block;
    vertical-align: top
}

.lts img {
    width: 100px
}

.lt-col p {
    margin: 0
}

.lt-col a {
    color: #1798a7
}

.red {
    font-size: 20px;
    color: #f6716b;
    font-weight: 600
}

.package-slider {
    display: none
}

.hotel-wrapper {
    height: 500px;
    overflow: auto
}

.small-wrapper {
    height: 250px;
    overflow: auto
}

.hotel-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 30px
}

.hotel-item {
    border: 2px solid #cfedf0;
    cursor: pointer
}

.hotel-item:nth-child(4n) {
    margin-right: 0
}

.hotel-item img {
    margin: 0;
    display: block;
    width: 100%;
    height: auto;
    position: relative
}

.hotel-image {
    width: 100%;
    height: 180px;
    background-size: cover;
    background-position: center center;
    flex: 1 0 auto
}

.hotel-item-inner {
    background: #fff;
    padding: 10px;
    height: 100%
}

.hotel-item p {
    margin: 0
}

.hotel-item h5 {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    min-height: 40px
}

.hotel-item .pg-button {
    margin: 0
}

#hotel-info {
    display: none;
    background: rgba(0, 0, 0, .75);
    align-items: center;
    justify-content: center;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 100000
}

#hotel-info.open {
    display: flex
}

#hotel-info-inner {
    background: #fff;
    padding: 20px;
    border-radius: 4px;
    width: 95%;
    max-width: 40%;
    min-height: 350px;
    max-height: 70%;
    display: grid;
    grid-template-columns: 210px auto;
    grid-column-gap: 30px;
    overflow: auto
}

#hotel-info-close {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 28px;
    line-height: 28px;
    color: #fff;
    cursor: pointer;
    transition: color .3s
}

#hotel-info-inner .col-hotel {
    width: 210px
}

#hotel-info-inner .col-info {
    padding: 0 0 20px
}

#hotel-info-inner h3 {
    font-size: 16px;
    color: #1798a7;
    font-weight: 600
}

#hotel-info-inner .stars {
    color: #1798a7
}

#hotel-info-inner ul {
    display: flex;
    flex-wrap: wrap
}

#hotel-info-inner li {
    width: 50%
}

#flight-info {
    display: none;
    background: rgba(0, 0, 0, .75);
    align-items: center;
    justify-content: center;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 100000
}

#flight-info.open {
    display: flex
}

#flight-info-inner {
    background: #fff;
    padding: 20px;
    border-radius: 4px;
    width: 95%;
    max-width: 40%;
    min-height: 350px;
    max-height: 70%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 30px;
    overflow: auto
}

#flight-info-close {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 28px;
    line-height: 28px;
    color: #fff;
    cursor: pointer;
    transition: color .3s
}

#flight-info-inner .col-flight {}

#flight-info-inner .col-flight p.arrow {
    background: url(../images/arrow.svg) center right no-repeat
}

#flight-info-inner .col-info {
    padding: 0 0 20px
}

#flight-info-inner h3 {
    font-size: 16px;
    color: #1798a7;
    font-weight: 600
}

#flight-info-inner .stars {
    color: #1798a7
}

#flight-info-inner ul {
    display: flex;
    flex-wrap: wrap
}

#flight-info-inner li {
    width: 50%
}

.inbound-arrives,
.outbound-arrives,
.inbound-departs,
.outbound-departs {
    text-transform: capitalize
}

#loading-info {
    display: none;
    background: rgba(0, 0, 0, .75);
    align-items: center;
    justify-content: center;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 100000
}

#loading-info.open {
    display: flex
}

#loading-info-inner {
    background: #fff;
    padding: 20px;
    border-radius: 4px;
    width: 95%;
    max-width: 40%;
    min-height: 250px;
    max-height: 70%;
    overflow: auto;
    text-align: center
}

.content-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 20px 0
}

.content-col {
    flex: 1;
    padding: 10px;
    margin: 0 10px
}

.content-col:first-child {
    margin-left: 0
}

.content-col:last-child {
    margin-right: 0
}

select[name=farecode1],
select[name=airport1] {
    width: 100%;
    margin: 5px 0 15px;
    background: #fff;
    border: 1px solid #ccc;
    padding: 5px;
    border-radius: 3px
}

.star-rate {
    margin: 5px 0;
    color: #1798a7
}

.hi-price {
    float: left
}

.hi-info {
    float: right
}

.car-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    background: #fff;
    padding: 20px
}

.blue-container h5 {
    color: #1798a7;
    font-weight: 600
}

.car-grid h2 {
    color: #1798a7;
    font-weight: 600;
    font-size: 20px;
    margin: 0 0 5px
}

.car-grid h5 {
    color: #2d3b54;
    font-weight: 600;
    font-size: 16px
}

.car-grid ul {
    margin: 0 0 10px
}

.car-item p {
    margin: 0
}

.car-item i {
    color: #1798a7
}

.car-feat {
    font-size: 16px;
    font-weight: 600
}

.car-feat span {
    margin: 0 10px 0 0
}

.ci-row {
    margin: 0 0 20px !important
}

.ci-row span {
    display: block
}

.car-price {
    font-size: 22px;
    font-weight: 600;
    margin: 0
}

.car-price span {
    color: #1798a7
}

.car-total span {
    font-weight: 600;
    color: #f6716b
}

.car-total {
    margin: 0 0 10px
}

.car-small-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    margin: 30px auto
}

.car-item-inner {
    background: #fff;
    padding: 10px 20px
}

.small-car {
    border: 2px solid #cfedf0
}

.small-car img {
    margin: 0;
    display: block;
    width: 100%;
    height: auto;
    position: relative
}

.small-car p {
    margin: 0
}

.small-car h5 {
    font-size: 15px;
    color: #2d3b54;
    font-weight: 600;
    margin: 0 0 5px
}

.small-car .car-feat {
    font-size: 14px;
    font-weight: 600;
    color: #1798a7
}

.small-car .car-feat i {
    color: #2d3b54
}

.small-car .hi-price {
    float: left;
    margin: 5px 0 0
}

.small-car .red {
    font-size: 16px
}

.car-slider {
    display: none
}

.alt-table {
    background-color: #fff;
    width: 100%;
    display: grid;
    grid-template-columns: 1.5fr 3fr 1fr 1fr 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    border: 2px solid #cfedf0;
    cursor: pointer
}

.althead {
    font-weight: 600;
    background: #2d3b54;
    padding: 5px 10px;
    color: #fff
}

.similar-packages {}

.similar-package {
    background: #fff;
    padding: 20px;
    margin: 0 0 2px;
    border-radius: 3px
}

.similar-package h3 {
    margin: 0
}

.similar-package .package-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px
}

.similar-package .package-title img {
    max-height: 30px;
    width: auto
}

.similar-package-inner {
    display: grid;
    grid-template-columns: 2fr 1fr
}

.similar-package p {
    margin: 0 0 10px
}

.package-prices {}

.package-prices .title {
    line-height: 26px
}

.package-prices .title .sprice {
    font-size: 20px;
    color: #f6716b;
    font-weight: 600
}

.package-prices p {
    margin: 0
}

.package-prices ul {
    display: flex;
    margin-top: 10px
}

.package-prices li {
    background: #1798a7;
    color: #fff;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    text-align: center;
    margin: 0 1px 0 0;
    cursor: pointer;
    padding: 5px 0
}

.package-prices li:first-child {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px
}

.package-prices li:last-child {
    margin-right: 0;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px
}

.package-prices li .icon {
    display: none;
    color: #1798a7;
    margin: 0;
    line-height: 10px
}

.package-prices li.selected {
    background: #2d3b54
}

.package-prices li.selected .icon {
    display: block;
    color: #fff
}

.sim-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    margin: 0 0 5px;
    background: #fff
}

.sim-item {
    padding: 30px
}

.sim-item .red {
    font-size: 30px
}

.sim-item p {
    margin: 0 0 10px
}

.sim-item i {
    color: #1798a7;
    margin: 0 5px 0 0
}

.sim-prices {
    margin: 10px 0
}

.sim-prices p {
    margin: -10px 0 0
}

.sim-item h1 {
    font-size: 22px;
    color: #2d3b54;
    margin: 0 0 10px;
    font-weight: 600
}

.sim-item h5 {
    font-size: 15px;
    color: #1798a7;
    margin: 0 0 10px
}

.summary-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 3.4fr 1.3fr;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    justify-items: stretch;
    align-items: inital;
    margin: 20px auto
}

.sum-bg {
    background: #fff;
    padding: 20px;
    border-radius: 3px
}

.sum-item h1 {
    font-size: 22px;
    font-weight: 600;
    float: left;
    margin: 0 0 10px
}

.sum-item h3 {
    clear: both;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px;
    color: #16aeb4
}

.sum-item .silogo {
    float: right;
    max-width: 100px
}

.sum-item i {
    color: #1798a7
}

.sum-row {
    padding: 25px;
    border-bottom: 5px dotted #cfedf0
}

.sum-row:last-of-type {
    border-bottom: 0
}

.sum-row p {
    margin: 0 0 5px
}

.summary-images {
    margin: 20px 0
}

.summary-images img {
    border-radius: 3px
}

.sum-row-image:first-child {
    margin-right: 10px
}

.sum-row-image:last-child {
    margin-left: 10px
}

.sum-row-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 50px;
    grid-row-gap: 50px;
    justify-items: stretch;
    align-items: inital;
    margin: 0
}

.sum-row-grid-item {
    position: relative;
    width: 100%
}

.has-arrow .sum-row-grid-item::after {
    content: "";
    background: url(../images/arrow.svg);
    background-size: contain;
    width: 60px;
    height: 30px;
    position: absolute;
    right: -20px;
    top: 10px
}

.sum-row-grid-item:last-of-type::after {
    background: 0 0
}

.siwidget {
    margin: 0 0 30px
}

.sihead {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    background: #2d3b54;
    padding: 15px;
    color: #fff
}

.sifoot {
    background: #086469;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    padding: 15px;
    color: #fff
}

.sihead h2 {
    color: #fff;
    font-size: 16px;
    margin: 0
}

.sicont {
    background: #fff;
    padding: 20px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px
}

.sicont li {
    margin-bottom: 10px
}

.sicont .ref {
    font-size: 21px;
    color: #1798a7
}

.sicont .ref span {
    color: #2d3b54
}

.sicont .blue-button {
    margin: 0
}

.sicont .blue-button i {
    color: #fff;
    margin: 0 5px 0 0
}

.total-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    justify-items: stretch;
    align-items: inital;
    margin: 0;
    padding: 0 0 10px
}

.if-discount {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10px;
    justify-items: stretch;
    align-items: inital;
    margin: 0;
    padding: 0 0 10px
}

.total-item {
    margin: 5px 0;
    line-height: 16px
}

.total-item small {
    font-size: 80%
}

.tright {
    text-align: right;
    font-weight: 600;
    float: right
}

.final-total {
    font-weight: 600;
    padding: 10px 0 0;
    border-top: 2px solid #cfedf0
}

.final-total .tright {
    color: #1798a7
}

.vcode {
    position: relative;
    margin: 10px 0 20px;
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
    display: flex
}

.vc {
    background: #d1d1d1;
    width: 100%;
    border: 0;
    padding: 5px;
    color: #454545;
    font-weight: 600;
    font: 13px montserrat, Helvetica, Arial, sans-serif;
    border-top-left-radius: 5px !important;
    border-bottom-left-radius: 5px !important
}

.vcs {
    cursor: pointer;
    border: 0;
    background: #1798a7;
    padding: 5px 10px;
    color: #fff;
    font-weight: 600;
    border-radius: 3px;
    font: 13px montserrat, Helvetica, Arial, sans-serif;
    border-top-right-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    width: 80px
}

.vcs i {
    color: #fff
}

.vcs:hover {
    background: #2d3b54;
    color: #fff
}

#name_title {
    width: 25%
}

.form-grid-three {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 2fr 2fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    justify-items: stretch;
    align-items: inital;
    margin: 20px 0
}

.form-grid-two {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 40px 0 20px
}

.fgt-alt {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr
}

.form-grid-three .nice-select {
    border: 0;
    background: #eee;
    line-height: inherit !important;
    padding: 5px 0 5px 20px;
    border-radius: 3px;
    min-width: 200px
}

.form-grid-two .nice-select {
    border: 0;
    background: #eee;
    line-height: inherit !important;
    padding: 5px 0 5px 20px;
    border-radius: 3px;
    width: 100px;
    display: inline-block;
    margin: 0 20px 0 0
}

.form-grid-two .nice-select.txtw-input {
    background: #eee;
    width: 100%;
    border: 0;
    padding: 5px;
    color: #454545;
    font-weight: 600;
    font: 13px montserrat, Helvetica, Arial, sans-serif;
    border-radius: 3px;
    margin: 0 0 10px
}

.fgt-alt .nice-select {
    width: 70%;
    display: inline-block
}

.form-grid-two label {
    display: inline-block;
    margin: 0 10px 0 0
}

.txt-input {
    background: #eee;
    width: 100%;
    border: 1px solid #eee;
    padding: 8px;
    color: #454545;
    font-weight: 600;
    font: 13px montserrat, Helvetica, Arial, sans-serif;
    border-radius: 3px !important
}

.txtw-input {
    background: #eee;
    width: 100%;
    border: 1px solid #eee;
    border: 0;
    padding: 8px;
    color: #454545;
    font-weight: 600;
    font: 13px montserrat, Helvetica, Arial, sans-serif;
    border-radius: 3px !important;
    margin: 0 0 10px;
    height: 35px
}

.txt-input:focus,
.txtw-input:focus {
    border-color: #ccc
}

.error-required {
    border: 1px solid red
}

.fgt-alt .txt-input {
    width: 70%;
    color: #454545;
    display: inline-block
}

.fgt-alt .txt-input-sm {
    width: 50%
}

.SumoSelect select {
    display: block !important;
    margin: 0;
    border: 0;
    padding: 0;
    height: 1px;
    opacity: 0;
    position: relative;
    top: 30px
}

.txtarea {
    background: #eee;
    width: 100%;
    border: 0;
    padding: 8px;
    color: #454545;
    font-weight: 600;
    font: 13px montserrat, Helvetica, Arial, sans-serif;
    border-radius: 3px;
    margin: 0 0 10px
}

.widget-photo {
    border-radius: 50%;
    padding: 10px 40px
}

.centered {
    text-align: center
}

.centered li {
    margin: 0 0 10px
}

.centered i {
    color: #15b0b6;
    font-size: 20px;
    display: inline-block;
    vertical-align: middle
}

.payment p {
    font-weight: 400
}

.payment .check {
    display: inline-block;
    vertical-align: middle;
    margin: 10px 0 0
}

.payment label {
    color: #15b0b6;
    font-size: 16px;
    font-weight: 600;
    display: inline-block;
    vertical-align: middle;
    margin: 10px 0 0 10px
}

.payment .accordion-section .fa,
.payment .accordion-section .fab,
.payment .accordion-section .fal,
.payment .accordion-section .far,
.payment .accordion-section .fas {
    line-height: 2 !important
}

.payment .accordion-container {
    width: 100%;
    margin: 30px auto
}

.payment .accordion {
    position: relative;
    cursor: pointer;
    border-top: 5px dotted #cfedf0;
    border-bottom: 5px dotted #cfedf0;
    padding: 15px 0;
    margin: -1px 0 0;
    text-align: left;
    font-weight: 500;
    transition: all .3s ease-in;
    font-size: 22px;
    color: #2d3b54;
    font-weight: 600
}

h2.accordion small {
    font-size: 75%
}

h2.accordion small span {
    font-weight: 700;
    color: #15b0b6
}

.payment .accordion:hover {
    opacity: .6;
    transition: all .3s ease-in-out
}

.sum-row .accordion:before {
    display: none
}

.payment .accordion:after {
    font-family: 'font awesome 5 free';
    font-weight: 900;
    content: "\f077";
    position: absolute;
    right: 10px;
    color: #2d3b54;
    top: 18px
}

.payment .content {
    padding: 20px 0
}

.payment .less::after {
    font-family: 'font awesome 5 free';
    font-weight: 900;
    color: #2d3b54;
    content: "\f078"
}

.billing-check {
    margin: 20px 0;
    display: block
}

.billing-check label {
    color: #fff;
    background: #aaa;
    font-size: 16px;
    font-weight: 600;
    padding: 10px 40px;
    width: auto !important;
    display: inline-block;
    vertical-align: middle;
    margin: 10px 0 0 10px;
    border-radius: 3px;
    height: auto !important
}

.billing-check i {
    color: #fff
}

.billing-check li {
    width: auto !important;
    margin: 0 20px 0 0
}

.billing-check li:hover {
    background: unset
}

.billing-check li input {
    display: none
}

.billing-check :checked+label {
    background: #2d3b54 !important
}

.billing-check :checked+label .scheck {
    display: inline-block;
    text-align: center;
    font-size: 16px
}

.billing-check :checked+label .fa-square {
    display: none
}

.payment :checked+label {
    background: 0 0
}

.video-slider {
    width: 80%;
    margin: -50px auto
}

.video-slider .slick-list {
    padding: 50px 100px !important
}

.video-slider .vid-slide img {
    width: 360px;
    transform: scale(1);
    transform-origin: center center;
    transition: all .3s;
    padding-top: 30px;
    z-index: 1
}

.video-slider .slick-slide {
    position: relative
}

.video-slider .slick-current {
    z-index: 1
}

.video-slider .slick-current img {
    width: 360px;
    transform: scale(1.3);
    transform-origin: center center;
    transition: all .3s;
    padding-top: 30px;
    z-index: 2
}

.video-slider .slick-prev {
    left: -50px;
    opacity: .5;
    height: 20px;
    line-height: 20px
}

.video-slider .slick-next {
    right: -50px;
    opacity: .5;
    height: 20px;
    line-height: 20px
}

.video-slider .slick-prev:hover,
.video-slider .slick-next:hover {
    opacity: 1
}

.fancybox-container {
    z-index: 9999999 !important
}

select.sumo {
    background: #eee;
    border-radius: 3px;
    width: 100%;
    height: 34px;
    padding: 5px;
    border: 0
}

.bank-brands {
    margin: 30px 0 0;
    display: flex
}

.bank-brands label {
    text-align: center;
    border: 2px solid #f0f0f0;
    padding: 15px;
    margin: 0 20px 20px 0 !important;
    border-radius: 3px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all .3s
}

.bank-brands label:last-child {
    margin-right: 0
}

.bank-brands label.active,
.bank-brands label:hover {
    border-color: #ffb533
}

.bank-brands input {
    display: none
}

.bank-brands img {
    height: 50px
}

.bank-images-container {
    height: 0;
    transition: height .3s;
    overflow: hidden
}

.bank-images-container.show {
    height: unset
}

.bank-images {
    margin: 0;
    display: none;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px
}

.bank-images label {
    border: 2px solid #f0f0f0;
    padding: 15px;
    border-radius: 3px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all .3s
}

.bank-images.show {
    display: grid
}

.bank-images label.active,
.bank-images label:hover {
    border-color: #ffb533
}

.bank-images input {
    display: none
}

@media screen and (max-width:720px) {
    .bank-images {
        grid-template-columns: 1fr
    }
}

.select-placeholder {
    position: relative;
    background: #eee;
    border-radius: 3px
}

.select-placeholder .placeholder {
    position: absolute;
    z-index: 0;
    top: 4px;
    left: 6px;
    opacity: .7
}

.select-placeholder select {
    position: relative;
    z-index: 1;
    background: 0 0
}

.select-placeholder select.has-val {
    background: #eee
}

label.dob {
    min-width: 100px
}

.small.select-placeholder {
    margin-right: 10px
}

.small.select-placeholder select {
    padding: 5px 10px
}

.no-margin-bottom,
.no-margin-bottom input,
.no-margin-bottom select {
    margin-bottom: 0
}

#start a,
.summary-grid a {
    color: #1798a7
}

#start a:hover,
.summary-grid a:hover {
    color: #2d3b54
}

.wait-box {
    width: 600px;
    text-align: center;
    color: #fff;
    background: rgba(47, 61, 86, .8);
    border: 1px solid #fff;
    border-radius: 3px;
    padding: 30px;
    position: absolute;
    top: 30%;
    right: 20%
}

.wait-box p {
    margin-bottom: 0
}

.wait-box .blue-grid {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 0;
    font-size: 13px;
    margin: 0
}

.wait-box .bg-item p {
    font-weight: 400;
    font-size: 13px;
    margin: 0
}

.wait-box .bg-item i {
    display: inline-block;
    margin: 0 5px 0 0;
    font-size: 13px
}

.wait-box h1 {
    font: 26px montserrat, Helvetica, Arial, sans-serif;
    margin: 0 0 10px;
    font-weight: 600;
    padding: 0;
    color: #fff
}

.wait-box h5 {
    color: #fff
}

.wait-box .cycle-text {
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: 700
}

.wait-box .lined {
    font: 18px montserrat, Helvetica, Arial, sans-serif;
    margin: 0 0 10px;
    padding: 0
}

.wait-box .lined::before {
    width: 100px;
    top: 12px
}

.wait-box .lined::after {
    width: 100px;
    top: 12px
}

.error-box {
    width: 100%;
    text-align: center;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 3px;
    padding: 20px;
    font-size: 13px;
    margin: 20px auto
}

.error-box p {
    font-size: 13px;
    margin: 0;
    font-weight: 600
}

.generic.inner {}

.generic.inner h1 {
    font-size: 26px;
    font-weight: 600;
    margin: 20px 0
}

.generic.inner h2 {
    margin: 20px 0
}

.generic.inner h3 {
    margin: 15px 0
}

.generic.inner h4 {
    margin: 10px 0
}

.generic.inner h5 {
    margin: 5px 0
}

.generic.inner h6 {
    margin: 0
}

.generic.inner p b,
.generic.inner p strong {
    font-weight: 700
}

.generic.inner p q {
    font-style: italic
}

.generic.inner hr {
    border: 0;
    background: #f0f0f0;
    height: 2px;
    margin: 20px 0
}

.generic.inner ul {
    margin: 20px;
    list-style: disc
}

.generic.inner ul li {
    list-style: disc
}

.generic.inner ol {
    margin: 20px;
    list-style: lower-roman
}

.generic.inner ol li {
    list-style: decimal
}

.generic.inner ul li ul,
.generic.inner ol li ol {
    margin-top: 0;
    margin-bottom: 0
}

.generic.inner a {
    color: #ffa200
}

.generic.inner a:hover {
    color: #ffbe4d
}

.generic.inner .blue-button,
.generic.inner .blue-button:hover {
    color: #fff
}

.generic.inner img {
    max-width: 100%;
    height: auto
}

.generic.inner .single-post {
    margin: 0 0 60px
}

.generic.inner .single-post:last-child {
    margin: 0
}

.generic.inner a.wpe_excerpt {
    display: block;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 18px
}

.generic.inner blockquote {
    color: #1798a7;
    font-style: italic;
    margin: 0;
    padding: 15px 60px;
    position: relative;
    text-align: left
}

.generic.inner blockquote p {
    margin: 0;
    text-align: left !important
}

.generic.inner blockquote:before {
    font-style: normal;
    content: "\f10d";
    font-family: "font awesome 5 free";
    font-weight: 900;
    position: absolute;
    top: 0;
    left: 0;
    color: #1798a7;
    font-size: 36px
}

.generic.inner blockquote p cite {
    display: block;
    font-size: 14px
}

.generic.inner table {
    width: 100%;
    font-size: 16px;
    margin: 15px 0
}

.generic.inner table th {
    padding: 5px;
    background: #1798a7;
    color: #fff;
    text-align: left
}

.generic.inner table tr td {
    padding: 5px
}

.generic.inner table tr:nth-child(odd) td {
    background: #f1f1f1
}

.generic.inner table tr:nth-child(even) td {
    background: #f9f9f9
}

.generic.inner table tr:hover td {
    background: #e1e1e1
}

.generic.inner table tr:first-child td {
    font-weight: 700;
    border: 0;
    vertical-align: middle
}

.accordion-item {
    margin: 0 auto 10px
}

.accordion-item h3 {
    cursor: pointer;
    background: #1798a7;
    color: #fff;
    font-size: 16px;
    margin: 0 !important;
    padding: 10px;
    position: relative;
    margin: 0;
    transition: background .1s
}

.accordion-item h3.open,
.accordion-item h3:hover {
    background: #2d3b54
}

.accordion-item .accordion-content {
    display: none;
    padding: 10px
}

.accordion-item .accordion-content p {
    margin: 0 0 20px
}

.feature-block {
    height: 377px
}

.feature-block .image {
    height: 100%;
    background-size: cover;
    background-position: center center
}

.feature-block article {
    width: 377px;
    height: 377px;
    background: rgba(0, 0, 0, .4);
    padding: 20px;
    position: relative
}

.feature-block article .site-content {
    color: #fff;
    font-size: 18px;
    font-weight: 700
}

.feature-block article .site-content a {
    color: #fff
}

.feature-block article .site-content a.read-more {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, .4);
    transition: all .1s
}

.feature-block article .site-content a.read-more:hover,
.feature-block:hover .read-more {
    background: rgba(0, 0, 0, .6);
    color: #fff;
    opacity: 1
}

.feature-block article .site-content h1 {
    font-size: 46px;
    line-height: 50px;
    text-transform: uppercase;
    color: #fff
}

.feature-block article .site-content h2 {
    font-size: 42px;
    line-height: 46px;
    text-transform: uppercase;
    color: #fff
}

.feature-block article .site-content h3 {
    font-size: 36px;
    line-height: 40px;
    text-transform: uppercase;
    color: #fff
}

.feature-block article .site-content h4 {
    font-size: 30px;
    line-height: 34px;
    text-transform: uppercase;
    color: #fff
}

.expandable-control {
    cursor: pointer
}

.expandable-content {
    padding: 10px;
    opacity: 0;
    transition: opacity .4s
}

.expandable-content.open {
    opacity: 1
}

.agent-login-form {
    width: 300px;
    margin: 30px auto
}

.form-error {
    background: #f5726b;
    color: #fff;
    padding: 5px 10px;
    border-radius: 3px;
    text-align: center
}

.form-reset {
    background: #1798a7;
    color: #fff;
    padding: 5px 10px;
    border-radius: 3px;
    text-align: center
}

.custom-input {
    border: 1px solid #ccc;
    width: 100%;
    border-radius: 3px;
    padding: 10px;
    font: 18px montserrat, Helvetica, Arial, sans-serif
}

.agent-login-form p {
    margin: 20px 0
}

.agent-login-form a {
    color: #1798a7
}

.profile-container {
    margin: 50px 0;
    display: grid;
    grid-template-columns: .75fr 2fr;
    grid-column-gap: 20px
}

#profile-photo {
    text-align: center
}

#profile-photo p {
    margin: 0
}

#profile-photo .placeholder {
    position: relative
}

#profile-photo .placeholder .delete-photo {
    position: absolute;
    top: -10px;
    right: -10px;
    font-size: 14px;
    color: #fff;
    background: red;
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    cursor: pointer
}

#profile-photo .placeholder:hover .delete-photo {
    display: block
}

#profile-photo .placeholder .image-wrapper {
    display: inline-block;
    position: relative
}

#profile-photo .placeholder img {
    display: flex;
    margin: 0 auto
}

.upload-meta .alert {
    display: none;
    width: 100%
}

#profile-photo button {}

#company-photo {
    text-align: center
}

#company-photo p {
    margin: 0
}

#company-photo .placeholder {
    position: relative
}

#company-photo .placeholder .delete-logo {
    position: absolute;
    top: -10px;
    right: -10px;
    font-size: 14px;
    color: #fff;
    background: red;
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    cursor: pointer
}

#company-photo .placeholder:hover .delete-logo {
    display: block
}

#company-photo .placeholder .image-wrapper {
    display: inline-block;
    position: relative
}

#company-photo .placeholder img {
    display: flex;
    margin: 0 auto
}

#company-photo button {}

#agent-profile-content h1 {
    margin: 0
}

#agent-quotations-content {
    margin-top: 30px
}

#agent-quotations-content h1 {
    margin: 0
}

.agent-profile {}

.agent-profile .row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 20px
}

.agent-profile .row-2 small {
    color: #999;
    font-size: 80%
}

.agent-card {}

.agent-card img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 10px
}

.agent-profile p {
    margin: 0 0 20px
}

.booking-history-overflow {
    max-height: 300px;
    overflow: auto
}

.booking-history {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr
}

.bh-row-head {
    background: #086469;
    color: #fff;
    font-weight: 700;
    padding: 10px
}

.bh-row {
    padding: 10px;
    border-bottom: 1px solid #ccc
}

.booking-history a {
    color: #1798a7
}

.booking-history a.small-btn {
    color: #fff
}

.booking-history-mobile {
    display: none;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 20px
}

.booking-history-mobile .bh-row-head {
    border-bottom: 1px solid #ccc
}

#mobile-navigation-control {
    display: none;
    cursor: pointer
}

#mobile-navigation {
    position: fixed;
    z-index: 100000;
    top: 0;
    height: 100%;
    min-width: 260px;
    right: -100%;
    width: 100%;
    background: #ffa200;
    overflow-y: auto;
    padding: 0 0 20px;
    transition: right .4s
}

#mobile-navigation .close {
    cursor: pointer;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    padding: 25px;
    color: #fff
}

#mobile-navigation.mobile-nav-open {
    right: 0
}

#mobile-navigation ul {
    padding: 15px;
    margin: 0;
    list-style: none
}

#mobile-navigation li {
    position: relative
}

#mobile-navigation ul.sub-menu {
    padding: 0 15px;
    display: none
}

#mobile-navigation a {
    display: block;
    padding: 10px;
    color: #fff
}

#mobile-navigation a:hover,
#mobile-navigation .current-menu-item>a {}

#mobile-navigation .sub-menu-control {
    cursor: pointer;
    position: absolute;
    z-index: 2;
    right: 10px;
    top: 10px;
    color: #fff;
    padding: 20px;
    margin: -20px;
    width: 60px;
    height: 60px;
    text-align: center
}

#mobile-navigation .menu-item-has-children>a:before {
    content: "" !important
}

#mobile-background {
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .75);
    opacity: 0;
    visibility: hidden;
    transition: all .3s
}

#mobile-background.mobile-nav-open,
#mobile-background.open {
    opacity: 1;
    visibility: visible
}

#mobile-background i {
    position: absolute;
    top: 20px;
    right: 10px;
    color: #fff;
    font-size: 18px
}

@media(max-width:1300px) {
    .header-icons {
        flex: 1 0 auto;
        text-align: center
    }
    .header-icons .desktop-logo {
        display: none
    }
    #logo-bar>div:last-child {
        flex-wrap: wrap;
        flex: 0
    }
    #logo-bar>div:last-child p br {
        display: none
    }
    #mailpoet_form_3 {
        display: flex;
        justify-content: flex-end;
        margin-top: 10px
    }
    #mailpoet_form_3 form.mailpoet_form {
        padding: 0 !important
    }
    #mailpoet_form_3 .mailpoet_message {
        display: none
    }
    #mailpoet_form_3 .mailpoet_submit {
        margin-left: 0 !important
    }
}

@media(max-width:992px) {
    #top-bar {
        padding: 10px
    }
    #top-bar p {
        font-size: 10px
    }
    #top-bar>div:first-child {
        display: none
    }
    #top-bar>div:last-child {
        width: 100%
    }
    #top-bar .open-status {
        text-align: center
    }
    #logo-bar>div:last-child {
        display: none
    }
    .header-icons .desktop-logo {
        display: inline-block
    }
    nav {
        display: none
    }
    #mobile-navigation-control {
        display: block
    }
    #footer-links {
        padding: 70px 10px
    }
    section.cf.blue-container {
        padding-left: 10px;
        padding-right: 10px
    }
    form[action='/search/'] {
        display: none;
        opacity: 0
    }
    .start-search {
        display: inline-block !important
    }
    .search-form-btm,
    .search-form-meta,
    .search-form-children {
        flex-direction: column
    }
    .search-form-meta,
    .search-form-selectize,
    .search-form-meta .meta.meta-date,
    .search-form-meta .meta.meta-adults,
    .search-form-meta .meta.meta-children,
    .search-form-meta .meta.meta-duration,
    .search-form-submit,
    .search-form-submit button,
    .search-form-children .meta-children-age {
        width: 100%;
        margin-left: 0;
        margin-right: 0
    }
    #search-form label,
    .search-form-children .meta-children-age {
        display: block;
        margin: 10px 0 0
    }
    body.single-cruises #overview.anchor-scroll,
    body.single-specials #overview.anchor-scroll {
        padding-top: 0
    }
    body.single-cruises #whitelabel-search-form {
        position: relative;
        padding: 30px 0
    }
    .footer-inner {
        width: 100%;
        flex-direction: column;
        align-items: center
    }
    .footer-inner .fg-item {
        margin: 0 0 20px;
        text-align: center
    }
    .content-row {
        flex-direction: column;
        margin: 0
    }
    .content-col {
        width: 100% !important;
        margin: 0 0 10px
    }
    .content-col img {
        width: 100%;
        height: auto
    }
    .pack-grid {
        width: 100%;
        display: block;
        margin: 0;
        font-size: 13px
    }
    .secondary-nav span,
    #progress {
        display: none
    }
    .fifty-grid {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        grid-column-gap: 30px;
        grid-row-gap: 30px
    }
    .cabin-filter-search {
        grid-template-columns: 1fr
    }
    .cabin-filter-search .nice-select {
        margin-bottom: 10px !important
    }
    .sidebar-grid {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr
    }
    .cabins-rooms-container {
        height: 400px
    }
    .cabins-rooms-container .scol {
        text-align: center
    }
    .ship-table {
        width: 100%;
        display: block;
        padding: 10px
    }
    .cabins-table {
        width: 100%;
        display: block;
        padding: 10px
    }
    .sthead {
        display: none
    }
    #cruise-enquiry-popup {
        width: 90%
    }
    #cabin-filters {
        display: block
    }
    #cabin-filters>div {
        flex-direction: column
    }
    #filter_text {
        width: 100%;
        margin-bottom: 10px
    }
}

@media screen and (max-width:720px) {
    .header-icons .desktop-logo {
        display: none
    }
    .mobile-hide {
        display: none
    }
    .result-grid {
        display: block;
        width: 100%
    }
    .pagination .layout,
    .filters [data-sort=best_value],
    .filters [data-sort=most_popular],
    .search-options,
    #search_sorting {}
    .pagination {
        flex-direction: column
    }
    .pagination .layouts {
        display: none
    }
    .filters {
        margin: 10px 0;
        float: left;
        clear: left
    }
    .list-item .list-item-details {
        display: block
    }
    .mobsorter {
        display: block;
        background: #1798a7;
        text-align: center
    }
    .mobsorter .toggler {
        cursor: pointer;
        background: #1798a7;
        color: #fff;
        padding: 5px 15px;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px
    }
    .mobsorter .toggler.actived {
        background: #fff;
        color: unset
    }
    .litepicker.mobilefriendly[data-plugins*=mobilefriendly] {
        z-index: 2000000002 !important
    }
    .result-grid .sidebar {
        position: fixed;
        z-index: 2000000001;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: #fff;
        padding: 60px 20px;
        overflow: scroll;
        transition: left .3s
    }
    .result-grid .sidebar.open {
        left: 0
    }
    .result-grid .sidebar #mobile-filters-header {
        display: flex;
        justify-content: space-between;
        align-items: center
    }
    .result-grid .sidebar .mobile-close {
        display: block;
        text-align: center
    }
    .result-grid .sidebar.open .mobile-close {
        left: 0
    }
    .result-grid .sidebar.open #mobile-filters-header {
        left: 0
    }
    #fab-filters {
        display: flex
    }
}

@media screen and (max-width:520px) {
    #top-bar .open-status a {
        background: #ffa200;
        color: #fff;
        border-radius: 50%;
        font-size: 10px;
        display: inline-block;
        width: 20px;
        height: 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center
    }
    #top-bar .open-status a .desktop {
        display: none
    }
    #top-bar .open-status a i {
        display: inline-block;
        color: #fff
    }
}

#search_container .inner {
    padding: 0
}

.sidebar h5 {
    font-size: 14px !important;
    margin: 0 0 10px !important
}

.filter-widget {
    margin: 0 0 30px
}

#search_container .sidebar .select-container {
    background: #eee;
    width: 60%;
    margin: 0 0 0 10px;
    padding: 0;
    position: relative
}

#search_container .sidebar .select-container i {
    position: absolute;
    right: 10px;
    color: #ccc
}

#search_container .sidebar .select-container-adults {
    margin-bottom: 10px
}

#search_container .sidebar .select-container .nice-select {
    width: 100%;
    height: unset;
    padding: 10px 0 10px 15px;
    background: 0 0;
    border: 0
}

#search_container .sidebar .select-container-adults .nice-select:after,
#search_container .sidebar .select-container-children .nice-select:after {
    display: none
}

"\f0d7" #search_container .sidebar .select-container .nice-select .list {
    background: #fff;
    border-radius: 0
}

#search_container .sidebar .select-container .nice-select .list .option {
    margin: 0;
    padding: 10px;
    min-height: unset;
    height: auto
}

#search_container .sidebar .select-container .nice-select .list .option:before {
    content: "";
    display: none
}

#search_container .sidebar .select-container-children {
    margin-bottom: 10px
}

#search_container .sidebar .select-container-children-age {
    margin-bottom: 10px
}

.package-drops .nice-select .list {
    max-width: unset;
    width: 100% !important
}

#package-summary {
    margin: 0 0 30px;
    font-size: 18px
}

#package-summary h1 {
    font-size: 30px;
    line-height: 30px;
    margin-bottom: 20px
}

#package-summary p {
    margin: 5px 0
}

#package-summary p i {
    margin-right: 10px
}

#package-summary a {
    color: #fff
}

#package-summary a:hover {
    color: #ffa200
}

#package-summary .outbound-flight-meta,
#package-summary .inbound-flight-meta,
#package-summary .hotel-meta {
    display: none
}

.error-message {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100001;
    background: rgba(0, 0, 0, .5);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all .3s
}

.error-message.open {
    opacity: 1;
    visibility: visible
}

.error-message .content {
    padding: 20px;
    background: #fff;
    width: 400px;
    text-align: center;
    margin: 0 auto
}

.error-message h3 {
    position: relative;
    color: #1798a7;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    justify-content: center
}

.error-message h3 i {
    position: absolute;
    right: 10px;
    cursor: pointer
}

.error-message .error-body {
    margin: 0;
    padding: 0
}

#cruise-enquiry {
    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, .5);
    transition: all .3s
}

#cruise-enquiry.open {
    opacity: 1;
    visibility: visible
}

#cruise-enquiry .content {
    background: #fff;
    padding: 20px;
    width: 950px;
    max-height: 90%;
    overflow: auto;
    display: flex;
    align-items: flex-start
}

#cruise-enquiry .cruise-preview {
    position: relative;
    margin: 0 20px 0 0
}

#cruise-enquiry .cruise-preview img {
    display: block;
    width: 500px;
    height: auto
}

#cruise-enquiry .cruise-preview-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, .5);
    color: #fff;
    padding: 10px
}

#cruise-enquiry .cruise-preview-content h3 {
    margin: 0 0 5px
}

#cruise-enquiry .cruise-preview-content p {
    margin: 0
}

#cruise-enquiry p.description {
    color: #1798a7;
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 20px
}

#cruise-enquiry p.close {
    cursor: pointer;
    color: #ccc;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 20px;
    transition: color .3s
}

#cruise-enquiry p.close:hover {
    color: #666
}

#cruise-enquiry .frm_screen_reader,
#cruise-enquiry .frm_verify,
#cruise-enquiry .frm_primary_label,
#cruise-enquiry .frm_error,
#cruise-enquiry .frm_error_style {
    display: none
}

#cruise-enquiry .frm_form_field {
    width: 100%;
    margin: 0 0 10px
}

#cruise-enquiry .frm_form_field input {
    width: 100%;
    border: 0;
    border-radius: 6px;
    padding: 15px;
    border: 1px solid #ccc;
    background: #ccc
}

#cruise-enquiry .frm_blank_field input {
    border-color: #f6716b
}

#cruise-enquiry .frm_two_col {
    display: flex;
    align-items: center;
    justify-content: space-between
}

#cruise-enquiry .frm_two_col .frm_form_field {
    width: 49%
}

#cruise-enquiry .frm_submit {
    text-align: center;
    margin: 30px 0 0
}

#cruise-enquiry .frm_submit button {
    margin: 0
}

#book-now {
    color: #fff
}

#lead-in-prices {
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin: 20px 0
}

#lead-in-prices div {
    width: 100%;
    background: #1798a7;
    color: #fff;
    font-size: 13px;
    height: 75px;
    text-align: center;
    margin: 0 1px
}

#lead-in-prices div:first-child {
    margin-left: 0;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px
}

#lead-in-prices div:last-child {
    margin-right: 0;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px
}

#lead-in-prices label {
    height: 100%;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

#lead-in-prices label input {
    display: none
}

#lead-in-prices label p,
#lead-in-prices label span {
    margin: 0
}

#lead-in-prices label .sprice span:first-child {
    display: block
}

#lead-in-prices label .sprice span:last-child {
    display: none
}

#lead-in-prices label i {
    color: #1798a7
}

#lead-in-prices .active {
    background: #fff;
    color: #1798a7
}

#lead-in-prices .active label .sprice span:first-child {
    display: none
}

#lead-in-prices .active label .sprice span:last-child {
    display: block
}

#lead-in-prices .active label i {
    color: #ffb533
}

#package-bar {
    position: fixed;
    z-index: 5;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #1798a7;
    color: #fff;
    display: none;
    border-top: 2px solid #fff
}

#package-bar ul {
    width: 100%;
    display: flex;
    justify-content: center
}

#package-bar li {
    flex: 1 0 auto;
    padding: 10px 0;
    font-size: 14px;
    line-height: 20px
}

#package-bar span {
    font-size: 10px
}

#package-bar strong {}

#package-bar .quote {
    width: 150px;
    padding: 0 20px;
    border-right: 5px solid #1798a7;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background: #ffa200;
    font-size: 14px;
    transition: background .3s
}

#package-bar .quote span {
    font-size: 14px;
    line-height: 16px;
    display: block;
    margin-right: 10px
}

#package-bar .quote small {
    font-size: 10px
}

#package-bar .quote i {
    margin-left: 5px
}

#package-bar .quote:hover {
    background: #f90
}

#package-bar .book {
    width: 250px;
    padding: 0 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background: #ffa200;
    font-size: 18px;
    transition: background .3s
}

#package-bar .book span {
    font-size: 18px;
    line-height: 16px;
    display: block;
    margin-right: 20px
}

#package-bar .book small {
    font-size: 10px
}

#package-bar .book i {
    margin-left: 5px
}

#package-bar .book:hover {
    background: #f90
}

#filter_text {
    background: #eee;
    border: 0;
    padding: 10px 10px 10px 20px;
    font-family: montserrat;
    font-size: 14px;
    border-radius: 3px;
    margin: 0 20px 0 0
}

#cabin-selector .form-grid-two {
    margin-top: 0
}

#cabin-filters {
    width: 100%
}

#cabin-filters>div {
    display: flex
}

#cabin-filters label {
    font-size: 18px;
    font-weight: 600;
    color: #1798a7
}

#cabin-filters .nice-select {
    min-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 30px
}

#cabin-filters .nice-select.open {
    overflow: visible
}

#cruise-cabins-selector {}

#cruise-cabins-selector .deckplan-container {
    flex: 1 0 auto;
    width: 450px;
    height: 450px;
    overflow: auto;
    margin: 0 15px 0 0;
    padding: 0 13px 0 0;
    text-align: center
}

#cruise-cabins-selector .table-container {
    flex: 1 1 auto;
    width: 100%
}

#cruise-cabins-selector .table-container {
    position: relative;
    display: block;
    width: 100%;
    max-height: 450px;
    overflow-y: auto;
    padding: 0 4px
}

#cruise-cabins-selector table {
    margin: 0;
    width: 100%
}

#cruise-cabins-selector table th,
#cruise-cabins-selector table td {
    padding: 15px
}

#cruise-cabins-selector table th {
    color: #fff;
    text-align: left
}

#cruise-cabins-selector table th.text-center {
    text-align: center
}

#cruise-cabins-selector table td {
    padding: 15px;
    position: relative;
    z-index: 1
}

#cruise-cabins-selector thead tr {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #2d3b54
}

#cruise-cabins-selector tbody tr {
    cursor: pointer
}

#cruise-cabins-selector tbody tr:nth-child(2n) {
    background: #efefef
}

#cruise-cabins-selector .grade-active {
    display: table-row;
    position: relative
}

#cruise-cabins-selector .grade-active td:first-child {
    border-left: 2px solid #f6716b
}

#cruise-cabins-selector td {
    border-top: 2px solid transparent;
    border-bottom: 0
}

#cruise-cabins-selector .grade-active td {
    border-top: 2px solid #f6716b;
    border-bottom: 2px solid #f6716b
}

#cruise-cabins-selector .grade-active td:last-child {
    border-right: 2px solid #f6716b
}

#cruise-cabins-selector .tagspan {
    opacity: .8;
    position: relative;
    z-index: 1;
    display: block;
    margin: 0 0 1px;
    padding: 5px;
    color: #fff;
    border-radius: 6px;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 700;
    transition: opacity .2s
}

#cruise-cabins-selector .tagspan.active {
    opacity: 1
}

#cruise-cabins-selector .grade-inactive .tagspan,
#cruise-cabins-selector .grade-active .tagspan.active {
    opacity: 1
}

#cruise-cabins-selector .grade-active .tagspan {
    opacity: .5
}

#cruise-cabins-selector .step,
span.transfer-select {
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 10px;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
    line-height: 14px;
    width: 120px;
    height: 35px
}

#cruise-cabins-selector .step-1,
span.transfer-select {
    text-align: center;
    background: #1798a7
}

span.transfer-select {
    font-size: 12px
}

span.transfer-select.selected {
    background-color: #f6716b
}

#cruise-cabins-selector .step-2 {
    display: none;
    background: #f6716b
}

#cruise-cabins-selector .step-loading {
    display: none;
    background: #f6716b
}

#cruise-cabins-selector .grade-active .step-1 {
    display: none
}

#cruise-cabins-selector .grade-active .step-2 {
    display: inline-block
}

#cruise-cabins-selector .grade-loading .step-1,
#cruise-cabins-selector .grade-loading .step-2 {
    display: none
}

#cruise-cabins-selector .grade-loading .step-loading {
    display: inline-block
}

#cruise-cabins-selector .cabin-active {
    display: table-row;
    position: relative
}

#cruise-cabins-selector .cabin-active td:first-child {
    border-left: 2px solid #f6716b
}

#cruise-cabins-selector .cabin-active td {
    border-top: 2px solid #f6716b;
    border-bottom: 2px solid #f6716b
}

#cruise-cabins-selector .cabin-active td:last-child {
    border-right: 2px solid #f6716b
}

#cruise-cabins-selector .cabin-active .step-1 {
    display: none
}

#cruise-cabins-selector .cabin-active .step-2 {
    display: inline-block
}

#cruise-cabins-selector .cabin-loading .step-1,
#cruise-cabins-selector .cabin-loading .step-2 {
    display: none
}

#cruise-cabins-selector .cabin-loading .step-loading {
    display: inline-block
}

#cruise-cabins-selector .occupancy-icons i {
    margin: 0 -5px
}

#cruise-cabins-selector .fa-child {
    transform: scale(.8)
}

.cabin-info {
    display: flex;
    align-items: flex-start
}

.cabin-image {
    height: 250px;
    width: 450px;
    margin-right: 20px;
    display: flex;
    align-items: center;
    justify-content: center
}

.cabin-image.has-diagram {
    width: 600px
}

.image-container {
    width: 100%
}

.cabin-image img {
    max-height: 250px;
    width: auto
}

.cabin-description {
    flex: 1
}

.cabin-description p {
    margin: 0 0 15px
}

.deckplan-container {
    position: relative
}

.deckplan-container img {
    position: absolute;
    top: 0;
    left: 0
}

.deckplan-container .svg {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%
}

.deckplan-container .svg .rect {
    cursor: pointer;
    position: absolute;
    z-index: 3;
    border: 5px solid #cd1b27;
    opacity: 1;
    transition: opacity 1.5s;
    animation: cabin-highlighter 1.5s infinite
}

.deckplan-container .svg .rect.additional {
    border-color: #ffa200
}

#back-to-cabins {
    display: none;
    margin: 20px 0 0 465px
}

#back-to-cabins span {
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 10px;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
    line-height: 14px;
    height: 35px;
    background: #1798a7;
    cursor: pointer;
    transition: background .3s
}

#back-to-cabins span:hover {
    background: #2d3b54
}

#show-deckplan {
    display: none;
    margin: 20px 0 0;
    text-align: right
}

#show-deckplan span {
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 10px;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
    line-height: 14px;
    height: 35px;
    background: #1798a7;
    cursor: pointer;
    transition: background .3s
}

#show-deckplan span:hover {
    background: #2d3b54
}

section#flights .inner {
    padding-left: 0;
    padding-right: 0
}

.package-container {
    background: #fff;
    padding: 20px !important;
    margin-bottom: 50px
}

.package-drops .airport-filter-item p {
    margin: 0 0 5px
}

#flights-filters {
    margin: 0 0 20px
}

#flights-filters .airport-filter-item {
    display: flex;
    align-items: center;
    margin-left: 30px
}

#flights-filters .airport-filter-item p {
    margin: 0
}

#flights-filters .airport-filter-item label {
    cursor: pointer
}

#flights-filters .airport-filter-item .nice-select {
    border: 0;
    background: #eee;
    line-height: inherit !important;
    padding: 5px 30px 5px 20px;
    border-radius: 3px;
    width: 100px;
    display: inline-block;
    margin: 0 0 0 20px;
    min-width: 200px
}

#package-flights {
    position: relative;
    z-index: 1
}

#flights-populator {
    max-height: 450px;
    overflow-y: auto
}

#flights-selector {
    width: 100%;
    margin: 0
}

#flights-selector th,
#flights-selector td {
    padding: 10px
}

#flights-selector th {
    background: #2d3b54;
    color: #fff;
    text-align: left
}

#flights-selector th.text-center {
    text-align: center
}

#flights-selector td {
    vertical-align: middle;
    padding: 10px;
    position: relative;
    z-index: 1;
    background: 0 0
}

#flights-selector thead tr {
    position: sticky;
    top: 0;
    z-index: 2
}

#flights-selector tbody {
    background: var(--lightblue)
}

#flights-selector tbody td {
    vertical-align: middle;
    padding: 10px;
    max-width: 150px
}

#flights-selector tbody td p {
    margin: 0 0 10px
}

#flights-selector tbody td span .fas {
    margin-right: 10px;
    font-size: 18px;
    color: #1798a7
}

#flights-selector tbody tr {
    cursor: pointer;
    z-index: 1;
    position: relative
}

#flights-selector tbody tr:nth-child(2n) {
    background: #efefef
}

#flights-selector .flight-active {
    display: table-row;
    position: relative
}

#flights-selector .flight-active:after {
    z-index: 0;
    content: "";
    border: 2px solid #cd1b27;
    position: absolute;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    top: 0;
    left: 0
}

#flights-selector .step {
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 10px;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
    line-height: 14px;
    width: 145px;
    height: 35px
}

#flights-selector .step-1 {
    text-align: center;
    background: #1798a7
}

#flights-selector .step-2 {
    display: none;
    background: #cd1b27
}

#flights-selector .flight-active .step-1 {
    display: none
}

#flights-selector .flight-active .step-2 {
    display: inline-block
}

#flights-selector .mob-title {
    width: 50%;
    background: #2d3b54;
    color: #fff;
    margin-right: 10px
}

.flight-info {
    position: relative;
    z-index: 1;
    cursor: pointer;
    background: var(--midblue);
    color: #fff;
    display: inline-flex;
    border-radius: 3px;
    width: 35px;
    height: 35px;
    align-items: center;
    justify-content: center
}

section#hotels {}

section#hotels .inner {
    padding-left: 0;
    padding-right: 0
}

#hotels-populator .table-container {
    flex: 1 1 auto;
    position: relative;
    display: block;
    width: 100%;
    max-height: 450px;
    overflow-y: auto
}

#hotels-selector {
    width: 100%;
    margin: 0
}

#hotels-selector th,
#hotels-selector td {
    padding: 15px
}

#hotels-selector th {
    background: #2d3b54;
    color: #fff;
    text-align: left
}

#hotels-selector th.text-center {
    text-align: center
}

#hotels-selector td {
    vertical-align: middle;
    padding: 15px;
    position: relative;
    z-index: 1;
    background: 0 0
}

#hotels-selector thead tr {
    position: sticky;
    top: 0;
    z-index: 2
}

#hotels-selector tbody {
    background: var(--lightblue)
}

#hotels-selector img {
    width: 50px;
    height: 50px;
    border-radius: 50%
}

#hotels-selector tbody tr {
    cursor: pointer;
    z-index: 1;
    position: relative
}

#hotels-selector tbody tr:nth-child(2n) {
    background: #efefef
}

#hotels-selector .hotel-active {
    display: table-row;
    position: relative
}

#hotels-selector .hotel-active:after {
    z-index: 0;
    content: "";
    border: 2px solid #cd1b27;
    position: absolute;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    top: 0;
    left: 0
}

#hotels-selector tbody tr td:first-child {
    width: 80px
}

#hotels-selector .step {
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 10px;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
    line-height: 14px;
    width: 145px;
    height: 35px
}

#hotels-selector .step-1 {
    text-align: center;
    background: #1798a7
}

#hotels-selector .step-2 {
    display: none;
    background: #cd1b27
}

#hotels-selector .step-loading {
    display: none;
    background: #cd1b27
}

#hotels-selector .hotel-active .step-1 {
    display: none
}

#hotels-selector .hotel-active .step-2 {
    display: inline-block
}

#hotels-selector .hotel-loading .step-1,
#hotels-selector .hotel-loading .step-2 {
    display: none
}

#hotels-selector .hotel-loading .step-loading {
    display: inline-block
}

#hotels-selector .rating {
    color: #ffa200
}

#hotels-selector .far.fa-star {
    display: none
}

#back-to-hotels {
    display: none;
    margin: 30px 0 0;
    cursor: pointer
}

#rooms-selector {
    width: 100%;
    margin: 0
}

#rooms-selector th,
#rooms-selector td {
    padding: 15px
}

#rooms-selector th {
    background: #2d3b54;
    color: #fff;
    text-align: left
}

#rooms-selector th.text-center {
    text-align: center
}

#rooms-selector td {
    vertical-align: middle;
    padding: 15px;
    position: relative;
    z-index: 1;
    background: 0 0
}

#rooms-selector thead tr {
    position: sticky;
    top: 0;
    z-index: 2
}

#rooms-selector tbody {
    background: var(--lightblue)
}

#rooms-selector img {
    width: 50px;
    height: 50px;
    border-radius: 50%
}

#rooms-selector tbody tr {
    cursor: pointer;
    z-index: 1;
    position: relative
}

#rooms-selector .room-active {
    display: table-row;
    position: relative
}

#rooms-selector .room-active:after {
    z-index: 0;
    content: "";
    border: 2px solid #cd1b27;
    position: absolute;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    top: 0;
    left: 0
}

#rooms-selector .step {
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 10px;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
    line-height: 14px;
    width: 145px;
    height: 35px
}

#rooms-selector .step-1 {
    text-align: center;
    background: #1798a7
}

#rooms-selector .step-2 {
    display: none;
    background: #cd1b27
}

#rooms-selector .step-loading {
    display: none;
    background: #cd1b27
}

#rooms-selector .room-active .step-1 {
    display: none
}

#rooms-selector .room-active .step-2 {
    display: inline-block
}

#rooms-selector .room-loading .step-1,
#rooms-selector .room-loading .step-2 {
    display: none
}

#rooms-selector .room-loading .step-loading {
    display: inline-block
}

.hotel-item {
    position: relative
}

.hotel-active:after {
    z-index: 0;
    content: "";
    border: 2px solid #cd1b27;
    position: absolute;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    top: 0;
    left: 0
}

.hotel-item .meta {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.hotel-info {
    position: relative;
    z-index: 1;
    cursor: pointer;
    background: var(--midblue);
    color: #fff;
    display: inline-flex;
    border-radius: 3px;
    width: 35px;
    height: 35px;
    align-items: center;
    justify-content: center
}

.hotel-info-container {
    display: flex;
    align-items: flex-start;
    margin: 0 0 30px
}

.hotel-info-container .hotel-image {
    flex: unset;
    height: 250px;
    width: 450px;
    margin-right: 20px;
    display: flex;
    align-items: center;
    justify-content: center
}

.hotel-info-container .hotel-image img {
    height: 100%;
    width: auto
}

.hotel-info-container .hotel-description {
    flex: 1;
    height: 100%;
    max-height: 300px;
    overflow: auto
}

section#transfers {}

section#transfers .inner {
    padding-left: 0;
    padding-right: 0
}

#vehicle-filters {
    width: 100%;
    margin: 0 0 20px
}

#vehicle-filters label {}

#vehicle-filters .nice-select {
    min-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis
}

#vehicle-filters .nice-select.open {
    overflow: visible
}

#vehicle-filters .nice-select {
    border: 0;
    background: #eee;
    line-height: inherit !important;
    padding: 5px 30px 5px 20px;
    border-radius: 3px;
    width: 100px;
    display: inline-block;
    margin: 0 0 0 20px;
    min-width: 200px
}

#transfers-populator .table-container {
    position: relative;
    display: block;
    width: 100%;
    max-height: 450px;
    overflow-y: auto;
    padding: 0 4px
}

#transfers-selector {
    margin: 0;
    width: 100%
}

#transfers-selector th,
#transfers-selector td {
    padding: 15px
}

#transfers-selector th {
    color: #fff;
    text-align: left
}

#transfers-selector th.text-center {
    text-align: center
}

#transfers-selector td {
    padding: 15px;
    position: relative;
    z-index: 1
}

#transfers-selector thead tr {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #2d3b54
}

#transfers-selector tbody tr {
    cursor: pointer;
    backgru
}

#transfers-selector tbody tr:nth-child(2n) {
    background: #efefef
}

#transfers-selector .transfer-active {
    display: table-row;
    position: relative
}

#transfers-selector .transfer-active td:first-child {
    border-left: 2px solid #f6716b
}

#transfers-selector td {
    border-top: 2px solid transparent;
    border-bottom: 0
}

#transfers-selector .transfer-active td {
    border-top: 2px solid #f6716b;
    border-bottom: 2px solid #f6716b
}

#transfers-selector .transfer-active td:last-child {
    border-right: 2px solid #f6716b
}

@media(max-width:992px) {
    #cruise-cabins-selector,
    .cabin-info,
    .form-grid-two {
        flex-direction: column
    }
    #cruise-cabins-selector .deckplan-container {
        width: 100%;
        margin: 0;
        padding: 0
    }
    .form-grid-two label {
        display: none
    }
    #cabin-filters .nice-select {
        width: 100%;
        margin: 0 0 10px
    }
    .mob-hide {
        display: none !important
    }
    #cruise-cabins-selector table td {
        padding: 5px;
        font-size: 12px
    }
    #cruise-cabins-selector .step {
        font-size: 12px;
        width: 100px
    }
    #back-to-cabins {
        margin-left: 0
    }
}

@media(max-width:520px) {
    #cruise-cabins-selector,
    .cabin-info,
    .form-grid-two {
        flex-direction: column
    }
    #cruise-cabins-selector .deckplan-container {
        width: 100%;
        margin: 0;
        padding: 0
    }
    .form-grid-two label {
        display: none
    }
    #cabin-filters .nice-select {
        width: 100%;
        margin: 0 0 10px
    }
    .mob-hide {
        display: none !important
    }
    #cruise-cabins-selector table th,
    #cruise-cabins-selector table td {
        padding: 5px;
        font-size: 10px
    }
    #cruise-cabins-selector .step {
        font-size: 10px;
        width: 85px
    }
    #back-to-cabins {
        margin-left: 0
    }
    #itinerary-list {
        font-size: 10px
    }
    .cabin-buttons {
        flex-direction: column
    }
    .cabin-buttons span {
        margin: 10px 0 0 !important;
        width: 100%
    }
    .cabin-image {
        width: 100%
    }
    .althead {
        padding: 0
    }
    .lt-col {
        padding: 5px
    }
    .alt-table {
        font-size: 10px
    }
    .cabin-image.has-diagram {
        width: unset
    }
    #vehicle-filters {
        flex-direction: column;
        align-items: flex-start
    }
    #vehicle-filters .nice-select {
        margin-left: 0;
        width: 100%
    }
}

.payment-error {
    background: #f5726b;
    padding: 20px;
    margin: 0 0 20px;
    border-radius: 6px
}

.payment-error h1 {
    margin: 0 0 10px !important;
    color: #fff !important;
    line-height: 28px
}

.payment-error p {
    margin: 0;
    color: #fff !important
}

.passenger-payment-info {
    background: #eee;
    padding: 20px;
    margin: 0 0 20px;
    border-radius: 6px
}

.passenger-payment-info h1 {
    margin: 0 0 10px !important;
    color: #49515c !important;
    line-height: 28px
}

.passenger-payment-info h2 {
    margin: 0 0 10px !important;
    color: #49515c !important;
    line-height: 20px
}

.passenger-payment-info h3 {
    margin: 0 0 10px !important;
    color: #49515c !important;
    line-height: 16px
}

.passenger-payment-info p {
    margin: 0;
    color: #49515c !important
}

#booking-process {
    margin: 0
}

#booking-process .inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between
}

#booking-main a {
    color: #1798a7
}

#booking-main a:hover {
    color: #2d3b54
}

#booking-main {
    width: 69%;
    background: #fff;
    border-radius: 6px;
    padding: 20px
}

#booking-main h1 {
    font-size: 28px;
    font-weight: 700;
    color: #1798a7;
    margin: 0 0 30px
}

#booking-main h1 strong {
    color: #1798a7
}

#booking-main h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1798a7;
    margin: 0 0 15px
}

#booking-main h3 {
    font-size: 16px;
    font-weight: 700;
    color: #1798a7;
    margin: 10px 0 0
}

#booking-main h3 small {
    color: #49515c;
    font-weight: 400
}

#booking-main .errors {
    display: none;
    border: 1px solid #f6716b;
    background-color: rgba(227, 59, 39, .25);
    padding: 10px;
    margin-bottom: 20px;
    border-radius: 4px
}

#booking-main .errors i {
    color: #f6716b
}

#booking-main .passenger-details {
    margin: 0
}

#booking-main .input-row {
    display: grid;
    grid-column-gap: 10px
}

#booking-main .input-row.col-1-2-2 {
    grid-template-columns: .5fr 1.5fr 2fr
}

#booking-main .input-row.col-2-2 {
    grid-template-columns: 2fr 2fr
}

#booking-main .input-row.col-2-1 {
    grid-template-columns: 2fr 1fr 1fr
}

#booking-main .input-row.col-1 {
    grid-template-columns: 1fr
}

#booking-main .input-row .input {
    margin: 15px 0
}

#booking-main .input-row label {
    cursor: pointer;
    display: block;
    font-weight: 700;
    color: #1798a7;
    margin: 0 0 5px
}

#booking-main .input-row input,
#booking-main .input-row select,
#booking-main .input-row textarea {
    background: #eee;
    border: 1px solid #eee;
    padding: 10px;
    border-radius: 4px;
    font-family: open sans, -apple-system, BlinkMacSystemFont, segoe ui, Roboto, helvetica neue, Arial, noto sans, sans-serif, apple color emoji, segoe ui emoji, segoe ui symbol, noto color emoji;
    font-size: 16px;
    color: #49515c;
    width: 100%
}

#booking-main .input-row textarea {
    height: 200px
}

#booking-main .input-row input.error,
#booking-main .input-row select.error {
    border-color: #f6716b;
    background-color: rgba(227, 59, 39, .25)
}

#booking-main label.checkbox,
#booking-main label.radio {
    cursor: pointer;
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

#booking-main label.checkbox.error,
#booking-main label.radio.error {
    border-left: 4px solid #f6716b;
    padding-left: 10px
}

#booking-main label.radio:before {
    content: "\f111";
    font-family: "font awesome 5 free";
    margin-right: 10px;
    font-size: 18px;
    color: #979797;
    transition: color .2s
}

#booking-main label.radio.checked:before {
    content: "\f058";
    font-weight: 700;
    color: #1798a7
}

#booking-main label.checkbox:hover:before,
#booking-main label.radio:hover:before {
    color: #1798a7
}

#booking-main label.checkbox:before {
    content: "\f0c8";
    font-family: "font awesome 5 free";
    margin-right: 10px;
    font-size: 18px;
    color: #979797;
    transition: color .2s
}

#booking-main label.checkbox.checked:before {
    content: "\f14a";
    font-weight: 700;
    color: #1798a7
}

.input.error:after,
.radio-group.error:after,
label.checkbox.error:after {
    content: attr(data-error-label);
    font-size: 14px;
    font-weight: 700;
    color: #f6716b
}

#booking-main .booking-condition {
    margin: 0 0 40px
}

#booking-main .booking-condition label strong {
    color: #1798a7
}

#discount-form {
    margin: 0 0 30px
}

#discount-form button {
    height: unset !important
}

.previous-button,
.next-button,
#discount-form button {
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 10px;
    border: 0;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
    line-height: 14px;
    width: 120px;
    height: 35px;
    color: #fff !important;
    cursor: pointer;
    transition: background .2s
}

.previous-button,
#discount-form button {
    background: #1798a7
}

.previous-button:hover,
#discount-form button:hover {
    background: #2d3b54
}

.next-button {
    background: #ffb533
}

.next-button:hover {
    background: #ffa200
}

.error-labels {
    display: none;
    margin: 30px 0 0;
    color: #f6716b;
    font-style: italic
}

.error-labels li {
    margin: 0 0 5px
}

#booking-main .buttons {
    margin: 0
}

#booking-main .buttons .button {
    min-width: 200px
}

#booking-main .buttons .button:first-child {
    margin-right: 20px
}

#booking-main iframe {
    width: 100%;
    height: 1300px
}

.complete-summary {
    margin: 0 0 1rem
}

.complete-summary h4 {
    font-size: 16px;
    text-decoration: underline;
    font-weight: 700;
    margin: 0 0 1rem
}

.complete-summary p {
    margin: 0
}

#custom-booking-side {
    width: 29%;
    overflow: hidden;
    position: sticky;
    top: 20px
}

#custom-booking-side .agent-info {
    margin: 0
}

#booking-side {
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 20px
}

#booking-side h3 {
    color: #1798a7;
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
    padding: 0;
    margin: 0 0 15px
}

#booking-side h4 {
    background: #1798a7;
    color: #fff;
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
    padding: 10px 20px;
    margin: 0
}

#booking-side h5 {
    color: #1798a7;
    font-size: 28px;
    line-height: 28px;
    font-weight: 700;
    padding: 0;
    margin: 0
}

#booking-side .content {
    color: #333;
    margin-top: 0;
    padding: 20px
}

#booking-side hr {
    height: 2px;
    border: 0;
    margin: 20px 0;
    padding: 0;
    background: #cfedf0
}

#booking-side .content p {
    margin: 0 0 10px
}

#booking-side .price-item {
    margin: 0 0 15px
}

#booking-side .price-item:last-child {
    margin-bottom: 0
}

#booking-side .price-item p {
    font-size: 16px
}

#booking-side p.extra {
    cursor: pointer;
    margin: 10px 0 0
}

#booking-side .extra label {
    cursor: pointer
}

#booking-side .extra label input {
    display: none
}

#booking-side .extra label:before {
    content: "\f0c8";
    font-family: "font awesome 5 free";
    font-size: 16px;
    font-weight: 400
}

#booking-side .extra label.active:before {
    content: "\f14a";
    font-weight: 900;
    color: #ffa200
}

.booking-condition label.radio input,
.booking-condition label.checkbox input {
    visibility: hidden
}

@media all and (max-width:1024px) {
    #booking-process .inner {
        flex-direction: column
    }
    #booking-main {
        width: 100%
    }
    #booking-side {
        position: relative;
        top: 0;
        width: 100%;
        margin: 0 0 30px
    }
    #cruise-cabins-selector,
    #flights-selector,
    #hotels-selector {
        flex-direction: column-reverse
    }
    #cruise-cabins-selector .deckplan-container {
        width: 100%;
        margin: 40px 0 0;
        padding: 0
    }
    #hotels-selector tbody tr td:first-child {
        width: 100%
    }
}

@media all and (max-width:768px) {
    #booking-process .inner {}
    #booking-main {
        width: 100%
    }
    #booking-main .input-row {
        display: block
    }
    #booking-main .buttons {
        display: flex;
        flex-direction: column-reverse
    }
    #booking-main .buttons .button {
        width: 100%;
        display: flex;
        flex-direction: column
    }
    #booking-main .buttons .button:first-child {
        margin: 0
    }
    #booking-main .buttons .button:last-child {
        margin: 0 0 20px
    }
    #booking-main label.checkbox,
    #booking-main label.radio {
        flex-wrap: nowrap;
        align-items: flex-start;
        margin: 0 0 10px
    }
    #booking-main iframe {
        height: 1400px
    }
    #booking-side {}
    #custom-booking-side {
        width: 100%;
        position: relative
    }
    #grade-selector-top .flex {
        flex-direction: column
    }
    #cabin-filters {
        border-right: 0;
        margin: 0;
        padding: 0
    }
    #cabin-filters .flex {
        flex-direction: column
    }
    .cabin-filter-container label {
        width: 150px
    }
    .cabin-filter-container select {
        width: 100%
    }
    #package-bar .inner {
        padding: 0
    }
    #package-bar ul {
        display: none
    }
    #package-bar .book {
        width: 100%;
        padding: 10px 0
    }
    #flights-selector thead {
        display: none
    }
    #flights-selector tbody tr {
        padding: 20px
    }
    #flights-selector tbody td p {
        display: flex;
        align-items: center
    }
    #flights-selector .mob-title {
        display: block
    }
    #flights-selector .step {
        width: 100%
    }
}

@media screen and (max-width:750px) {
    .result-grid .sidebar {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: #fff;
        z-index: 999999999;
        padding: 20px 20px 60px;
        overflow: scroll;
        transition: left .3s
    }
    .result-grid .sidebar.open {
        left: 0
    }
    .result-grid .sidebar .mobile-close {
        display: flex;
        justify-content: space-between;
        align-items: center
    }
    .result-grid .sidebar.open .mobile-close {
        left: 0
    }
    #fab-filters {
        display: flex
    }
}

@media screen and (max-width:700px) {
    .cabin-info,
    #cabin-filters .flex {
        flex-direction: column
    }
    .page-number {
        display: none
    }
    #cruise-cabins-selector .deckplan-container {
        height: 0;
        margin: 0;
        transition: height .2s
    }
    #cruise-cabins-selector .deckplan-container.open {
        height: 450px
    }
    #show-deckplan {
        display: block
    }
}