/* ------------------- */
/* STYLESHEET SECTIONS */
/* ------------------- */
/* 1__CSS Resets
   2__Layout helpers
   3__Header
   4__Main content
   5__Footer
   6__Typo3 Overrides
   7__Bootstrap overrides
   8__Media queries
*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,600;0,700;1,400&display=swap');

:root {
    --colour-orange: #f5811c;
    --colour-orange-darker: #cc6b18;
    --colour-orange-lighter: #ff9e5f;
    --colour-orange-lighter2: #ff9e5f;
    --colour-blue-navy: #00508f;
    --colour-blue-navy-lighter: #005faa;
    --colour-blue-sky: #008cd7;
    --colour-blue-sky-darker: #007fc3;
    --colour-grey-light: #f2f2f2;
    --colour-black: #000;
    --asr-50: 50%;
    --asr-75: 75%;
    --asr-100: 100%;
}

/* ------------------------ */
/* 1__CSS Resets            */
/* ------------------------ */
/* Limited CSS reset */
/* See normalize-4.1.1.css */

html, body, button, input, select, textarea {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
}

html {
    height: 100%;
    font-size: 18px; /* This is the base size the rem unit refers to */
}

body {
    position: relative;
    font-size: 1rem;
    min-height: 100%;
    margin: 0;
    padding: 0;
    color: var(--colour-black);
}

/* ------------------ */
/* 2__Layout helpers  */
/* ------------------ */
.visibility {
    visibility: visible;
}

.constrain-780w {
    position: relative;
    max-width: 780px;
    margin: 0 auto;
}

.constrain-1000w {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
}

.constrain-1240w {
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
}

.mobile-only-block,
.mobile-only-inline {
    display: none;
}

.desktop-only-block {
    display: block;
}

.desktop-only-inline {
    display: inline-block;
}

/* START object-fit:cover Fix for IE & IE Edge */
/* Note, requires JS to write the "compat-object-fit class to appropriate container element */
.compat-object-fit {
    background-size: cover;
    background-position: center center;
}

.compat-object-fit-x-left {
    background-size: cover;
    background-position-x: left;
}

.compat-object-fit-x-center {
    background-size: cover;
    background-position-x: center;
}

.compat-object-fit-x-right {
    background-size: cover;
    background-position-x: right;
}

.compat-object-fit-y-top {
    background-size: cover;
    background-position-y: top;
}

.compat-object-fit-y-center {
    background-size: cover;
    background-position-y: center;
}

.compat-object-fit-y-bottom {
    background-size: cover;
    background-position-y: bottom;
}

.frame-inline-block {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
}

/* Hide the image if object fit is not supported in IE/Edge - opacity to 0 for the link area */
.compat-object-fit img {
    opacity: 0;
}

.u-embed__item {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    border: 0;
}

.u-ofc {
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
}

.flex-order-1 {
    order: 1;
}

.flex-order-2 {
    order: 2;
}

.flex-order-3 {
    order: 3;
}

.flex-order-4 {
    order: 4;
}

/* Responsive container for 16:9 video clips (eg Youtube). The video iframe should be a child of a div with a class of
  "video-container-16-9". If creating such a container is not possible because you don't have access to the HTML eg in
  a CMS content element, you can call the ICIT responsifyYoutubeClips() JavaScript function to do it programmatically.
*/
.video-container-16-9 {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.video-container-16-9 iframe,
.video-container-16-9 object,
.video-container-16-9 embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ------------------------ */
/* 3__Header styles         */
/* ------------------------ */
#top-header {
    position: fixed;
    padding-right: 15px;
    width: 100%;
    top: 0;
    z-index: 1001;
    background-color: rgba(255, 255, 255, 0);
    transition: all .4s;
}

body.show-alt-header #top-header {
    background-color: rgba(255, 255, 255, 1);
    -webkit-box-shadow: 0 0 3px 2px rgba(0, 0, 0, .25);
    -moz-box-shadow: 0 0 3px 2px rgba(0, 0, 0, .25);
    box-shadow: 0 0 3px 2px rgba(0, 0, 0, .25);
}

#top-header .header-row-2 {
    padding: 35px 0 0;
}

#top-header .header-row-2 .nav-main {
    display: flex !important;
    align-items: center;
}

#top-header .header-row-2-grid {
    display: grid;
    grid-template-columns: 240px 1fr 170px;
    grid-template-areas: "header-logo-box header-menu-box header-cta-box";
    grid-column-gap: 20px;
}

#top-header .header-row-2-grid .header-logo-box {
    grid-area: header-logo-box;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 100;
}

#top-header .header-row-2-grid .header-phone-icon-box {
    grid-area: header-phone-icon-box;
    /*display: flex;*/
    align-items: center;
    justify-content: flex-end;
    position: relative;
    z-index: 100;
    display: none;
}

#top-header .header-row-2-grid .header-logo-box .logo-link {
    padding: 20px 20px 25px;
    background: var(--colour-orange);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    position: absolute;
    top: -35px;
    width: 100%;
}

#top-header .header-row-2-grid .header-logo-box .alt-logo-link {
    padding: 19px 20px 19px;
    background: white;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    position: absolute;
    top: -35px;
    width: 100%;
}

#top-header .header-row-2-grid .header-phone-icon-box a,
#top-header .header-row-2-grid .header-phone-icon-box a:visited,
#top-header .header-row-2-grid .header-phone-icon-box a:hover,
#top-header .header-row-2-grid .header-phone-icon-box a:focus,
#top-header .header-row-2-grid .header-phone-icon-box a:active {
    font-size: 2em;
    color: white;
}


body .sticky-book-btn,
body .sticky-book-btn:visited {
    position: fixed;
    padding: .4em 100px .4em 1em;
    top: 20vh;
    right: -3px;
    background-color: var(--colour-orange);
    color: white;
    border-top-left-radius: .8em;
    border-bottom-left-radius: .8em;
    font-size: 1.333em;
    font-family: "proxima-nova", sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    z-index: 100;
    opacity: 1;
    transition: opacity .3s;
}

body .sticky-book-btn:hover,
body .sticky-book-btn:focus,
body .sticky-book-btn:active {
    color: #fff;
    background-color: var(--colour-orange-lighter);
    text-decoration: none;
}

body .sticky-book-btn.noshow,
body.show-alt-header .sticky-book-btn {
    opacity: 0;
}

body .sticky-book-btn.enquire-btn {
    display: none;
}

body[data-page-id="39"] .sticky-book-btn.enquire-btn {
    display: block;
}

body[data-page-id="39"] .sticky-book-btn.standard-btn {
    display: none;
}

body .sticky-book-btn.enquire-btn,
body .sticky-book-btn.enquire-btn:visited {
    padding: .4em 60px .4em 1em;
}

body.show-alt-header #top-header .header-row-2-grid .header-logo-box .logo-link {
    -webkit-box-shadow: 0 0 5px 5px rgba(0, 0, 0, .25);
    -moz-box-shadow: 0 0 5px 5px rgba(0, 0, 0, .25);
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, .25);
}

#top-header .header-row-2-grid .header-logo-box img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

#top-header .header-row-2-grid .header-logo-box .alt-logo-link,
#top-header .header-row-2-grid .header-logo-box img.header-alt-logo {
    display: none;
}

body.show-alt-header #top-header .header-row-2-grid .header-logo-box .logo-link,
body.show-alt-header #top-header .header-row-2-grid .header-logo-box img.header-logo {
    display: none;
}

body.show-alt-header #top-header .header-row-2-grid .header-logo-box .alt-logo-link,
body.show-alt-header #top-header .header-row-2-grid .header-logo-box img.header-alt-logo {
    display: inline;
}

#top-header .header-row-2-grid .header-menu-box {
    grid-area: header-menu-box;
    padding-left: 20px;
    display: flex;
    align-items: flex-end;
}

#top-header .header-row-2-grid .header-cta-box {
    grid-area: header-cta-box;
    text-align: right;
    position: relative;
}

#top-header .header-row-2-grid .header-mobile-nav-btn-box {
    grid-area: header-mobile-nav-btn-box;
    display: none;
}

#top-header .header-row-3 {
    display: none;
}

#top-header .header-home-btn {
    padding: 0 15px;
    font-size: 1.5em;
    transition: opacity .3s;
    color: var(--colour-dark-grey);
}

#top-header .header-home-btn:hover,
#top-header .header-home-btn:focus,
#top-header .header-home-btn:active {
    text-decoration: none;
    color: var(--colour-orange);
}

#top-header .header-row-2 .nav-main > .header-home-btn {
    display: none;
}

#top-header .header-row-2 .nav-main .navbar-nav > li:first-child {
    display: flex;
}

/* ------------------------ */
/* 4__Main Content          */
/* ------------------------ */
#top-hero-wrap {
    position: relative;
    min-height: 844px;
}

#top-hero-wrap .cover {
    padding: 0 0 40px;
    min-height: 844px;
    display: flex;
    align-items: flex-end;
}

#top-hero-wrap.short,
#top-hero-wrap.short .cover {
    min-height: 422px;
}

#top-hero-wrap img {
    display: none;
}

#top-hero-wrap .cover .top-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 60%;
    background: linear-gradient(0, rgba(0, 0, 0, 0) 30%, #000000 100%);
    opacity: 0;
    transition: opacity .3s;
}

#top-hero-wrap .cover .bottom-overlay {
    position: absolute;
    top: 60%;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, #000000 100%);
    opacity: 0;
    transition: opacity .3s;
}

#top-hero-wrap .cover.show-overlay .top-overlay,
#top-hero-wrap .cover.show-overlay .bottom-overlay {
    opacity: .7;
}

#top-hero-wrap .hero-text-wrap {
    position: relative;
    z-index: 100;
}

#top-hero-wrap .hero-text {
    width: 100%;
    color: #fff;
}

#top-hero-wrap .hero-text .orange-text {
    color: var(--colour-orange);
}

#top-hero-wrap .hero-text h2 {
    color: #fff;
    font-size: 4.278em;
    text-transform: inherit;
}

#top-hero-wrap .hero-text h2 .part1,
#top-hero-wrap .hero-text h2 .part2 {
    display: block;
}

#top-hero-wrap .hero-text h2 .part1:after,
#top-hero-wrap .hero-text h2 .part2:after {
    content: ".";
    color: var(--colour-orange);
}

#top-hero-wrap .hero-text p {
    font-size: 1.5em;
}

#site-body {
    position: relative;
    padding-top: 50px;
}

h1 {
    margin-bottom: .8em;
    font-family: "proxima-nova", sans-serif;
    font-weight: 600;
    font-size: 2.778em;
    color: var(--colour-blue-sky);
}

h1 > span {
    position: relative;
}

h1 > span:after {
    content: ' ';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 80px;
    border-bottom: 6px solid var(--colour-orange);
    border-radius: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
}

h2 {
    font-family: "proxima-nova", sans-serif;
    font-weight: 700;
    font-size: 2.05em;
    text-transform: uppercase;
    line-height: 1.1;
    color: var(--colour-blue-sky);
}

h2.special {
    color: var(--colour-blue-navy);
    text-transform: inherit;
    font-size: 2.778em;
}

h2.special:after {
    content: "...";
    color: var(--colour-orange);
}

h2.h1-lookalike {
    margin-bottom: .8em;
    font-family: "proxima-nova", sans-serif;
    font-weight: 600;
    font-size: 2.778em;
    color: var(--colour-blue-sky);
    text-transform: initial;
}

h2.h1-lookalike > span {
    position: relative;
}

h2.h1-lookalike > span:after {
    content: ' ';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 80px;
    border-bottom: 6px solid var(--colour-orange);
    border-radius: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
}

h3 {
    font-family: "proxima-nova", sans-serif;
    font-weight: 700;
    font-size: 1.6em;
    color: var(--colour-blue-navy);
    text-transform: uppercase;
}

h4 {
    font-family: "proxima-nova", sans-serif;
    font-weight: 700;
    font-size: 1.2em;
    color: var(--colour-blue-navy);
}

a,
a:visited {
    color: var(--colour-black);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: #999;
    /*text-decoration: none;*/
    /*border-bottom: 1px solid #aaa;*/
}

a:hover,
a:focus,
a:active {
    color: var(--colour-orange);
    text-decoration: underline;
    /*text-decoration: none;*/
    /*border-bottom: 1px solid var(--colour-orange);*/
}

a.link-w-arrow,
a.link-w-arrow:visited {
    color: var(--colour-orange);
    text-decoration: none;
}

a.link-w-arrow {
    margin-right: 20px;
    position: relative;
    cursor: pointer;
}

a.link-w-arrow:hover,
a.link-w-arrow:active,
a.link-w-arrow:focus {
    text-decoration: underline;
}

a.link-w-arrow img.link-icon {
    position: relative;
    width: 18px;
    height: 18px;
    top: -2px;
    margin-left: 8px;
}

hr {
    margin-top: 2em;
    margin-bottom: 2em;
    border: 0;
    width: 337px;
    max-width: 100%;
    border-top: 3px solid var(--colour-orange);
}

#site-body ul > li:not(:last-child),
ol > li:not(:last-child) {
    margin-bottom: .4em;
}

img {
    max-width: 100%;
    height: auto;
}

.md-text {
    font-size: 1.4em;
}

.masthead {
    margin-bottom: 4em;
    padding: 0 15px;
}

.masthead .icon img {
    max-height: 28px;
    width: auto;
}

.masthead .three-cols-highlight {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 30px;
}

.masthead .three-cols-highlight .box-1,
.masthead .three-cols-highlight .box-2,
.masthead .three-cols-highlight .box-3 {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.masthead .three-cols-highlight .icon {
    margin-right: 15px;
}

.masthead .three-cols-highlight .text {
    font-size: 0.778em;
    color: #b2b1b2;
    text-transform: uppercase;
}

/* START: 3-column showcase */
.three-col-showcase {
    margin: 3.33em 0;
    border-top-left-radius: 80px;
    border-bottom-right-radius: 80px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: hidden;
}

.three-col-showcase .item.item-mobile {
    display: none;
}

.three-col-showcase .item {
    transition: all .3s;
    height: 600px;
}

.three-col-showcase .item:hover {
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    max-width: 40%;
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
}

.three-col-showcase .item:nth-child(2) {
    margin-left: 8px;
    margin-right: 8px;
}

.three-col-showcase .item .overlay {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 1.5em;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .3s;
    background: linear-gradient(180deg, rgba(0, 80, 143, 0.83) 0%, rgba(0, 80, 143, 0.71) 100%);
    z-index: 10;
}

.three-col-showcase .item:hover .overlay,
.three-col-showcase .item:focus .overlay,
.three-col-showcase .item:active .overlay {
    opacity: 1;
}

.three-col-showcase .item .text-label {
    z-index: 11;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: var(--colour-blue-navy);
    color: white;
    padding: 8px 18px;
    border-top-right-radius: 8px;
}

/* END: 3-column showcase */


/* START: 2-column showcase */
.two-col-showcase {
    margin: 3.33em 0;
    border-top-left-radius: 80px;
    border-bottom-right-radius: 80px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: hidden;
}

.two-col-showcase .item.item-mobile {
    display: none;
}

.two-col-showcase .item {
    transition: all .3s;
    height: 600px;
}

.two-col-showcase .item:hover {
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    max-width: 45%;
    -ms-flex-preferred-size: 45%;
    flex-basis: 45%;
}

.two-col-showcase .item:nth-child(2) {
    margin-left: 8px;
    margin-right: 8px;
}

.two-col-showcase .item .overlay {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 1.5em;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .3s;
    background: linear-gradient(180deg, rgba(0, 80, 143, 0.83) 0%, rgba(0, 80, 143, 0.71) 100%);
    z-index: 10;
}

.two-col-showcase .item:hover .overlay,
.two-col-showcase .item:focus .overlay,
.two-col-showcase .item:active .overlay {
    opacity: 1;
}

.two-col-showcase .item .text-label {
    z-index: 11;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: var(--colour-blue-navy);
    color: white;
    padding: 8px 18px;
    border-top-right-radius: 8px;
}

/* END: 2-column showcase */


/* START: Specials block */
.specials-panel {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin: 40px -15px 0;
}

.specials-panel .text-panel {
    padding: 30px;
    color: white;
    text-align: right;
    background-color: var(--colour-orange);
}

.specials-panel .text-box {
    max-width: 620px;
    text-align: right;
}

.specials-panel .text-box h3 {
    color: white;
    font-size: 2.5em;
}

.specials-panel .text-box .price {
    font-family: "proxima-nova", sans-serif;
    font-weight: 700;
    font-size: 5.333em;
    line-height: 1.25em;
}

.specials-panel .text-box .pricing-info {
    margin-top: 10px;
    margin-bottom: 25px;
    display: flex;
    justify-content: flex-end;
    font-size: 1.22em;
    color: white;
}

.specials-panel .text-box .pricing-info span:not(:first-child) {
    font-weight: 700;
    padding-left: 15px;
}

.specials-panel .text-box a,
.specials-panel .text-box a:visited {
    color: white;
    text-decoration: underline;
    text-decoration-color: #fff;
}

.specials-panel .text-box a.btn,
.specials-panel .text-box a.btn:visited {
    text-decoration: none;
}

.specials-panel .text-box a:hover,
.specials-panel .text-box a:focus,
.specials-panel .text-box a:active {
    color: white;
    text-decoration: none;
}

.specials-panel .image-box {
    width: 100%;
    height: 100%;
}

.specials-panel .image-box .cover {
    height: 100%;
}

.specials-panel .image-box img {
    display: none;
}

.specials-panel .text-panel,
.specials-panel .image-panel {
    flex: 0 0 50%;
    display: flex;
    justify-content: flex-end;
}

/* END: Specials block */

/* START: Testimonial (General) carousel */
section.testimonials-general {
    margin-top: 70px;
    margin-bottom: 65px;
}

section.testimonials-general .testimonials-box {
    border-radius: 0 258px;
    background-color: var(--colour-blue-navy);
    padding: 40px;
    color: white;
    text-align: center;
}

section.testimonials-general h3 {
    color: white;
    text-transform: inherit;
    font-size: 1.778em;
    font-weight: 600;

}

section.testimonials-general .testimonial-carousel {
    width: calc(100% - 60px);
}

section.testimonials-general .testimonial-carousel .owl-stage {
    display: flex;
    padding-top: 50px;
}

section.testimonials-general .testimonial-carousel .owl-item {
    display: flex;
    flex: 1 0 auto;
    padding: 15px 15px 0;
    border: 2px solid var(--colour-lightgrey);
}

section.testimonials-general .testimonial-carousel .owl-item > div {
    position: relative;
    margin-left: 50px;
    margin-right: 50px;
}

section.testimonials-general .testimonial-carousel .owl-item > div:before {
    position: absolute;
    content: "";
    background-image: url(../images/icons/double-quote-start.svg);
    background-size: 58px 38px;
    width: 58px;
    height: 38px;
    top: -50px;
    left: -50px;
}

/*
section.testimonials-general .testimonial-carousel.owl-theme .owl-nav {
	display: none;
}
*/

section.testimonials-general .testimonial-carousel.owl-theme .owl-dots,
section.testimonials-general .testimonial-carousel.owl-theme .owl-nav.disabled + .owl-dots {
    margin-top: 15px;
}

section.testimonials-general .testimonial-carousel.owl-theme .owl-dots .owl-dot span {
    background: #eee;
}

section.testimonials-general .testimonial-carousel.owl-theme .owl-dots .owl-dot.active span {
    background: var(--colour-orange);
}

section.testimonials-general .testimonial-carousel .owl-dots button:focus {
    outline: none;
}

section.testimonials-general .testimonial-carousel .quote {
    font-size: 1em;
    margin-bottom: 40px;
}

section.testimonials-general .testimonial-carousel .quote-author {
    margin: 0;
    font-weight: 700;
    font-style: italic;
    color: var(--colour-gold);
}

@media only screen and (max-width: 1023px) {
    section.testimonials-general .testimonials-box {
        border-radius: 0 21vw;
        padding: 40px 15px;
    }

    section.testimonials-general .testimonial-carousel .owl-item {
        padding: 15px 0;
    }

    section.testimonials-general .testimonial-carousel {
        width: calc(100% - 10px);
    }

    section.testimonials-general .testimonial-carousel .owl-item > div:before {
        background-size: 48px 31px;
        width: 48px;
        height: 31px;
        top: -42px;
        left: -20px;
        transform: translateX(-50%);
    }

    section.testimonials-general .testimonial-carousel .owl-item > div:after {
        background-size: 48px 31px;
        width: 48px;
        height: 31px;
        bottom: 60px;
        right: -70px;
        transform: translateX(-50%);
    }

    section.testimonials-general .testimonial-carousel .quote {
        margin-bottom: 40px;
    }
}

@media only screen and (max-width: 630px) {
    section.testimonials-general .testimonials-box {
        padding: 40px 5px;
    }

    section.testimonials-general .testimonial-carousel .owl-item > div {
        margin-left: 20px;
        margin-right: 20px;
    }

    section.testimonials-general .testimonial-carousel .owl-item > div:before {
        background-size: 38px 25px;
        width: 38px;
        height: 25px;
        top: -42px;
        left: 15px;
        transform: translateX(-50%);
    }

    section.testimonials-general .testimonial-carousel .owl-item > div:after {
        background-size: 38px 25px;
        width: 38px;
        height: 25px;
        bottom: 60px;
        right: -23px;
        transform: translateX(-50%);
    }

    section.testimonials-general .testimonial-carousel .quote {
        margin-bottom: 40px;
    }
}

/* END: Testimonials (General) carousel */

/* START: Testimonial (Tripadvisor) carousel */
section.testimonials-tripadvisor {
    margin-top: 70px;
    margin-bottom: 70px;
}

section.testimonials-tripadvisor .testimonials-box {
    border-radius: 0px 258px;
    background-color: var(--colour-blue-navy);
    padding: 40px;
    color: white;
    text-align: center;
}

section.testimonials-tripadvisor .testimonials-box {
    text-align: left;
}

section.testimonials-tripadvisor h3 {
    color: white;
    text-transform: inherit;
    font-size: 1.778em;
    font-weight: 600;
}

section.testimonials-tripadvisor .testimonials-box .review-preamble {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 20px;
}

section.testimonials-tripadvisor .testimonials-box .review-preamble .review-title {
    padding-right: 25px;
    font-weight: 700;
    text-transform: uppercase;
}

section.testimonials-tripadvisor .testimonials-box .review-preamble .review-rating {
    display: flex;
    align-content: center;
}

section.testimonials-tripadvisor .testimonials-box .review-preamble img.icon-rating-star {
    width: 24px;
    height: auto;
    display: inline-block;
}

section.testimonials-tripadvisor .testimonials-box .review-rating img.icon-rating-star:not(:first-child) {
    margin-left: 9px;
}

section.testimonials-tripadvisor .testimonials-box .review-preamble h3 {
    text-transform: uppercase;
}

section.testimonials-tripadvisor .testimonials-box .testimonial-start-quote {
    margin-bottom: 15px;
    width: 58px;
    height: auto;
}

section.testimonials-tripadvisor .testimonial-carousel .owl-stage {
    display: flex;
    padding-top: 0;
}

section.testimonials-tripadvisor .testimonial-carousel .owl-item {
    display: flex;
    flex: 1 0 auto;
    padding: 5px 0;
    border: 2px solid var(--colour-lightgrey);
}

section.testimonials-tripadvisor .testimonial-carousel .owl-item > div {
    position: relative;
}

section.testimonials-tripadvisor .testimonial-carousel.owl-theme .owl-dots,
section.testimonials-tripadvisor .testimonial-carousel.owl-theme .owl-nav.disabled + .owl-dots {
    margin-top: 15px;
}

section.testimonials-tripadvisor .testimonial-carousel.owl-theme .owl-dots .owl-dot span {
    background: #eee;
}

section.testimonials-tripadvisor .testimonial-carousel.owl-theme .owl-dots .owl-dot.active span {
    background: var(--colour-orange);
}

section.testimonials-tripadvisor .testimonial-carousel .owl-dots button:focus {
    outline: none;
}

section.testimonials-tripadvisor .testimonial-carousel .quote {
    font-size: 1em;
    margin-bottom: 1.1em;
}

section.testimonials-tripadvisor .testimonial-carousel .quote-author {
    margin: 0;
    font-weight: 700;
    color: var(--colour-gold);
}

section.testimonials-tripadvisor .owl-carousel .owl-nav {
    overflow: hidden;
    height: 0px;
}

.owl-carousel .nav-btn {
    height: 57px;
    position: absolute;
    width: 57px;
    cursor: pointer;
    top: 50% !important;
    transform: translateY(-50%);
}

.owl-carousel .owl-prev.disabled,
.owl-carousel .owl-next.disabled {
    pointer-events: none;
    opacity: 0.2;
}

.owl-carousel .prev-slide {
    background: url(../images/icons/icon-arrow-in-circle-left-white.svg) no-repeat scroll 0 0 / 57px 57px;
    left: -90px;
}

.owl-carousel .next-slide {
    background: url(../images/icons/icon-arrow-in-circle-right-white.svg) no-repeat scroll 0 0 / 57px 57px;
    right: -95px;
}

.owl-carousel .prev-slide:hover {
    opacity: .7;
}

.owl-carousel .next-slide:hover {
    opacity: .7;
}

@media only screen and (max-width: 1100px) {
    .owl-carousel .prev-slide {
        background: url(../images/icons/icon-arrow-in-circle-left-white.svg) no-repeat scroll 0 0 / 37px 37px;
        left: -60px;
    }

    .owl-carousel .next-slide {
        background: url(../images/icons/icon-arrow-in-circle-right-white.svg) no-repeat scroll 0 0 / 37px 37px;
        right: -75px;
    }
}

@media only screen and (max-width: 1023px) {
    section.testimonials-general .testimonials-box,
    section.testimonials-tripadvisor .testimonials-box {
        border-radius: 0 21vw;
        padding: 40px 15px;
    }

    section.testimonials-general .testimonial-carousel,
    section.testimonials-tripadvisor .testimonial-carousel {
        margin: auto;
        width: calc(100% - 100px);
    }

    section.testimonials-general .testimonial-carousel .owl-item,
    section.testimonials-tripadvisor .testimonial-carousel .owl-item {
        padding: 15px 0 0;
    }

    section.testimonials-tripadvisor .testimonial-carousel .owl-item > div:before {
        background-size: 48px 31px;
        width: 48px;
        height: 31px;
        top: -42px;
        left: -20px;
        transform: translateX(-50%);
    }

    section.testimonials-tripadvisor .testimonial-carousel .owl-item > div:after {
        background-size: 48px 31px;
        width: 48px;
        height: 31px;
        bottom: 60px;
        right: -70px;
        transform: translateX(-50%);
    }
}

@media only screen and (max-width: 630px) {
    section.testimonials-general .testimonials-box,
    section.testimonials-tripadvisor .testimonials-box {
        padding: 40px 5px;
    }

    section.testimonials-general .testimonial-carousel {
        margin: auto;
        width: calc(100% - 80px);
        /*width: calc(100% - 40px);*/
    }

    .owl-carousel .prev-slide {
        /*background: url(../images/icons/icon-arrow-in-circle-left-white.svg) no-repeat scroll 0 0 / 28px 28px;*/
        /*left: -48px;*/
        left: -41px;
    }

    .testimonials-tripadvisor .owl-carousel .prev-slide {
        left: -48px;
    }

    .owl-carousel .next-slide {
        /*background: url(../images/icons/icon-arrow-in-circle-right-white.svg) no-repeat scroll 0 0 / 28px 28px;*/
        /*right: -75px;*/
        right: -60px;
    }

    .testimonials-tripadvisor .owl-carousel .next-slide {
        right: -75px;
    }

    section.testimonials-tripadvisor .testimonials-box .testimonial-start-quote {
        width: 48px;
    }

    section.testimonials-tripadvisor .testimonials-box .review-preamble img.icon-rating-star {
        width: 20px;
    }

    section.testimonials-tripadvisor .testimonial-carousel .owl-item > div:before {
        background-size: 38px 25px;
        width: 38px;
        height: 25px;
        top: -42px;
        left: 15px;
        transform: translateX(-50%);
    }

    section.testimonials-tripadvisor .testimonial-carousel .owl-item > div:after {
        background-size: 38px 25px;
        width: 38px;
        height: 25px;
        bottom: 60px;
        right: -23px;
        transform: translateX(-50%);
    }
}

@media only screen and (max-width: 500px) {
    section.testimonials-tripadvisor .testimonial-carousel {
        margin: auto;
        width: calc(100% - 90px);
    }

    section.testimonials-general .testimonial-carousel {
        width: calc(100% - 40px);
    }

    .owl-carousel .prev-slide {
        background: url(../images/icons/icon-arrow-in-circle-left-white.svg) no-repeat scroll 0 0 / 28px 28px;
        /*left: -48px;*/
        left: -28px;
    }

    .owl-carousel .next-slide {
        background: url(../images/icons/icon-arrow-in-circle-right-white.svg) no-repeat scroll 0 0 / 28px 28px;
        /*right: -75px;*/
        right: -55px;
    }
}

/* END: Testimonials (Tripadvisor) carousel */

.finder-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas: "image-box assist-box-1 assist-box-2" "image-box assist-box-3 assist-box-4";
    grid-gap: 30px;
    text-align: center;
}

.finder-grid .image-box {
    grid-area: image-box;
    position: relative;
}

.finder-grid .image-box .cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.finder-grid .box {
    background-color: var(--colour-grey-light);
    padding: 22px 20px 20px;
    transition: background-color .3s;
}

.finder-grid .box,
.finder-grid .box:visited,
.finder-grid .box:hover,
.finder-grid .box:focus,
.finder-grid .box:active {
    color: var(--colour-black);
    text-decoration: none;
}

.finder-grid .box:hover,
.finder-grid .box:focus,
.finder-grid .box:active {
    background-color: #ddd;
}

.finder-grid .box-1 {
    grid-area: assist-box-1;
}

.finder-grid .box-2 {
    grid-area: assist-box-2;
}

.finder-grid .box-3 {
    grid-area: assist-box-3;
}

.finder-grid .box-4 {
    grid-area: assist-box-4;
}

.finder-grid .image-box img {
    display: none;
}

.finder-grid .box-1 .icon,
.finder-grid .box-2 .icon,
.finder-grid .box-3 .icon,
.finder-grid .box-4 .icon {
    margin-bottom: 15px;
    height: 100px;
    width: auto;
}

.finder-grid .label {
    font-family: "proxima-nova", sans-serif;
    font-size: 1.444em;
    font-weight: 700;
    line-height: 1.1em;
}

.finder-grid .label .line-1,
.finder-grid .label .line-2 {
    display: block;
}

.suggested-activities .btn-grid {
    margin-top: 1.66em;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas: "suggest-box-1 suggest-box-2 suggest-box-3";
    grid-gap: 30px;
    text-align: center;
}

.suggested-activities .btn-grid .box-1 {
    grid-area: suggest-box-1;
}

.suggested-activities .btn-grid .box-2 {
    grid-area: suggest-box-2;
}

.suggested-activities .btn-grid .box-3 {
    grid-area: suggest-box-3;
}

.suggested-activities .btn-grid .box {
    background-color: var(--colour-grey-light);
    padding: 22px 20px 20px;
    transition: background-color .3s;
}

.suggested-activities .btn-grid .box,
.suggested-activities .btn-grid .box:visited,
.suggested-activities .btn-grid .box:hover,
.suggested-activities .btn-grid .box:focus,
.suggested-activities .btn-grid .box:active {
    color: var(--colour-black);
    text-decoration: none;
}

.suggested-activities .btn-grid .box:hover,
.suggested-activities .btn-grid .box:focus,
.suggested-activities .btn-grid .box:active {
    background-color: #ddd;
}

.suggested-activities .btn-grid .box-1 .icon,
.suggested-activities .btn-grid .box-2 .icon,
.suggested-activities .btn-grid .box-3 .icon {
    margin-bottom: 15px;
    height: 100px;
    width: auto;
}

.suggested-activities .btn-grid .label {
    font-family: "proxima-nova", sans-serif;
    font-size: 1.444em;
    font-weight: 700;
    line-height: 1.1em;
}

.suggested-activities .label .line-1,
.suggested-activities .label .line-2 {
    display: block;
}

.cta-panel {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.cta-panel-wrap {
    display: inline-flex;
    align-items: center;
}

.cta-panel .box-1 {
    padding-right: 25px;
    line-height: 1.2;
}

.cta-panel .box-1 p {
    font-family: "proxima-nova", sans-serif;
    font-weight: 600;
    font-size: 1.778em;
}

.cta-panel .box-1 p:last-child {
    margin-bottom: 0;
}

.activity-options {
    /*margin: 30px 0;*/
    display: grid;
    grid-template-columns: 1fr 50%;
    grid-template-areas: "as-box-1 as-box-2";
    grid-gap: 30px;
}

.activity-options.frame-space-before-medium {
    margin-top: 35px;
}

.activity-options.frame-space-after-medium {
    margin-bottom: 35px;
}

.activity-options.reverse {
    /*margin: 30px 0;*/
    display: grid;
    grid-template-columns: 50% 1fr;
    grid-template-areas: "as-box-2 as-box-1";
    grid-gap: 30px;
}

.activity-options .flexslider.basic-slider {
    margin-bottom: 5px;
}

.activity-options .box-1 {
    grid-area: as-box-1;
}

.activity-options .box-2 {
    grid-area: as-box-2;
}

.activity-options .pricing-info {
    margin-bottom: 15px;
    display: flex;
    color: var(--colour-blue-navy);
}

.activity-options .pricing-info span:not(:first-child) {
    font-weight: 700;
    padding-left: 15px;
}

.activity-options .activity-audience {
    display: flex;
    color: var(--colour-blue-navy);
    margin-bottom: 1em;
    font-family: "proxima-nova", sans-serif;
    font-size: 1.11em;
    line-height: 1.1em;
    text-align: center;
}

.activity-options .activity-audience .label-box {
    padding-right: 15px;
    text-align: left;
    width: 110px;
}

.activity-options .activity-audience .item {
    font-weight: 700;
}

.activity-options .activity-audience .item:not(:last-child) {
    padding-right: 10px;
}

.activity-options .activity-audience .spacer-box {
    padding-left: 0;
    padding-right: 10px;
    text-align: center;
    color: var(--colour-orange);
    font-size: .5em;
    display: flex;
    padding-top: 5px;
}

.activity-options .linked-buttons {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}

.activity-options .linked-buttons a {
    display: inline-block;
}

.activity-options .linked-buttons a:not(:last-child) {
    margin-right: .5em;
}

.featured-activity-panel {
    margin: 5px 0 50px;
}

.featured-activity-panel .content-wrap {
    position: relative;
    width: 100%;
    max-width: 1000px;
}

.featured-activity-panel .underlay {
    position: absolute;
    z-index: 1;
    top: 0;
    left: -3000px;
    right: 0;
    bottom: 0;
    background-color: var(--colour-blue-navy);
    border-top-right-radius: 128px;
}

.featured-activity-panel .content {
    position: relative;
    padding-top: 40px;
    padding-bottom: 40px;
    padding-right: 20px;
    width: 100%;
    max-width: 830px;
    z-index: 2;
    color: white;
}

.featured-activity-panel h2 {
    color: white;
    font-size: 2.055em;
    text-transform: uppercase;
}

.featured-activity-panel .activity-audience {
    /*display: inline-flex;*/
    display: flex;
    /*flex-wrap: wrap;*/
    /*justify-content: space-between;*/
    color: white;
    margin: 1.4em 0;
    font-family: "proxima-nova", sans-serif;
    font-size: 1.11em;
    line-height: 1.1em;
}

.featured-activity-panel .activity-audience > div:not(:first-child) {
    padding-right: 10px;
}

.featured-activity-panel .activity-audience .label-box {
    width: 115px;
    padding-right: 15px;
}

.featured-activity-panel .activity-audience .spacer-box {
    display: flex;
}

.featured-activity-panel .activity-audience .item {
    font-weight: 700;
}

.featured-activity-panel .activity-audience .spacer-box {
    padding-left: 0;
    padding-right: 10px;
    /*padding: 0 10px;*/
    text-align: center;
    color: var(--colour-orange);
    font-size: .5em;
    display: flex;
    padding-top: 5px;
}

/* START: Sharing widget */

.share-article-widget {
    margin: 20px 0 30px;
    text-align: center;
    display: flex;
    justify-content: flex-start;
}

.share-article-widget .a2a_svg {
    width: 40px;
    height: 40px;
}

.share-article-widget .share-label {
    display: flex;
    align-items: center;
    margin-right: 15px;
    font-family: "proxima-nova", sans-serif;
    font-weight: 600;
    font-size: 1.2778em;
    color: var(--colour-orange);
}

.share-article-widget .a2a_dd {
    display: none;
}

.share-article-widget .a2a_svg.a2a_s__default.a2a_s_a2a {
    background-color: var(--colour-orange) !important;
}

.share-article-widget .a2a_default_style a {
    margin-right: 5px;
}

.share-article-widget .a2a_svg.a2a_s__default.a2a_s_twitter {
    background-color: var(--colour-orange) !important;
    border-radius: 100%;
    padding: 3px;
    transition: background-color .2s;
}

.share-article-widget .a2a_svg.a2a_s__default.a2a_s_linkedin {
    background-color: var(--colour-orange) !important;
    border-radius: 100%;
    padding: 3px;
    transition: background-color .2s;
}

.share-article-widget .a2a_svg.a2a_s__default.a2a_s_facebook {
    background-color: var(--colour-orange) !important;
    border-radius: 100%;
    padding: 3px;
    transition: background-color .2s;
}

.share-article-widget .a2a_svg.a2a_s__default.a2a_s_email {
    background-color: var(--colour-orange) !important;
    border-radius: 100%;
    padding: 3px;
    transition: background-color .2s;
}

.share-article-widget .a2a_svg.a2a_s__default.a2a_s_instagram {
    background-color: var(--colour-orange) !important;
    border-radius: 100%;
    padding: 3px;
    transition: background-color .2s;
}

#news-article .a2a_default_style a:hover .a2a_svg,
#news-article .a2a_floating_style a:hover .a2a_svg,
#news-article .a2a_overlay_style a:hover .a2a_svg svg {
    opacity: 1;
}

.share-article-widget .a2a_button_twitter:hover .a2a_svg.a2a_s__default.a2a_s_twitter {
    background-color: var(--colour-orange-lighter) !important;
}

.share-article-widget .a2a_button_linkedin:hover .a2a_svg.a2a_s__default.a2a_s_linkedin {
    background-color: var(--colour-orange-lighter) !important;
}

.share-article-widget .a2a_button_facebook:hover .a2a_svg.a2a_s__default.a2a_s_facebook {
    background-color: var(--colour-orange-lighter) !important;
}

.share-article-widget .a2a_button_email:hover .a2a_svg.a2a_s__default.a2a_s_email {
    background-color: var(--colour-orange-lighter) !important;
}

/* END: Sharing widget */

.flex-control-thumbs {
    display: flex;
    margin: 0 -4px;
    width: calc(100% - 8px);
    overflow: visible;
}

.flexslider.basic-slider {
    margin: 0 0 30px;
}

.flexslider.image-collage {
    margin: 0 0 30px;
}

.flexslider.image-collage[data-num-items="2"] .flex-control-thumbs li {
    width: 25%;
    flex: 0 0 calc(50%);
    margin: 8px 4px 0;
    overflow: hidden;
}

.flexslider.image-collage[data-num-items="3"] .flex-control-thumbs li {
    width: 33.3333%;
    flex: 0 0 calc(33.3333% - 2px);
    margin: 8px 4px 0;
    overflow: hidden;
    padding-left: 0;
}

.flexslider.image-collage[data-num-items="4"] .flex-control-thumbs li {
    width: 25%;
    flex: 0 0 calc(25% - 4px);
    margin: 8px 4px 0;
    overflow: hidden;
    padding-left: 0;
}

.flexslider.image-collage[data-num-items="4"] .flex-control-thumbs li:first-child {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.flexslider.image-collage[data-num-items="5"] .flex-control-thumbs li {
    width: 20%;
    flex: 0 0 calc(20% - 4px);
    margin: 8px 4px 0;
    overflow: hidden;
    padding-left: 2px;
}

.flexslider.image-collage[data-num-items="5"] .flex-control-thumbs li:first-child {
    padding-left: 0px !important;
    padding-right: 2px !important;
}

.flexslider.image-collage[data-num-items="6"] .flex-control-thumbs li {
    width: 16.6666%;
    flex: 0 0 calc(16.6666% - 5px);
    margin: 8px 4px 0;
    overflow: hidden;
    padding-left: 2px;
}

.flexslider.image-collage .flex-control-thumbs li:first-child {
    padding-left: 1px !important;
    padding-right: 1px !important;
}

.flexslider.image-collage .flex-direction-nav a {
    text-shadow: none;
}

.flexslider.image-collage .flex-direction-nav a:before {
    text-shadow: none;
    color: white;
}

.flexslider.basic-slider .flex-direction-nav a {
    text-shadow: none;
}

.flexslider.basic-slider .flex-direction-nav a:before {
    text-shadow: none;
    color: white;
}

.location-price-grid {
    position: relative;
    margin-bottom: 0;
    padding-right: 26px;
    font-family: "proxima-nova", sans-serif;
    font-size: 1.11em;
    line-height: 1.1em;
    transition: margin-bottom 1s;
}

.location-price-grid.show-sibling {
    margin-bottom: 44px;
}

.location-price-grid.extra-padding {
    padding-bottom: 21px;
}

.location-price-grid .price-trigger-down,
.location-price-grid .price-trigger-up {
    position: absolute;
    right: 0;
    top: -2px;
    width: 20px;
    height: auto;
    cursor: pointer;
}

.location-price-grid .pricing-display-triggers .price-trigger-up {
    display: none;
}

.location-price-grid.show-sibling .pricing-display-triggers .price-trigger-up {
    display: inline;
}

.location-price-grid.show-sibling .pricing-display-triggers .price-trigger-down {
    display: none;
}

.location-price-grid .current-prices {
    display: flex;
    justify-content: space-between;
    grid-template-areas: "curr-label-box curr-adults spacer-1 curr-kids spacer-2 curr-family";
    grid-column-gap: 8px;
    grid-row-gap: 16px;
    text-align: center;
    color: var(--colour-blue-navy);
    margin-bottom: 10px;
}

.location-price-grid .current-prices .label-box {
    grid-area: curr-label-box;
}

.location-price-grid .current-prices .adults-box {
    grid-area: curr-adults;
}

.location-price-grid .current-prices .spacer-1-box {
    grid-area: spacer-1;
}

.location-price-grid .current-prices .kids-box {
    grid-area: curr-kids;
}

.location-price-grid .current-prices .spacer-2-box {
    grid-area: spacer-2;
}

.location-price-grid .current-prices .family-box {
    grid-area: curr-family;
}

.location-price-grid .standard-prices {
    /*display: grid;*/
    /*grid-template-columns: 1fr 1fr 15px 1fr 15px 1fr;*/
    display: flex;
    justify-content: space-between;
    grid-template-areas: "std-label-box std-adults spacer-1 std-kids spacer-2 std-family";
    grid-column-gap: 8px;
    grid-row-gap: 16px;
    text-align: center;
    color: #999;
}

.location-price-grid .standard-prices-wrapper {
    /*opacity: 0;*/
    visibility: hidden;
}

.location-price-grid .standard-prices .label-box {
    grid-area: std-label-box;
}

.location-price-grid .standard-prices .adults-box {
    grid-area: std-adults;
}

.location-price-grid .standard-prices .spacer-1-box {
    grid-area: spacer-1;
}

.location-price-grid .standard-prices .kids-box {
    grid-area: std-kids;
}

.location-price-grid .standard-prices .spacer-2-box {
    grid-area: spacer-2;
}

.location-price-grid .standard-prices .family-box {
    grid-area: std-family;
}

.location-price-grid .label-box {
    text-align: left;
}

.location-price-grid .current-prices .adults-box,
.location-price-grid .current-prices .kids-box,
.location-price-grid .current-prices .family-box {
    font-weight: 700;
}

.location-price-grid .spacer-box {
    text-align: center;
    color: var(--colour-orange);
    font-size: .5em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icit-tabbed-faqs .navi-link {
    padding: 0 1em 1em 1em;
    text-transform: uppercase;
    color: #999;
}

.icit-tabbed-faqs .navi-link.active {
    color: var(--colour-orange);
}

.icit-tabbed-faqs .accordiom h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1em;
}

.icit-tabbed-faqs #faqTabs {
    justify-content: center;
}

.icit-tabbed-faqs #faqTabs > li {
    margin-bottom: 5px;
}

.same-page-nav {
    justify-content: center;
}

.same-page-nav a,
.same-page-nav a:visited {
    text-transform: uppercase;
    color: #999;
    padding: 0 1em 1em 1em;
}

.same-page-nav a:hover,
.same-page-nav a:focus,
.same-page-nav a:active {
    color: var(--colour-orange);
    text-decoration: underline;
}

#btnBookMbl {
    display: none;
    position: fixed;
    bottom: 0;
    z-index: 99999;
    width: 100%;
    background-color: var(--colour-orange);
    color: white;
    text-align: center;
    text-transform: uppercase;
    padding: 10px 15px;
    font-family: "proxima-nova", sans-serif;
    font-weight: 600;
    text-decoration: none;
}

#btnBookMbl:hover,
#btnBookMbl:focus,
#btnBookMbl:active {
    text-decoration: none;
}


body.showScrollUpBtn #btnBookMbl {
    display: block;
}

body.has-rezdy-booking-widget.showScrollUpBtn #btnBookMbl {
    display: none;
}

body.has-rezdy-booking-widget.showScrollUpBtn footer {
    padding-bottom: 50px;
}

#totop {
    display: none;
    text-align: center;
    cursor: pointer;
    position: fixed;
    bottom: 48px;
    right: 0;
    width: 40px;
    height: 36px;
    padding: 4px 0 0;
    border-radius: 70px 0 0 70px;
    /* background-image: url(../images/icons/gotop_icon.png); */
    /* background-repeat: no-repeat; */
    /* background-position: 50% 50%; */
    z-index: 99998;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: all 300ms ease-out;
    transition: all 300ms ease-out;
    opacity: 0;
    background-color: var(--colour-blue-sky) !important;
}

body.showScrollUpBtn #totop {
    display: block;
}

#totop img {
    width: 15px;
    height: auto;
}

#totop.posFixed {
    position: fixed;
}

#totop.posAbs {
    position: absolute;
    bottom: -61px;
}

#totop.active {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}


/* START: Pricing table */
.pricing-table {
    width: 100%;
}

.pricing-table a > .link-icon {
    width: 18px;
    height: auto;
}

.pricing-table td:not(:first-child):not(:nth-child(2)) {
    text-align: center;
}

.pricing-table .col-title,
.pricing-table .col-sub-title {
    font-family: "proxima-nova", sans-serif;
}

.pricing-table .col-title {
    font-weight: 700;
    color: var(--colour-blue-navy);
}

.pricing-table .bold-link {
    font-family: "proxima-nova", sans-serif;
    font-weight: 700;
    font-size: 1.1em;
}

.pricing-table tbody > tr:nth-child(odd) {
    background-color: #f6f6f6;
}

.pricing-table tbody > tr > td:first-child {
    padding-left: 5px;
}

@media only screen and (max-width: 480px) {
    .pricing-table > thead > tr > td:nth-child(2),
    .pricing-table > tbody > tr > td:nth-child(2) {
        display: none;
    }
}

/* END: Pricing table */

/* START: Contact forms */
form.contact-us-form {
    overflow: hidden;
    margin-left: -15px;
    margin-right: -15px;
}

form.contact-us-form .form-group.powermail_fieldwrap_type_submit {
    margin-bottom: 0;
}

form.contact-us-form .form-control:focus {
    box-shadow: 0 0 0 0.1rem rgba(93, 175, 190, .25);
}

form.contact-us-form .form-control {
    border-radius: 0;
}

form.contact-us-form label {
    margin-bottom: .2em;
    font-weight: bold;
}

form.contact-us-form .powermail_fieldset_1 > .row {
    display: inline-block;
    width: 49.5%;
    margin-left: 0;
    margin-right: 0;
}

@media screen and (max-width: 576px) {
    form.contact-us-form .powermail_fieldset_1 > .row {
        width: 100%;
        display: block;
    }
}

form.contact-us-form .powermail_fieldset_1 > .row > .powermail_fieldwrap {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

form.contact-us-form .optional {
    font-size: .8em;
    font-weight: 400;
}

/* END: Contact forms  */


form.powermail_form {
    position: relative;
    padding-top: 10px;
    padding-bottom: 10px;
}

form.powermail_form.is-submitting input[type=submit] {
    pointer-events: none;
}

form.powermail_form.is-submitting::before {
    position: absolute;
    content: '';
    top: -0.5em;
    right: -0.5em;
    left: -0.5em;
    bottom: -0.5em;
    background: rgba(245, 129, 28, 0.2) url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHdpZHRoPSI0MHB4IiBoZWlnaHQ9IjQwcHgiIHZpZXdCb3g9IjAgMCA0MCA0MCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEuNDE0MjE7IiB4PSIwcHgiIHk9IjBweCI+CiAgICA8ZGVmcz4KICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWwogICAgICAgICAgICBALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgICAgICAgZnJvbSB7CiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpCiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTM1OWRlZykKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICAgICAgICBmcm9tIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpCiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNTlkZWcpCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHN2ZyB7CiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAxLjVzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDEuNXMgbGluZWFyIGluZmluaXRlOwogICAgICAgICAgICB9CiAgICAgICAgXV0+PC9zdHlsZT4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJvdXRlciI+CiAgICAgICAgPGc+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMCwwQzIyLjIwNTgsMCAyMy45OTM5LDEuNzg4MTMgMjMuOTkzOSwzLjk5MzlDMjMuOTkzOSw2LjE5OTY4IDIyLjIwNTgsNy45ODc4MSAyMCw3Ljk4NzgxQzE3Ljc5NDIsNy45ODc4MSAxNi4wMDYxLDYuMTk5NjggMTYuMDA2MSwzLjk5MzlDMTYuMDA2MSwxLjc4ODEzIDE3Ljc5NDIsMCAyMCwwWiIgc3R5bGU9ImZpbGw6YmxhY2s7Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxnPgogICAgICAgICAgICA8cGF0aCBkPSJNNS44NTc4Niw1Ljg1Nzg2QzcuNDE3NTgsNC4yOTgxNSA5Ljk0NjM4LDQuMjk4MTUgMTEuNTA2MSw1Ljg1Nzg2QzEzLjA2NTgsNy40MTc1OCAxMy4wNjU4LDkuOTQ2MzggMTEuNTA2MSwxMS41MDYxQzkuOTQ2MzgsMTMuMDY1OCA3LjQxNzU4LDEzLjA2NTggNS44NTc4NiwxMS41MDYxQzQuMjk4MTUsOS45NDYzOCA0LjI5ODE1LDcuNDE3NTggNS44NTc4Niw1Ljg1Nzg2WiIgc3R5bGU9ImZpbGw6cmdiKDIxMCwyMTAsMjEwKTsiLz4KICAgICAgICA8L2c+CiAgICAgICAgPGc+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMCwzMi4wMTIyQzIyLjIwNTgsMzIuMDEyMiAyMy45OTM5LDMzLjgwMDMgMjMuOTkzOSwzNi4wMDYxQzIzLjk5MzksMzguMjExOSAyMi4yMDU4LDQwIDIwLDQwQzE3Ljc5NDIsNDAgMTYuMDA2MSwzOC4yMTE5IDE2LjAwNjEsMzYuMDA2MUMxNi4wMDYxLDMzLjgwMDMgMTcuNzk0MiwzMi4wMTIyIDIwLDMyLjAxMjJaIiBzdHlsZT0iZmlsbDpyZ2IoMTMwLDEzMCwxMzApOyIvPgogICAgICAgIDwvZz4KICAgICAgICA8Zz4KICAgICAgICAgICAgPHBhdGggZD0iTTI4LjQ5MzksMjguNDkzOUMzMC4wNTM2LDI2LjkzNDIgMzIuNTgyNCwyNi45MzQyIDM0LjE0MjEsMjguNDkzOUMzNS43MDE5LDMwLjA1MzYgMzUuNzAxOSwzMi41ODI0IDM0LjE0MjEsMzQuMTQyMUMzMi41ODI0LDM1LjcwMTkgMzAuMDUzNiwzNS43MDE5IDI4LjQ5MzksMzQuMTQyMUMyNi45MzQyLDMyLjU4MjQgMjYuOTM0MiwzMC4wNTM2IDI4LjQ5MzksMjguNDkzOVoiIHN0eWxlPSJmaWxsOnJnYigxMDEsMTAxLDEwMSk7Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxnPgogICAgICAgICAgICA8cGF0aCBkPSJNMy45OTM5LDE2LjAwNjFDNi4xOTk2OCwxNi4wMDYxIDcuOTg3ODEsMTcuNzk0MiA3Ljk4NzgxLDIwQzcuOTg3ODEsMjIuMjA1OCA2LjE5OTY4LDIzLjk5MzkgMy45OTM5LDIzLjk5MzlDMS43ODgxMywyMy45OTM5IDAsMjIuMjA1OCAwLDIwQzAsMTcuNzk0MiAxLjc4ODEzLDE2LjAwNjEgMy45OTM5LDE2LjAwNjFaIiBzdHlsZT0iZmlsbDpyZ2IoMTg3LDE4NywxODcpOyIvPgogICAgICAgIDwvZz4KICAgICAgICA8Zz4KICAgICAgICAgICAgPHBhdGggZD0iTTUuODU3ODYsMjguNDkzOUM3LjQxNzU4LDI2LjkzNDIgOS45NDYzOCwyNi45MzQyIDExLjUwNjEsMjguNDkzOUMxMy4wNjU4LDMwLjA1MzYgMTMuMDY1OCwzMi41ODI0IDExLjUwNjEsMzQuMTQyMUM5Ljk0NjM4LDM1LjcwMTkgNy40MTc1OCwzNS43MDE5IDUuODU3ODYsMzQuMTQyMUM0LjI5ODE1LDMyLjU4MjQgNC4yOTgxNSwzMC4wNTM2IDUuODU3ODYsMjguNDkzOVoiIHN0eWxlPSJmaWxsOnJnYigxNjQsMTY0LDE2NCk7Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxnPgogICAgICAgICAgICA8cGF0aCBkPSJNMzYuMDA2MSwxNi4wMDYxQzM4LjIxMTksMTYuMDA2MSA0MCwxNy43OTQyIDQwLDIwQzQwLDIyLjIwNTggMzguMjExOSwyMy45OTM5IDM2LjAwNjEsMjMuOTkzOUMzMy44MDAzLDIzLjk5MzkgMzIuMDEyMiwyMi4yMDU4IDMyLjAxMjIsMjBDMzIuMDEyMiwxNy43OTQyIDMzLjgwMDMsMTYuMDA2MSAzNi4wMDYxLDE2LjAwNjFaIiBzdHlsZT0iZmlsbDpyZ2IoNzQsNzQsNzQpOyIvPgogICAgICAgIDwvZz4KICAgICAgICA8Zz4KICAgICAgICAgICAgPHBhdGggZD0iTTI4LjQ5MzksNS44NTc4NkMzMC4wNTM2LDQuMjk4MTUgMzIuNTgyNCw0LjI5ODE1IDM0LjE0MjEsNS44NTc4NkMzNS43MDE5LDcuNDE3NTggMzUuNzAxOSw5Ljk0NjM4IDM0LjE0MjEsMTEuNTA2MUMzMi41ODI0LDEzLjA2NTggMzAuMDUzNiwxMy4wNjU4IDI4LjQ5MzksMTEuNTA2MUMyNi45MzQyLDkuOTQ2MzggMjYuOTM0Miw3LjQxNzU4IDI4LjQ5MzksNS44NTc4NloiIHN0eWxlPSJmaWxsOnJnYig1MCw1MCw1MCk7Ii8+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K') no-repeat 50% 50% / 2em 2em;
    z-index: 1000;
}


/* ------------------------ */
/* 5__Footer Content        */
/* ------------------------ */
/* A sticky footer. Requires:
		1. "position: relative;" to be set on the body tag.
		2. Javascript to dynamically determine footer height (on initial page launch and upon browser resizing
		   & set appropriate bottom padding on #site-body tag. Eg. function setStickyFooter() */
footer {
    margin-top: 70px;
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: left;
    background-color: var(--colour-blue-sky);
    color: #fff;
}

body.showScrollUpBtn footer {
    padding-bottom: 70px;
}

footer .footer-grid {
    display: grid;
    grid-template-columns: 270px 300px 150px 1fr;
    grid-template-areas: "box-1 box-2 box-3 box-4" "box-1 box-2 box-3 box-5";
    grid-gap: 40px;
}

footer .footer-grid .box-1 {
    grid-area: box-1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

footer .footer-grid .box-2 {
    grid-area: box-2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

footer .footer-grid .box-3 {
    grid-area: box-3;
}

footer .footer-grid .box-4 {
    grid-area: box-4;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
}

footer .footer-grid .box-5 {
    grid-area: box-5;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding-bottom: 3px;
}

footer .box-1 *:last-child,
footer .box-2 *:last-child,
footer .box-3 *:last-child,
footer .box-4 *:last-child {
    margin-bottom: 0;
}

footer .box-4 {
    text-align: right;
}

footer .logo-wrap img {
    max-width: 222px;
}

footer .social-icons {
    margin-bottom: 20px;
}

footer .social-icons img {
    width: 35px;
    height: auto;
    opacity: 1;
    transition: opacity .3s;
}

footer .social-icons a {
    display: inline-block;
}

footer .social-icons a:not(:last-child) {
    margin: 0 12px 12px 0;
}

footer .social-icons a:hover img {
    opacity: .7;
}

footer a,
footer a:visited {
    color: white;
    opacity: 1;
    text-decoration: none;
    transition: opacity .2s;
}

footer a:not(.logo-wrap):hover,
footer a:not(.logo-wrap):focus,
footer a:not(.logo-wrap):active {
    color: white;
    opacity: .7;
}

footer .footer-nav > ul {
    padding: 0;
    list-style-type: none;
    font-weight: 600;
}

footer .footer-nav > ul > li:not(:last-child) {
    margin-bottom: 15px;
}

footer .designed-by-wrap {
    font-size: .8em;
}

footer .designed-by-wrap img {
    width: 140px;
}

footer .partner-logo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1em;
    width: 196px;
}

footer .partner-logo-grid .plg-box-1 * {
    display: none;
}

footer .partner-logo-grid img {
    max-width: 100%;
    height: auto;
}

footer #footer-copyright {
    margin-top: 2.5em;
    font-size: .85em;
}

footer #mc_embed_signup {
    margin-top: 2em;
}

footer #mc_embed_signup .special-wrapper {
    position: relative;
}

footer #mc_embed_signup .special-wrapper label {
    display: none;
}

footer #mc_embed_signup .special-wrapper input[type="email"] {
    width: 100%;
    border-radius: 8px;
    border: none;
    background-color: white;
    padding: 15px 0 15px 15px;
    font-size: .8em;
}

footer #mc_embed_signup button[type="submit"] {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    padding: 0 11px;
    background-color: var(--colour-orange);
    border: 2px solid var(--colour-orange);
    color: white;
    border-radius: 0 8px 8px 0;
}

footer #mc_embed_signup h3 {
    margin-bottom: 1em;
    font-size: 1em;
    color: white;
    text-transform: initial;
}

footer #mc_embed_signup div.mce_inline_error {
    display: none !important;
}

/* ------------------------ */
/* 6__Typo3 Overrides       */
/* ------------------------ */

/* ------------------------ */
/* 7__Bootstrap Overrides   */
/* ------------------------ */
.btn {
    font-size: 1.333em;
    font-family: "proxima-nova", sans-serif;
    white-space: nowrap;
}

.btn.btn-sm {
    font-size: .85em;
    padding: .2em .6em;
    border-radius: 5px;
}

a.btn-orange,
.btn-orange,
a.btn-primary,
.btn-primary {
    padding: .2em 1.2em;
    color: white;
    background-color: var(--colour-orange);
    border: 2px solid var(--colour-orange);
    border-radius: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
}

.btn-orange:hover,
.btn-primary:hover {
    color: #fff;
    background-color: var(--colour-orange-lighter);
    border: 2px solid var(--colour-orange-lighter);
    text-decoration: none;
}

.btn-orange:focus,
.btn-orange.focus,
.btn-primary:focus,
.btn-primary.focus {
    color: #fff;
    background-color: var(--colour-orange-lighter2);
    outline: none;
    border: 2px solid var(--colour-orange-lighter2);
    text-decoration: none;
}

.btn-orange:not(:disabled):not(.disabled).active,
.btn-orange:not(:disabled):not(.disabled):active,
.show > .btn-orange.dropdown-toggle,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--colour-orange-lighter2);
    border: 2px solid var(--colour-orange-lighter2);
}

.btn-orange.focus,
.btn-orange:focus,
.btn-orange:not(:disabled):not(.disabled).active:focus,
.btn-orange:not(:disabled):not(.disabled):active:focus,
.show > .btn-orange.dropdown-toggle:focus,
.btn-primary.focus,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.show > .btn-primary.dropdown-toggle:focus {
    box-shadow: none;
    border: 2px solid var(--colour-orange-lighter2);
}

a.btn-orange-reverse,
.btn-orange-reverse {
    padding: .2em 1.2em;
    color: var(--colour-orange);
    background-color: white;
    border: 2px solid var(--colour-orange);
    border-radius: 15px;
    letter-spacing: 1px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    transition: all .2s;
}

.btn-orange-reverse:hover {
    color: #fff;
    background-color: var(--colour-orange);
    text-decoration: none;
}

.btn-orange-reverse:focus,
.btn-orange-reverse.focus {
    color: #fff;
    background-color: var(--colour-orange-lighter2);
    outline: none;
    text-decoration: none;
    border: 2px solid var(--colour-orange);
}

.btn-orange-reverse:not(:disabled):not(.disabled).active,
.btn-orange-reverse:not(:disabled):not(.disabled):active,
.show > .btn-orange-reverse.dropdown-toggle {
    color: #fff;
    background-color: var(--colour-orange-lighter2);
    border: 2px solid var(--colour-orange-lighter2);
}

.btn-orange-reverse.focus,
.btn-orange-reverse:focus,
.btn-orange-reverse:not(:disabled):not(.disabled).active:focus,
.btn-orange-reverse:not(:disabled):not(.disabled):active:focus,
.show > .btn-orange-reverse.dropdown-toggle:focus {
    box-shadow: none;
    border: 2px solid var(--colour-orange-lighter2);
}

a.btn-secondary-orange-reverse,
.btn-secondary-orange-reverse {
    padding: .2em 1.2em;
    color: white;
    background-color: rgba(255, 255, 255, 0);
    border: 2px solid white;
    border-radius: 15px;
    letter-spacing: 1px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color .2s;
}

.btn-secondary-orange-reverse:hover {
    color: #fff;
    background-color: #ff9e5f;
    border: 2px solid #ff9e5f;
    text-decoration: none;
}

.btn-secondary-orange-reverse:focus,
.btn-secondary-orange-reverse.focus {
    color: #fff;
    background-color: var(--colour-orange-darker);
    outline: none;
    text-decoration: none;
    border: 2px solid var(--colour-orange);
}

.btn-secondary-orange-reverse:not(:disabled):not(.disabled).active,
.btn-secondary-orange-reverse:not(:disabled):not(.disabled):active,
.show > .btn-orange-reverse.dropdown-toggle {
    color: #fff;
    background-color: var(--colour-orange-darker);
    border: 2px solid var(--colour-orange-darker);
}

.btn-secondary-orange-reverse.focus,
.btn-secondary-orange-reverse:focus,
.btn-secondary-orange-reverse:not(:disabled):not(.disabled).active:focus,
.btn-secondary-orange-reverse:not(:disabled):not(.disabled):active:focus,
.show > .btn-secondary-orange-reverse.dropdown-toggle:focus {
    box-shadow: none;
    border: 2px solid var(--colour-orange-darker);
}

a.btn-secondary-blue-reverse,
.btn-secondary-blue-reverse {
    padding: .2em 1.2em;
    color: white;
    background-color: rgba(255, 255, 255, 0);
    border: 2px solid white;
    border-radius: 15px;
    letter-spacing: 1px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color .2s;
}

.btn-secondary-blue-reverse:hover {
    color: #fff;
    background-color: #5296cc;;
    border: 2px solid #5296cc;;
    text-decoration: none;
}

.btn-secondary-blue-reverse:focus,
.btn-secondary-blue-reverse.focus {
    color: #fff;
    background-color: var(--colour-blue-sky-darker);
    outline: none;
    text-decoration: none;
    border: 2px solid var(--colour-orange);
}

.btn-secondary-blue-reverse:not(:disabled):not(.disabled).active,
.btn-secondary-blue-reverse:not(:disabled):not(.disabled):active,
.show > .btn-orange-reverse.dropdown-toggle {
    color: #fff;
    background-color: var(--colour-blue-sky-darker);
    border: 2px solid var(--colour-blue-sky-darker);
}

.btn-secondary-blue-reverse.focus,
.btn-secondary-blue-reverse:focus,
.btn-secondary-blue-reverse:not(:disabled):not(.disabled).active:focus,
.btn-secondary-blue-reverse:not(:disabled):not(.disabled):active:focus,
.show > .btn-secondary-blue-reverse.dropdown-toggle:focus {
    box-shadow: none;
    border: 2px solid var(--colour-blue-sky-darker);
}

/* ------------------------ */
/* 8__Media Queries         */
/* ------------------------ */
@media only screen and (max-width: 1640px) {
    body .sticky-book-btn {
        display: none;
    }
}

@media only screen and (max-width: 1240px) {
    #top-header .header-row-2-grid .header-logo-box {
        padding-left: 15px;
    }
}

@media only screen and (max-width: 1150px) {
    body.isNavOpen#body #top-header .header-row-2 .header-menu-box .header-container {
        transform: translateX(-100%);
        background-color: #1d2e4a;
    }

    body .sticky-book-btn {
        position: fixed;
        padding: .4em 60px .4em 1em;
    }

    #top-header .header-row-2 {
        padding: 25px 0 0;
    }

    #top-header .header-row-2-grid .header-logo-box .alt-logo-link {
        padding: 25px 20px 19px;
    }

    #top-header .header-row-2 .header-home-btn,
    #top-header .header-row-3 .nav-main > .header-home-btn {
        display: none;
    }

    #top-header .header-row-2-grid {
        display: grid;
        grid-template-columns: 190px 1fr 170px;
        grid-template-areas: "header-logo-box header-menu-box header-cta-box";
        grid-column-gap: 20px;
    }

    #top-hero-wrap,
    #top-hero-wrap .cover {
        min-height: 700px;
    }

    #top-hero-wrap .hero-text h2 {
        font-size: 3.7em;
    }

    .location-price-grid .price,
    .location-price-grid .label {
        display: block;
    }

    .location-price-grid .current-prices {
        margin-bottom: 10px;
    }

    footer .footer-grid {
        /*display: grid;*/
        /*grid-template-columns: repeat(4, 1fr);*/
        /*grid-template-areas: "box-1 box-2 box-3 box-4" "box-1 box-2 box-3 box-5";*/
        grid-gap: 30px;
    }
}

@media only screen and (max-width: 1049px) {
    #top-header {
        padding-right: 0;
    }

    #top-header .header-row-2-grid .header-logo-box .logo-link {
        top: -25px;
    }

    #top-header .header-row-2 {
        padding: 25px 0 0;
    }

    #top-header .header-row-2-grid .header-mobile-nav-btn-box {
        padding-right: 10px;
    }

    #top-header .header-row-2-grid {
        display: grid;
        grid-template-columns: 245px 1fr 60px;
        grid-template-areas: "header-logo-box header-cta-box header-mobile-nav-btn-box" "header-menu-box header-menu-box header-menu-box";
        grid-column-gap: 20px;
    }

    #top-header .header-row-2-grid .header-menu-box {
        padding-left: 0;
        padding-top: 25px;
    }

    #top-header .header-row-2-grid .header-mobile-nav-btn-box {
        display: block;
        position: relative;
    }

    .featured-activity-panel .underlay {
        border-top-right-radius: 12.2vw;
    }
}

@media only screen and (max-width: 1024px) {
    .finder-grid {
        grid-gap: 20px;
    }

    h2.special {
        font-size: 2.5em;
    }

    .specials-panel .text-box .pricing-info {
        margin-top: 5px;
        margin-bottom: 20px;
        font-size: 1em;
    }

    footer .logo-wrap img {
        max-width: 180px;
    }

    footer .footer-grid {
        grid-template-columns: 270px 1fr 220px;
        grid-template-areas: "box-1 box-2 box-3" "box-4 box-5 box-5";
        grid-gap: 50px;
    }

    footer .footer-grid .box-4 {
        align-items: flex-start;
    }

    footer .partner-logo-grid .plg-box-1 * {
        display: inline-block;
    }

    footer .partner-logo-grid .plg-box-2 * {
        display: none;
    }

    footer .footer-grid .box-5 {
        text-align: left;
        justify-content: flex-start;
    }
}


@media only screen and (max-width: 870px) {
    footer .footer-grid {
        grid-template-columns: 270px 1fr;
        grid-template-areas: "box-1 box-2" "box-3 box-4" "box-5 box-5";
        grid-gap: 50px;
    }
}

@media only screen and (max-width: 830px) {
    body {
        font-size: .9em;
    }

    #top-hero-wrap,
    #top-hero-wrap .cover {
        min-height: 600px;
    }

    #top-hero-wrap .hero-text h2 {
        font-size: 3em;
    }
}

@media only screen and (max-width: 767px) {
    #top-hero-wrap,
    #top-hero-wrap .cover {
        min-height: 550px;
    }

    .specials-panel {
        flex-direction: column;
    }

    .specials-panel .image-panel {
        flex: 0 0 auto;
        height: 400px;
    }

    .three-col-showcase .item {
        height: 450px;
    }

    .two-col-showcase .item {
        height: 450px;
    }

    .finder-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: "assist-box-1 assist-box-2" "assist-box-3 assist-box-4" "image-box image-box";
    }

    .finder-grid .image-box {
        height: 300px;
    }

    .finder-grid .box-1 .icon,
    .finder-grid .box-2 .icon,
    .finder-grid .box-3 .icon,
    .finder-grid .box-4 .icon {
        height: 70px;
    }

    .finder-grid .label {
        font-size: 1.3em;
    }

    .suggested-activities .btn-grid .label {
        font-size: 1.2em;
    }

    .suggested-activities .btn-grid .box-1 .icon,
    .suggested-activities .btn-grid .box-2 .icon,
    .suggested-activities .btn-grid .box-3 .icon {
        margin-bottom: 12px;
        height: 70px;
    }

    .suggested-activities .btn-grid {
        grid-gap: 20px;
    }

    .location-price-grid .price,
    .location-price-grid .label {
        display: inline;
    }

    .activity-options {
        grid-template-columns: 100%;
        grid-template-areas: "as-box-1" "as-box-2";
        grid-gap: 0;
    }

    .activity-options.reverse {
        grid-template-columns: 100%;
        grid-template-areas: "as-box-1" "as-box-2";
        grid-gap: 0;
    }

    .activity-options .activity-audience .label-box {
        flex: 0 0 auto;
    }

    .activity-options .activity-audience {
        margin-bottom: 1.5em;
    }

}

@media only screen and (max-width: 650px) {
    #top-hero-wrap,
    #top-hero-wrap .cover {
        min-height: 500px;
    }

    .three-col-showcase {
        flex-direction: column;
        border-top-left-radius: 0;
        border-bottom-right-radius: 0;
        height: 450px;
    }

    .three-col-showcase .item.item-mobile {
        display: block;
        flex: 0 0 100%;
        flex-basis: auto;
        border-top-left-radius: 60px;
        border-bottom-right-radius: 60px;
        overflow: hidden;
        height: 450px;
    }

    .three-col-showcase .item .overlay {
        opacity: .3;
    }

    .three-col-showcase .item-1,
    .three-col-showcase .item-2,
    .three-col-showcase .item-3 {
        display: none;
    }

    .three-col-showcase .item.item-mobile:hover {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .three-col-showcase .item.item-mobile:hover .overlay,
    .three-col-showcase .item.item-mobile:focus .overlay,
    .three-col-showcase .item.item-mobile:active .overlay {
        opacity: .3;
    }

    .three-col-showcase .item-mobile .combined-links {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        z-index: 1000;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .three-col-showcase .item-mobile .combined-links a,
    .three-col-showcase .item-mobile .combined-links a:visited {
        color: white;
        text-decoration: none;
        font-size: 1.4em;
        font-weight: 600;
        margin-bottom: 20px;
    }

    .three-col-showcase .item-mobile .combined-links a:hover,
    .three-col-showcase .item-mobile .combined-links a:focus,
    .three-col-showcase .item-mobile .combined-links a:active {
        text-decoration: underline;
    }

    .three-col-showcase .item-mobile .combined-links a .link-icon {
        width: 20px;
        height: auto;
        margin-left: 10px;
    }


    .two-col-showcase {
        flex-direction: column;
        /*border-top-left-radius: 0;*/
        /*border-bottom-right-radius: 0;*/
        height: 100vw;
    }

    .two-col-showcase .item {
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
    }

    .two-col-showcase .item .text-label {
        position: relative;
        margin-left: -12px;
        padding: 0;
        bottom: initial;
        left: initial;
        background: none;
        font-weight: 600;
        font-size: 1.5em;
    }

    .two-col-showcase .item .text-label::after {
        content: ' ';
        background: url(../images/icons/icon-arrow-in-circle-right-white.svg) left center no-repeat;
        background-size: contain;
        position: absolute;
        top: 5px;
        right: -35px;
        width: 24px;
        height: 24px;
        display: inline-block;
    }

    /*
    .two-col-showcase .item.item-mobile {
        display: block;
        flex: 0 0 100%;
        flex-basis: auto;
        border-top-left-radius: 60px;
        border-bottom-right-radius: 60px;
        overflow: hidden;
        height: 450px;
    }
    */
    .two-col-showcase .item:nth-child(2) {
        margin-left: 0;
        margin-right: 8px;
    }

    .two-col-showcase .item .overlay {
        opacity: .4;
    }

    .two-col-showcase .item .overlay .text {
        display: none;
    }

    /*
    .two-col-showcase .item-1,
    .two-col-showcase .item-2 {
        display: none;
    }
    */
    .two-col-showcase .item:hover {
        flex-grow: 1;
        max-width: 100%;
        flex-basis: 0;
    }
}

@media only screen and (max-width: 630px) {
    body {
        font-size: .85em;
    }

    .masthead .three-cols-highlight .box-1,
    .masthead .three-cols-highlight .box-2,
    .masthead .three-cols-highlight .box-3 {
        flex-direction: column;
    }

    .masthead .three-cols-highlight .icon {
        margin: 0 0 8px 0;
    }

    .masthead .three-cols-highlight .text {
        text-align: center;
    }

    .featured-activity-panel .activity-audience .label-box {
        margin-bottom: 8px;
    }

    footer .footer-grid {
        grid-template-columns: 1fr;
        grid-template-areas: "box-1" "box-2" "box-3" "box-4" "box-5";
        grid-gap: 0;
    }

    footer .footer-grid .box-2 {
        margin-top: 2em;
        padding: 2.5em 0;
        border-top: 1px solid rgba(255, 255, 255, .5);
    }

    footer .footer-grid .box-3 {
        margin-bottom: 3em;
        padding: 2.5em 0;
        border-top: 1px solid rgba(255, 255, 255, .5);
        border-bottom: 1px solid rgba(255, 255, 255, .5);
    }

    footer .footer-grid .box-4 {
        margin-bottom: 2em;
    }

    footer .partner-logo-grid {
        grid-gap: 1.2em;
    }
}

@media only screen and (max-width: 550px) {
    #top-header .header-row-2-grid {
        display: grid;
        grid-template-columns: 200px 1fr 60px;
        grid-template-areas: "header-logo-box header-cta-box header-mobile-nav-btn-box" "header-menu-box header-menu-box header-menu-box";
    }

    body .sticky-book-btn {
        display: none;
    }

    .location-price-grid .price,
    .location-price-grid .label {
        display: block;
    }

    .suggested-activities .btn-grid .label {
        font-size: 1.1em;
    }

    .suggested-activities .btn-grid {
        grid-gap: 15px;
    }

    .suggested-activities .btn-grid .box-1 .icon,
    .suggested-activities .btn-grid .box-2 .icon,
    .suggested-activities .btn-grid .box-3 .icon {
        margin-bottom: 10px;
        height: 50px;
    }

    .three-col-showcase {
        height: 350px;
    }

    .three-col-showcase .item.item-mobile {
        border-top-left-radius: 40px;
        border-bottom-right-radius: 40px;
        height: 350px;
    }

    .two-col-showcase .item .text-label {
        /*font-size: 1.35em;*/
        margin-left: -17px;
    }

    .two-col-showcase .item .text-label::after {
        top: 2px;
        right: -30px;
        width: 21px;
        height: 21px;
        display: inline-block;
    }

    .cta-panel-wrap {
        margin-bottom: 35px;
        display: flex;
        flex-direction: column;
        text-align: center;
    }

    .cta-panel .box-1 {
        margin-bottom: 20px;
        padding-right: 0;
    }
}

@media only screen and (max-width: 480px) {
    body {
        font-size: .8em;
    }

    #top-header .header-row-2 {
        padding: 15px 0 0;
    }

    #top-header .header-row-2-grid {
        display: grid;
        /*grid-template-columns: 225px 1fr;*/
        grid-template-columns: 200px 1fr 60px;
        grid-template-areas: "header-logo-box header-phone-icon-box header-mobile-nav-btn-box" "header-menu-box header-menu-box header-menu-box";
        grid-column-gap: 20px;
    }

    #top-header .header-row-2-grid .header-phone-icon-box {
        display: flex;
    }

    #top-header .header-row-2-grid .header-logo-box .alt-logo-link {
        padding: 25px 20px 0;
        top: -25px;
    }

    #top-header .header-row-2-grid .header-cta-box {
        display: none;
    }

    #top-header .header-row-2-grid .header-mobile-nav-btn-box {
        text-align: right;
    }

    .masthead .three-cols-highlight {
        grid-gap: 20px;
    }

    h2.special {
        font-size: 2.3em;
    }

    .finder-grid .box-1 .icon,
    .finder-grid .box-2 .icon,
    .finder-grid .box-3 .icon,
    .finder-grid .box-4 .icon {
        height: 60px;
    }

    .finder-grid .label {
        font-size: 1.2em;
    }

    .suggested-activities .btn-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "suggest-box-1 suggest-box-2" "suggest-box-3 suggest-box-3";
    }

    .suggested-activities .btn-grid .box {
        padding: 15px 15px 13px;
    }

    .suggested-activities .btn-grid .label {
        font-size: 1.25em;
    }

    .btn {
        font-size: 1.1em;
    }

    a.btn-orange,
    .btn-orange,
    a.btn-orange-reverse,
    .btn-orange-reverse,
    a.btn-secondary-orange-reverse,
    .btn-secondary-orange-reverse,
    a.btn-secondary-blue-reverse,
    .btn-secondary-blue-reverse {
        border-radius: 11px;
    }

    .mobile-only-block {
        display: block;
    }

    .mobile-only-inline {
        display: inline;
    }

    .desktop-only-block,
    .desktop-only-inline {
        display: none;
    }
}

@media only screen and (max-width: 420px) {
    .location-price-grid .current-prices {
        grid-template-columns: 1fr 15px 1fr 15px 1fr;
        grid-template-areas: "curr-label-box curr-label-box curr-label-box curr-label-box curr-label-box" "curr-adults spacer-1 curr-kids spacer-2 curr-family";
        grid-row-gap: 4px;
    }

    .location-price-grid .standard-prices {
        grid-template-columns: 1fr 15px 1fr 15px 1fr;
        grid-template-areas: "std-label-box std-label-box std-label-box std-label-box std-label-box" "std-adults spacer-1 std-kids spacer-2 std-family";
        grid-row-gap: 4px;
    }
}

@media only screen and (max-width: 400px) {
    #top-header .header-row-2-grid {
        display: grid;
        grid-template-columns: 200px 1fr;
    }

    .three-col-showcase .item-mobile .combined-links a,
    .three-col-showcase .item-mobile .combined-links a:visited {
        color: white;
        text-decoration: none;
        font-size: 1.25em;
        font-weight: 600;
        margin-bottom: 20px;
    }

    /*
    .two-col-showcase .item-mobile .combined-links a,
    .two-col-showcase .item-mobile .combined-links a:visited {
        color: white;
        text-decoration: none;
        font-size: 1.25em;
        font-weight: 600;
        margin-bottom: 20px;
    }
    */

    .two-col-showcase .item .text-label {
        font-size: 1.35em;
        margin-left: -17px;
    }

    .finder-grid .box-1 .icon,
    .finder-grid .box-2 .icon,
    .finder-grid .box-3 .icon,
    .finder-grid .box-4 .icon {
        margin-bottom: 10px;
        height: 50px;
    }

    .finder-grid .label {
        font-size: 1em;
    }
}

@media only screen and (max-width: 350px) {
    #top-hero-wrap,
    #top-hero-wrap .cover {
        min-height: 400px;
    }
}
