/*! HTML5 Boilerplate v6.1.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */


html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
a{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;
text-decoration: none;
color: #00AEEF;}
a img{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;}
.smoothie{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;}
h1,h2,h3,h4,h5,h6{margin: 0 0 10px 0; color: #001C31; color: #16216A; font-weight: 700;}
p{margin: 0 0 10px 0;}
strong{ color: #16216A;}



img, iframe{max-width: 100%;}

.container{width: calc(100% - 0px); margin: 0 auto; max-width: 1920px; background: #fff; position: relative;}

body{background: #efefef; font-family:'Karla', sans-serif; color: #16216A;}

.header{width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; padding: 0; transition: background 0.4s ease; position: relative; background: #fff; z-index: 100;}


.logo{width: 240px; padding: 20px 40px;background: rgba(0,66,117,0.0); }

.navigation{display: flex; flex-wrap: wrap; }
.navlink{text-transform: uppercase; letter-spacing: 1px; font-weight: 300; font-family:'Karla', sans-serif; color: #16216A; outline: 0px solid red; padding: 0 20px; display: flex; align-items: center;}
.navlink.current{font-weight: 700;}
.navlink:hover{/*background:rgba(255,255,255,0.4);*/ color: #000;}

.sticky{padding: 0; position: fixed; top: 0; left: 0px; width: calc(100% - 0px); max-width: 1920px;  background: linear-gradient(to bottom,rgba(0,66,117,0.9) 0, rgba(30,28,49,0) 100%);background: rgba(255,255,255,0.95); transition: all 0.3s ease;}
.sticky .logo{width: 240px;}

.slideholder{width: 100%; height: 80vh; position: relative;}
.slidedown{position: absolute; bottom: 0; left: 0; width: 100%; z-index: 50; text-align: center; font-size: 24px;}
.slidedown a{color: #fff;}
#bookslide{outline: none;}
.slidecover{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 49; pointer-events: none;
/*background: linear-gradient(to bottom,rgba(0,66,117,0.7) 0, rgba(0,66,117,0.2) 20%, rgba(0,28,49,0.4) 60%, rgba(30,28,49,0.7) 90%, rgba(30,28,49,1) 100%); */
}
.slider{width: 100%; height: 80vh; position: relative; }

.slideimg{width: 100%; height: 100%; position: relative;}
.theslide{width: 100%; height: 100%; position: relative;}
.theslide img{width: 100%; height: 100%; object-fit: cover; object-position: top center;}
.slidercaption{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 500}

.dfmborder{width: 100%; height: auto; background:#283583 url(../img/dfm-border.png) top center no-repeat;}
.dfmstrap{width: 100%; padding: 10px 40px 5px; color: #fff; font-style: italic;}

.innerslidecaption{width: calc(100% - 80px); height: 100%; max-width: 1220px; margin: 0 auto; display: flex; justify-content: center; align-items: flex-start; flex-direction: column; text-align: left; }

.captionheader{}
.caption span{background: #fff; background: rgba(255,255,255,1.6); color: #16216A; padding: 5px; font-size: 30px; font-weight: 300; letter-spacing: 0px; max-width: 70%; line-height: 42px; box-decoration-break: clone; -webkit-box-decoration-break: clone;}
.caption{ max-width: 50%; margin-bottom: 10px;}
.captionlink{background: #16216A; color: #fff; padding: 10px 20px; font-size: 16px; border-radius: 5px;}
.captionlink i{font-size: 12px;}
.captionlink:hover{background: #fff; color: #16216A;}

.controls{position: absolute; bottom: 40px; right: 40px; display: flex;}
.bx-prev{color: #fff; padding: 15px 20px; font-size: 18px; border-top: 2px solid #fff; border-bottom: 2px solid #fff; border-left: 2px solid #fff; border-right: 1px solid #fff;}
.bx-next{color: #fff; padding: 15px 20px; font-size: 18px; border-top: 2px solid #fff; border-bottom: 2px solid #fff; border-right: 2px solid #fff; border-left: 1px solid #fff;}
.bx-prev:hover{background: #fff; color: #000;}
.bx-next:hover{background: #fff; color: #000;}

.darkcontent{width: 100%; background: rgba(0,28,49,1);}
.lightcontent{width: 100%; background: #efefef; padding-bottom: 40px;}

.inner{width:100%; max-width: 1220px; margin: 0 auto;}
.innerdark{padding: 80px 0;}
.darkheader{width: 100%; font-size: 34px; text-align: center; color: #fff; color: rgba(255,255,255,0.6); text-transform: uppercase; font-weight: 700; position: relative;}
.darkbuttons{width: 100%; display: flex; justify-content: center; flex-wrap: wrap; padding: 20px 0 0}
.darkbooking{padding: 0 30px; margin: 20px 10px; text-transform: uppercase; font-weight: 700; color: rgba(0,28,49,1); font-size: 18px; position: relative;}

.darkpublic{border:2px solid #00aaee; color: #00aaee;}
.darkclient{border:2px solid #fff; color: #fff;}


.innertextcontent{width:1000px; max-width: calc(100% - 80px); margin: 0 auto; padding: 40px 0;}
.mainheader{font-size: 22px; letter-spacing: -1px;}


.homeboxes{width:calc(100% - 80px); max-width: 1000px; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap;}
.homebox{width: 48%; position: relative; background: #fff; padding-bottom: 50px; margin-bottom: 40px;}

.homeboxlink{position: absolute; bottom: 0; left: 0; background: #fff; text-align: right; width: 100%; padding: 15px 20px; font-weight: 300; font-size: 18px; z-index: 15; color: #16216A; transition: all 500ms cubic-bezier(0.770,0.000,0.175,1.000); border-top: 1px solid #D0D0CF; background: #D0D0CF;}

.homeboxlink i{font-size: 14px;}
.homeboxtext{width: 100%; padding: 20px; font-size: 14px; position: relative; z-index: 11; background: #fff; color: #16216A;}
.homeboxheader{font-size: 20px; font-weight: 300; position: absolute; top: -15px; left: -15px; padding: 10px; background: #fff; color: #16216A; z-index: 11; max-width: 70%; box-decoration-break: clone; -webkit-box-decoration-break: clone;}

.homeboximage{width: 100%; height: 300px; position: relative; top: 0; left: 0; z-index: 10; overflow: hidden;}
.homeboximage img{object-fit: cover; width: 100%; height: 100%; position: relative; z-index: 10; transition: all 500ms cubic-bezier(0.770,0.000,0.175,1.000);}

.homeboxdate{position: absolute; bottom: 0; left: 0; background: #fff; z-index: 11; font-size: 13px; padding: 10px; color: #16216A;}
.homebox:hover .homeboximage img{transform: scale(1.2,1.2);}
.homebox:hover .homeboxlink{background: #16216A; color: #fff; }



.darkband{width: 100%; background: #16216A; background: #D0D0CF; background: #efefef;}
.innerdarkband{width:calc(100% - 80px); max-width: 1000px; margin: 0 auto; padding: 20px 0; display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: center;}
.keycard{width: 180px; order: 1;}
.keyfooter{padding-left:40px; order: 2;}
.keyfooternav{margin-bottom: 5px; font-size: 16px;}
.footlink{margin-right: 15px; color: rgba(255,255,255,1); color: #16216A; font-size: 14px; text-transform: uppercase; font-weight: 400; }
.footlinkcurrent{font-weight: 600;}
.footlink:hover{color: rgba(0,0,0,1);}
.footsocial{display: flex; justify-content: flex-end; flex: 1; order: 3;}
.footsocial a{font-size:28px; line-height: 26px; display: block; color: #fff; color: #16216A; text-align: center; margin-right: 15px; opacity: 0.8}
.footsocial a:hover{opacity: 1}
.footer{background: rgba(0,28,49,1); background: #16216A}
.innerfooter{padding: 20px 0; font-size: 11px;width:calc(100% - 80px); margin: 0 auto; max-width: 1000px; color: #fff; display: flex; justify-content: space-between; flex-wrap: wrap;}
.copy{order: 1; width: 100%; text-align: left;}
.footcontact{order: 2;}
.footcontactlink{margin-right: 15px;}
.footcontactlink{color: #fff; font-weight: 700; font-size: 12px;}
.footcontactlink:hover{color: #00aaee; text-decoration: none;}


.footsocial a.fblink:hover{color: #3B5998;}
.footsocial a.twlink:hover{color: #55acee;}
.footsocial a.lilink:hover{color: #0077b5;}

.contactsocial a.fblink:hover{color: #3B5998;}
.contactsocial a.twlink:hover{color: #55acee;}
.contactsocial a.lilink:hover{color: #0077b5;}

.accreditation{width: 100%; background: #fff; padding: 20px; display: flex; justify-content: center; flex-wrap: wrap; }
.accreditation img{height: 30px; -webkit-filter: grayscale(0); filter: grayscale(0); opacity: 1; margin: 5px 20px; transition:0.4s all ease;}
.accreditation img:hover{-webkit-filter: grayscale(0); filter: grayscale(0); opacity: 0.6;}

.innersubfooter{padding: 0; width:calc(100% - 80px); margin: 0 auto; max-width: 1000px; display: flex; justify-content: space-between; flex-wrap: wrap;}
.subfooter{width: 100%; text-align: left; color: #b3b3b3; font-size: 10px; padding: 10px; background: #1a1a1a; }
.subfooter a{color: #F7CA18;}
.subfooter a:hover{color:#fff;background: none;}

.sitemapul{list-style-type: none;}
.sitemapul li{margin-bottom:5px; padding: 10px; background: #fff;}
.sitemapul li ul li{margin-bottom:0px; background:none;}
.sitemapul li ul{list-style-type: none;}
/* ==========================================================================
   ABOUT
   ========================================================================== */
.shallowslider{width: 100%; height: 50vh; position: relative; }
.shallowslideholder{width: 100%; height: 50vh; position: relative;}



.newstextcontent{width:1000px; max-width: calc(100% - 80px); margin: 0 auto;}
.newsimagecontent{width:1200px; max-width: calc(100% - 80px); margin: 40px auto;}
.newsheader{padding: 40px 0 0;}
.ug-strip-panel {background: #fff !important;}

.embed-container {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 0;
	height: 0;
}
.embed-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    border: none;
}

/* ==========================================================================
    Contact
   ========================================================================== */
.contactholder{width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap;}
.contactleft{width: 40%;}
.contactright{width: 55%;}
.contactsocial{display: flex;}
.contactsocial a{font-size: 28px; line-height: 26px; display: block; color: #16216A; text-align: center; margin-right: 15px; opacity: 0.8}
.contactsocial a:hover{opacity: 1}
.smallprint{font-size: 12px !important;}
.smallprint p{font-size: 12px !important; line-height: 20px;}
.redtree{width: 100%;}
.redtree img{width: 100%;}
.mapbox{width: 100%; height: 500px; border-bottom: 20px solid #fff;}
.markertext{font-size: 14px;font-weight: 400; color: #001C31;  text-align: center; text-transform: uppercase; letter-spacing: 1px; padding: 20px 10px;}
/* ==========================================================================
   FORM
   ========================================================================== */

.theform{width:100%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; padding: 0;}
.halfinput{width:  49%; position: relative;}
.fullinput{width: 100%; position: relative;}
.theform label{font-size: 12px;}
.textinput{width: 100%; border:1px solid #f9f9f9; padding: 10px; font-size: 0.8rem; background: rgba(0,0,0,0.05); background: #fff; outline: 1px solid #aaa; color: #0C0C0B; margin-bottom: 20px;}
.textinput:focus{outline: 1px solid #0f0f0f;}
.submitbutton{width: 100%; border:1px solid #16216A; border-radius: 2px; color: #fff; padding: 15px; transition: 0.4s; cursor: pointer; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; background: #16216A}
.submitbutton:hover{background: #fff; color: #16216A;}
textarea{height: 200px; text-align: left;}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.eachtestimonial{width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; background: #efefef; background: #fff url(../img/quote.png) top left no-repeat; min-height: 260px; margin-bottom: 40px; position: relative;}
.testimonialtext{padding: 40px 40px 40px 160px;}
.testimonialname{font-style: italic; font-weight: 700;}
.testimoniallogo{position: absolute; bottom: 40px; right: 40px;}
.testimoniallogo img{height: 40px;}

/* ==========================================================================
   PARTNERS
   ========================================================================== */
.eachpartner{width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; background: #efefef; background: #fff; min-height: 260px; margin-bottom: 40px; position: relative;}
.partnertext{padding: 40px 40px 80px 40px;}
.partnertext{padding: 40px;}

.partnerlogo{position: absolute; bottom: 40px; right: 40px;}
.partnerlogo img{height: 40px;}

.plogo{}
.plogo img{max-width: 200px;}
/* ==========================================================================
   GDPR
   ========================================================================== */

.ptable{margin: 20px 0;}
.ptable tr td{padding: 20px; border: 1px solid #ccc;}
.ptable thead th{padding: 20px; background: #062244; }
.ptable thead th p strong{font-weight: 700; color: #00AEEF;}
.smallprint{font-size: 12px !important;}
.smallprint p{font-size: 12px !important; line-height: 20px;}




.has-tooltip:hover + .tooltip,
.has-tooltip:focus + .tooltip,
.has-tooltip.hover + .tooltip {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1) rotate(0deg);
  pointer-events: inherit;
}
.has-tooltip:hover + .textinput { background-color: yellow;}
.has-tooltip{color: #062244;}
.tooltip {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.75) rotate(5deg);
  transform-origin: bottom center;
  padding: 10px 30px;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.75);
  text-align: center;
  color: #fff;
  transition: 0.15s ease-in-out;
  opacity: 0;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
  z-index: 5;
}
.tooltip.blue {
  background: rgba(6,34,68, 0.75);
}
.tooltip.blue:after {
  border-top: 5px solid rgba(6,34,68, 0.75);
}

.tooltip:hover {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1) rotate(0deg);
  pointer-events: inherit;
}
.tooltip img {
  max-width: 100%;
}
.tooltip:after {
  content: "";
  display: block;
  margin: 0 auto;
  widtH: 0;
  height: 0;
  border: 5px solid transparent;
  border-top: 5px solid rgba(0, 0, 0, 0.75);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
}



.privacylinks{width: 100%; padding: 40px 40px 20px; background: #062244; display: flex; justify-content: space-between; flex-wrap: wrap; }
.privacylink{width: calc(50% - 10px); margin-bottom: 20px; padding: 10px; background: #fff;color: #003E4A; transition: all 0.3s cubic-bezier(.25,.8,.25,1); box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); text-transform: uppercase; font-weight: 300; font-size: 14px;}
.privacylink:hover{background: #00AEEF; }


/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width: 1220px) {.navigation{display: flex!important;}.ham{display: none;} .fillbg{background: rgba(52,51,51,0);}}
@media only screen and (max-width: 1220px) {
    .inner{width: 100; margin: 0 auto; max-width: 1220px;}
    .innercontent{padding: 50px 20px;}
    .carouselitem{width: calc(50% - 5px); margin-bottom: 10px; min-height: 300px;}
    .footnav a{margin-bottom: 10px;}
    .header{align-items: center; z-index: 501;}
    .ham{display: block; padding-right: 40px;}
    .navigation{display: none; width: 100%; height: calc(100vh - 80px); text-align: center; padding-top: 40px;}
    .navigation a{display: block; width: 100%; margin: 0; font-size: 24px; margin-bottom: 10px;}
    .bookonline{background: rgba(0,66,117,0);color: rgba(255,255,255,0.6); font-weight: 400}

    .bookonline:hover{background: rgba(0,66,117,0); color: rgba(255,255,255,1);}
    .navfoot{display: none;}
    .fillbg{background: rgba(255,255,255,1);}
    .homeboxes{width:calc(100% - 40px);}
    .keycard{order: 1;}
    .keyfooter{order: 3; width: 100%; padding: 40px 0 0;}
    .footsocial{order: 2;}
    .keyfooterpolicies{margin: 10px 0; padding: 10px 0; border-top: 1px solid rgba(255,255,255,0.2); border-bottom:1px solid rgba(255,255,255,0.2);}
    
}
@media only screen and (max-width: 1000px) {

.caption{max-width: 90%;}
    .copy{order: 2; width: 100%; display: block;}
    .footcontact{order: 1; width: 100%; margin-bottom: 10px; display: block;}
    .logo{width: 240px;}
    .sticky .logo{width: 240px;}
}
@media only screen and (max-width: 800px) {
    .homebox{width: 100%; margin-bottom: 20px;}
        .contactleft{width: 100%; margin-bottom: 40px;}
.contactright{width: 100%;}
    .dfmstrap{display: none;}
    .dfmborder{height: 37px;}
    .logo{width: 200px;}
    .sticky .logo{width: 200px;}
    }
    
 @media only screen and (max-width: 500px) {   
.footsocial{display: flex; justify-content: flex-start; width: 100%; order: 3; padding-top: 10px;}
     .caption span{font-size: 18px; line-height: 32px;}
    
    }
@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}


/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap; /* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}


/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster */
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
