/* ------------------- */
/* 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/css?family=Lato:400,400i,700,900|Oswald:400,500');

/* ------------------------ */
/* 1__CSS Resets            */
/* ------------------------ */
/* Limited CSS reset */
/* See normalize-4.1.1.css */

html, body, button, input, select, textarea {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
}

html {
	height: 100%;
	font-size: 17px; /* This is the base size the rem unit refers to */
}

body {
	font-size: 1rem;
	min-height: 100%;
	margin: 0;
	padding: 0;
	color: #282A2D;
}

/* ------------------ */
/* 2__Layout helpers  */
/* ------------------ */
.clear {
	clear: both;
}

.clearfix {
	zoom: 1;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.halign-l {
	text-align: left;
}

.halign-r {
	text-align: right;
}

.halign-c {
	text-align: center;
}

.valign-t {
	vertical-align: top;
}

.valign-m {
	vertical-align: middle;
}

.valign-b {
	vertical-align: bottom;
}

.css-table {
	display: table;
	width: 100%;
	table-layout: fixed;
}

.t-inline {
	display: inline-table !important;
}

/* Use this over .css-table in cases where you want the table to take up 100% of the parent's height. An example use
case would be where you want to vertically center overlaid text on a background image. The background image would be part
of the parent, the text component would be a child inside of a block with a "display: table-cell" CSS property.
 */
.wrapper-table {
	display: table;
	width: 100%;
	height: 100%;
	table-layout: fixed;
}

.css-table-row {
	display: table-row;
}

.css-table-cell {
	display: table-cell;
}

.full-width-img {
	width: 100%;
	height: auto;
	display: block;
}

.constrain {
	width: 1000px;
	margin: 0 auto;
}

.constrain-600w {
	position: relative;
	max-width: 600px;
	margin: 0 auto;
}

.constrain-1200w {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}

.constrain-1512w {
	position: relative;
	max-width: 1512px;
	margin: 0 auto;
}

.overflow-visible {
	overflow: visible;
}

/* ----------------------------- */
/* Bootstrap full height columns */
/* ----------------------------- */
/* Full height Bootstrap row */
/* Requires the following HTML structure
            <div class="row">
               <div class="bs-row-full-height">
                <div class="col-xs-6 bs-col-full-height">
                  <div class="bs-col-inside">
                    Your content in here
                  </div>
                </div>
              </div>
            </div>
*/
.bs-row-full-height {
	display: table;
	width: 100%;
	height: 100%;
	table-layout: fixed;
}

/* Full height Bootstrap column */
.bs-col-full-height {
	display: table-cell;
	float: none;
	height: 100%;
}

/* Column internal container for full height Bootstrap column */
.bs-col-inside {
	margin-top: 1px;
	margin-bottom: 1px;
}

/* 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%;
}

/* Responsive container for embedded Google Maps. The Youtube iframe should be a child of a div with a class of
  "gmap-container". 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 responsifyGoogleMaps() JavaScript function to do it programmatically.
  NOTE: The aspect ratio doesn't have to be 16:9. You could make it 4:3 by setting padding-bottom: 75.6%
*/
.gmap-container {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.gmap-container iframe, .gmap-container object, .gmap-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.mobile-only-block,
.mobile-only-inline {
	display: none;
}

.desktop-only-block {
	display: block;
}

.desktop-only-inline {
	display: inline-block;
}

.img-circle {
	border-radius: 50%;
}

.mw300 {
	max-width: 300px;
}

.pt-60 {
	padding-top: 60px;
}

.pb-60 {
	padding-bottom: 60px;
}

.frame-inline-block {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;
}

/* ------------------------ */
/* 3__Header styles         */
/* ------------------------ */
#main-header {
	border-top: 25px solid #282A2D;
}

.header-grid {
	display: grid;
	grid-template-columns: 1fr 220px;
	grid-template-areas: "header-menu header-cta-button";
}

.header-grid .header-menu-box {
	grid-area: header-menu;
	align-self: center;
	text-align: left;
	height: 100%;
}

.header-grid .header-cta-box {
	grid-area: header-cta-button;
	align-self: center;
	text-align: right;
	height: 100%;
}

.header-grid .header-mobile-nav-btn-box {
	display: none;
	align-self: center;
	grid-area: header-mobile-nav-btn;
	height: 100%;
	position: relative;
	text-align: right;
}

#menu-desktop {
	display: inline;
}

/* ------------------------ */
/* 4__Main Content          */
/* ------------------------ */
#top-hero-wrap {
	margin: 0 auto;
	position: relative;
	z-index: -1;
}

#top-hero-wrap .cover {
	position: absolute;
	width: 100%;
	-webkit-background-size: cover !important;
	-moz-background-size: cover !important;
	-o-background-size: cover !important;
	background-size: cover !important;
}

#top-hero-wrap .cover img:not(.hero-logo) {
	width: 100%;
	background-color: #444;
	object-fit: cover
}

#top-hero-wrap,
#top-hero-wrap .cover img:not(.hero-logo) {
	height: 650px;
}

#top-hero-wrap .banner-overlay-top {
	display: block;
	position: absolute;
	height: 250px;
	left: 0;
	right: 0;
	top: 0;
	z-index: 100;
	background: transparent;
	background: -moz-linear-gradient(bottom, transparent 0%, #000 100%);
	background: -webkit-gradient(left bottom, left top, color-stop(0%, transparent), color-stop(100%, #000));
	background: -webkit-linear-gradient(bottom, transparent 0%, #000 100%);
	background: -o-linear-gradient(bottom, transparent 0%, #000 100%);
	background: -ms-linear-gradient(bottom, transparent 0%, #000 100%);
	background: linear-gradient(to top, transparent 0%, rgba(26, 26, 26, .7) 100%);
}

#top-hero-wrap .hero-logo {
	position: absolute;
	top: 30px;
	left: 50%;
	right: 50%;
	transform: translateX(-50%);
	z-index: 200;
}

/* START object-fit:cover Fix for IE & IE Edge */
/* Note, requires JS to write the "compat-object-fit class to appropriate container element */
.cover.compat-object-fit {
	background-size: cover;
	background-position: center center;
}

.cover.compat-object-fit-x-left {
	background-size: cover;
	background-position-x: left;
}

.cover.compat-object-fit-x-center {
	background-size: cover;
	background-position-x: center;
}

.cover.compat-object-fit-x-right {
	background-size: cover;
	background-position-x: right;
}

.cover.compat-object-fit-y-top {
	background-size: cover;
	background-position-y: top;
}

.cover.compat-object-fit-y-center {
	background-size: cover;
	background-position-y: center;
}

.cover.compat-object-fit-y-bottom {
	background-size: cover;
	background-position-y: bottom;
}

/* Hide the image if object fit is not supported in IE/Edge - opacity to 0 for the link area */
.cover.compat-object-fit img {
	opacity: 0;
}

/* END object-fit:cover Fix for IE & IE Edge */

#site-body {
	padding: 0;
}

#masthead-main {
	padding-top: 50px;
	padding-bottom: 50px;
	background-color: #282A2D;
	text-align: center;
}

#masthead-main .star-rating-gfx {
	width: 600px;
	max-width: 100%;
	height: auto;
	margin-bottom: 30px;
}

#masthead-main .masthead-header {
	font-size: 3em;
	font-weight: 900;
	color: #fff;
}

#masthead-main .masthead-subheader {
	margin-bottom: 0;
	font-size: 1.5em;
	color: #ffcc00;
}

#masthead {
	display: table;
	padding-top: 24px;
	padding-bottom: 24px;
	background: #F7F7F7;
	text-align: center;
}

#masthead * {
	vertical-align: middle;
}

#masthead.w-booking-cta h3 {
	font-size: 2em;
	font-weight: 400;
	display: inline !important;
}

#masthead.w-booking-cta .icon {
	width: 55px;
	height: 55px;
	margin-top: -10px;
}

#masthead.w-booking-cta .arr-button {
	margin-left: 70px;
	text-transform: none;
	font-weight: 700;
}

#site-body img {
	max-width: 100%;
	height: auto;
}

hr {
	border-top: 1px solid #ddd;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
}

h1 {
	font-weight: 900;
	font-size: 2.5em;
}

h2 {
	font-weight: 900;
	font-size: 2em;
}

h3 {
	font-size: 1.5em;
}

h4 {
	font-family: 'Oswald', sans-serif;
	color: #DD701D;
	font-size: 1.4rem;
	font-weight: 400;
	text-transform: uppercase;
	margin: 0;
}

a {
	transition: .1s all ease-out;
}

a,
a:visited,
a:hover,
a:active,
a:focus {
	color: #DD701D;
	text-decoration: none;
}

a:hover,
a:active,
a:focus {
	text-decoration: underline;
}

a.btn {
	text-decoration: none;
	transition: .4s all ease-out;
}

a.btn:visited {
	color: #282A2D;
}

hr {
	width: 40%;
	border-color: #ccc;
}

.bold {
	font-weight: 600;
}

#site-body ul {
	list-style-type: none;
	padding-left: 24px;
}

ol li {
	padding-left: 3px;
}

#site-body ul:not(.pagination) li {
	list-style-position: inside;
	text-indent: -7px;
	margin-bottom: .3em;
}

#site-body ul li:before {
	display: inline-block;
	position: relative;
	top: 1px;
	content: '\2022';
	margin-left: -8px;
	margin-right: 9px;
	font-size: 1.4em;
	line-height: .5em;
	color: #9F2424;
}

#site-body ol {
	padding-left: 20px;
}

#site-body ol li {
	text-indent: -3px;
}

blockquote {
	font-size: 2em;
}

.cols {
	padding-bottom: 40px;
}

.cols .column h1:first-child,
.cols .column h2:first-child,
.cols .column h3:first-child,
.cols .column h4:first-child,
.cols .column h5:first-child,
.cols .column h6:first-child,
.cols .column p:first-child {
	margin-top: 0;
}


#btnScrollToTop {
	display: none;
	position: fixed;
	bottom: 80px;
	right: 0;
	z-index: 99;
	border: none;
	outline: none;
	background-color: #DD701D;
	color: white;
	cursor: pointer;
	padding: 10px;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	font-size: 18px;
}

#btnScrollToTop:hover {
	background-color: #c4621a;
}

.bg-shadow-top {
	padding-top: 60px;
	background: #fff url(../images/shadow_small.png) center 0px/100% 20px no-repeat;
}

.bg-shadow-top-w-border-top {
	border-bottom: 1px solid #e6e6e6;
}

.wide.grey-panel {
	position: relative;
	margin-bottom: 60px;
	background-color: #f7f7f7;
	padding: 50px 0;
	border-top: 1px solid #e6e6e6;
}

.wide.grey-panel hr {
	width: 40%;
	border-color: #ccc;
}

.wide.grey-panel:after {
	position: absolute;
	bottom: -20px;
	background: #fff url(../images/shadow_small.png) center 0px/100% 20px no-repeat;
	content: '';
	width: 100%;
	height: 20px;
}

.wide.grey-panel .cols > div:last-child {
	margin-bottom: 0;
}

.ta-awards-grid {
	display: grid;
	grid-template-columns: 200px 200px 200px;
	grid-template-areas: "box1 box2 box3";
	grid-column-gap: 15px;
	grid-row-gap: 15px;
	margin-top: 35px;
	justify-content: space-around;
}

/*
.ta-awards-grid .grid-item {
	max-width: 200px;
}
*/

.ta-awards-grid .grid-item-1 {
	grid-area: box1;
}

.ta-awards-grid .grid-item-2 {
	grid-area: box2;
}

.ta-awards-grid .grid-item-3 {
	grid-area: box3;
}

.ta-awards-grid .grid-item img {
	width: 100%;
	height: auto;
}

.ta-awards-grid .grid-item .TA_tchotel > img {
	width: inherit;
	display: none;
}

.ta-awards-grid .grid-item #TA_tchotel211 > div {
	height:inherit;
	width: inherit;
}

blockquote,
.testimonials .item {
	position: relative;
	margin: 0 auto;
	padding: 10px 65px 10px 65px;
	border-left: none;
	text-align: center;
	max-width: calc(100% - 130px);
}

blockquote {
	font-size: 1em;
}

.testimonials hr {
	width: 40%;
	border-top: 1px solid #ddd;
	margin-bottom: 20px;
}

.testimonials .item .quote {
	font-size: 1.1em;
	line-height: 1.3;
	font-style: italic;
}

.testimonials .item .quote-author {
	font-size: 1em;
	color: #DD701D;
}

.testimonials .bracing-col-left,
.testimonials .bracing-col-right {
	width: 100px;
}

.testimonials .bracing-col-left {
	padding-right: 0;
}

.testimonials .bracing-col-right {
	padding-left: 10px;
}

.testimonials .brace {
	font-size: 5.5em;
	color: #e6e6e6;
	line-height: .3;
}

.owl-carousel .owl-dots button:focus {
	outline: none;
}

/* Arrow Buttons */
/* ------------- */
.arr-button {
	display: table;
	line-height: 54px;
	vertical-align: middle;
	text-align: center;
	padding: 0 14px 0 18px;
	color: #fff;
	background: #9F2424;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 1.2em;
	transition: .15s all ease-out;
}

.arr-button-yellow {
	background: #FFCC00;
}

#site-body .w-booking-cta .arr-button-yellow {
	color: #282A2D;
}

.arr-button.small {
	font-size: 1em;
	line-height: 40px;
}

.arr-button.no-icon {
	padding: 0 14px;
}

h4.arr-button {
	margin: 10px 0;
}

.arr-button:visited,
.arr-button:hover,
.arr-button:active,
.arr-button:focus {
	color: #fff;
	text-decoration: none;
}

.arr-button::after {
	position: absolute;
	content: " ";
	width: 0;
	height: 0;
	border-style: solid;
}

a.arr-button:hover {
	background: #8f2020;
}

a.arr-button:active,
a.arr-button:focus {
	background: #7d1c1c;
}

a.arr-button-yellow:hover {
	background: #FFBB00;
}

a.arr-button-yellow:active,
a.arr-button-yellow:focus {
	background: #FFAA00;
}

a.arr-button:not(.no-animate):hover {
	margin-left: 5px;
}

.arr-button.next::after {
	border-style: solid;
}

.arr-button .btn-icon {
	width: 27px;
	height: 27px;
	margin-top: -5px;
	margin-right: 3px;
}

/* Next Button */
/* ----------- */
.arr-button.next::after {
	top: 0;
	right: -27px;
	border-width: 27px 0 27px 27px;
	border-color: transparent transparent transparent #9F2424;
}

.arr-button-yellow.next::after {
	top: 0;
	right: -27px;
	border-width: 27px 0 27px 27px;
	border-color: transparent transparent transparent #FFCC00;
}

.arr-button.small.next::after {
	top: 0;
	right: -20px;
	border-width: 20px 0 20px 20px;
}

a.arr-button.next:hover::after {
	border-left-color: #8f2020;
}

a.arr-button.next:active::after,
a.arr-button.next:focus::after {
	border-left-color: #7d1c1c;
}

a.arr-button-yellow.next:hover::after {
	border-left-color: #FFBB00;
}

a.arr-button-yellow.next:active::after,
a.arr-button-yellow.next:focus::after {
	border-left-color: #FFAA00;
}

/* End: Sub-page menu */

.card-grid {
	margin-top: 80px;
	position: relative;
}

.card-grid .card {
	position: relative;
	padding: 10px;
	border: none;
	box-shadow: 0px 4px 14px 1px rgba(206, 206, 206, 0.51);
}

.card-grid .card-body {
	position: absolute;
	text-align: center;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 2;
	color: #fff;
}

.card-grid .card .card-head {
	position: absolute;
	width: 100%;
	left: 50%;
	right: 50%;
	top: 40%;
	bottom: 50%;
	transform: translateX(-50%);
}

.card-grid .card .card-head h3 {
	font-size: 2.5em;
	text-transform: uppercase;
	color: #fff;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	letter-spacing: 1px;
}

.card-grid .card .card-text p:last-child {
	margin-bottom: 0;
}

.card-grid .card .postfix-button {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
}

.card-grid .card img {
	width: 100%;
	border-radius: 0;
}

.card-grid .overlay {
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	bottom: 10px;
	background: rgba(0, 0, 0, .3);
	transition: background .3s;
}

.card-grid .card:hover .overlay {
	background: rgba(0, 0, 0, 0);
}

.card-button {
	padding: .375rem 1.2rem;
	color: #282A2D;
	background-color: #FF8800;
	letter-spacing: 1px;
	transition: background-color 0.2s ease-in-out 0s;
	font-weight: 500;
}

.card-button:hover {
	color: #282A2D;
	background-color: #DD701D;
}

a.card-button,
a.card-button:visited,
a.card-button:hover,
a.card-button:active,
a.card-button:focus {
	color: #fff;
	text-decoration: none;
}

.accomm-list-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 10px;
	grid-row-gap: 25px;
}

.accomm-list-grid .grid-item {
	position: relative;
	justify-self: stretch;
}

#accomm-types-list figure {
	margin: 0;
}

#accomm-types-list .photo-fig {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

#accomm-types-list .photo-fig .cover {
	height: 100%;
}

#accomm-types-list .photo-fig .cover:after {
	content: " ";
	position: absolute;
	top: 9px;
	left: 7px;
	right: 7px;
	bottom: 9px;
	border: 1px solid rgba(239, 239, 239, 0.85);
	z-index: 0;
	-webkit-transition: 350ms ease-in-out;
	-moz-transition: 350ms ease-in-out;
	-o-transition: 350ms ease-in-out;
	-ms-transition: 350ms ease-in-out;
	transition: 350ms ease-in-out;
}

#accomm-types-list .photo-fig .cover .overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transition: background .3s;
}

#accomm-types-list .photo-fig .cover:hover .overlay {
	background: rgba(0, 0, 0, .3);
}

#accomm-types-list .photo-fig img {
	display: none;
}

#accomm-types-list .accomm-list-btn-link {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

#accomm-types-list .accomm-list-btn-link .accomm-list-btn {
	display: inline-block;
	padding: 15px 25px;
	background-color: rgba(255, 255, 255, .8);
	text-align: center;
}

#accomm-types-list .accomm-list-btn-link .accomm-list-btn .room-name {
	font-weight: 900;
	font-size: 1.8em;
	line-height: 1;
	color: #282A2D;
}

#accomm-types-list .accomm-list-btn-link .accomm-list-btn .cta {
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	font-size: 1.2em;
	color: #282A2D;
}

#accomm-types-list .accomm-list-btn-link .accomm-list-btn hr {
	width: 20%;
	border: 1px solid #282A2D;
}

#accomm-types-list .accomm-desc {
	padding: 45px 30px;
	background: #282A2D;
	color: #fff;
}

#accomm-types-list .accomm-desc a,
#accomm-types-list .accomm-desc a:visited,
#accomm-types-list .accomm-desc a:hover,
#accomm-types-list .accomm-desc a:active,
#accomm-types-list .accomm-desc a:focus {
	color: #fff;
	text-decoration: none;
}

#accomm-types-list .accomm-desc ul li:before {
	color: #fff;
}

#accomm-types-list .accomm-desc h3 {
	font-weight: 900;
	font-size: 2em;
}

form.contact-us-form .powermail_fieldset_1 > .row > .powermail_fieldwrap {
	padding-left: 0;
	padding-right: 0;
}


/* ------------------------ */
/* 5__Footer Content        */
/* ------------------------ */
footer {
	position: relative;
	color: #fff;
}

footer .footer-row-1 {
	padding-top: 15px;
	padding-bottom: 15px;
	background-color: #F2F2F2;
	text-align: center;
	color: #282A2D;
}

footer .footer-row-2 {
	padding-top: 25px;
	padding-bottom: 25px;
	background-color: #282A2D;
	color: #fff;
	text-align: center;
}

footer h1:first-child,
footer h2:first-child,
footer h3:first-child,
footer h4:first-child,
footer h5:first-child,
footer h6:first-child,
footer p:first-child {
	margin-top: 0;
}

footer h1,
footer h2 {
	font-size: 1.45em;
	text-transform: inherit;
	font-weight: 600;
	color: #fff;
}

footer h3 {
	font-size: 1.1em;
	font-weight: 500;
	color: #fff;
}

footer a,
footer a:visited,
footer a:hover,
footer a:active,
footer a:focus {
	text-decoration: none;
	color: #fff;
	transition: 0s all ease-out;
}

footer a:hover,
footer a:active,
footer a:focus {
	text-decoration: none;
}

footer .footer-nav {
	font-size: .85em;
	text-align: center;
	font-weight: 600;
	text-transform: uppercase;
}

footer .footer-nav a,
footer .footer-nav a:visited {
	color: #282A2D;
	text-decoration: none;
}

footer .footer-nav a:hover,
footer .footer-nav a:focus,
footer .footer-nav a:active {
	color: #838a93;
	text-decoration: none;
}

footer .footer-nav a:not(:first-of-type) {
	padding-left: 9px;
}

footer .footer-nav a:not(:last-of-type) {
	padding-right: 12px;
	border-right: 2px solid #333;
}

footer ul.contact-details {
	list-style-type: none;
	padding: 0;
	margin: 0 0 5px 0;
}

footer ul.contact-details li {
	display: inline-block;
}

footer ul.contact-details .item-1 {
	margin-right: 20px;
}

footer ul.contact-details .item-2 {
	margin-right: 20px;
}

footer ul.contact-details li > i.fa,
footer ul.contact-details li > i.fas {
	padding-right: 5px;
}

footer address {
	margin-bottom: 0;
}

footer address i.fa,
footer address i.fas {
	padding-right: 5px;
}

footer ul.contact-details a:hover,
footer ul.contact-details a:focus,
footer ul.contact-details a:active {
	color: #ccc;
}

footer #footer-copyright {
	margin-top: 1.5rem;
}

/* ------------------------ */
/* 6__Typo3 Overrides       */
/* ------------------------ */
.ce-gallery figure {
	display: block;
}

.ce-gallery figcaption {
	display: block;
}

/* This fixes issues caused by Typo3 fluid layouts for our top hero image */
#top-hero-wrap .ce-gallery .ce-outer,
#top-hero-wrap .ce-gallery .ce-inner {
	width: 100%;
}

#top-hero-wrap .ce-intext.ce-right .ce-gallery,
#top-hero-wrap .ce-intext.ce-left .ce-gallery,
#top-hero-wrap .ce-above .ce-gallery {
	margin-bottom: 0;
}

/* Typo3 overrides for correct image height in #top-hero-wrap once inside of a flexslider */
#top-hero-wrap .flexslider {
	margin-bottom: 0;
	border: none;
}

#top-hero-wrap > div {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides > li {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides > li > div {
	height: 100%;
}

#top-hero-wrap > div .flexslider .slides img {
	width: inherit;
}

/* Typo3 overrides - fixes for IE 11 */
.ce-gallery,
.ce-column {
	max-width: 100%;
}

.ce-gallery img {
	max-width: 100%;
	height: auto;
}

/* ------------------------ */
/* 7__Bootstrap Overrides   */
/* ------------------------ */
.btn {
	font-size: 1em;
}
.btn-primary {
	padding: .375rem 1.2rem;
	color: #282A2D;
	background-color: #FFCC00;
	border-color: #FFCC00;
	border-radius: 0;
	letter-spacing: 1px;
	transition: background-color 0.2s ease-in-out 0s;
	font-weight: 500;
}

.btn-primary:hover {
	color: #282A2D;
	background-color: #FFAA00;
	border-color: #FFAA00;
}

.btn-primary:focus,
.btn-primary.focus {
	color: #fff;
	background-color: #DD701D;
	border-color: #DD701D;
	outline: none;
}

.btn.focus,
.btn:focus {
	outline: 0;
	box-shadow: none;
}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle {
	color: #fff;
	background-color: #DD701D;
	border-color: #DD701D;
}

.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;
}

/* ------------------------ */
/* 8__Media Queries         */
/* ------------------------ */
@media only screen and (max-width: 1800px) {
	#top-hero-wrap,
	#top-hero-wrap .cover img:not(.hero-logo) {
		height: 580px;
	}
}

/* Large Devices, Wide Screens (Bootstrap col-lg-*) */
@media only screen and (max-width: 1200px) {
	#top-hero-wrap,
	#top-hero-wrap .cover img:not(.hero-logo) {
		height: 500px;
	}

	#top-hero-wrap .hero-logo {
		top: 22px;
		width: 200px;
		height: auto;
	}

	#masthead-main .masthead-header {
		font-size: 2.6em;
	}

	.card-grid .card .card-head h3 {
		font-size: 2em;
	}
}

@media only screen and (max-width: 1099px) {
	.header-cta-box .arr-button {
		font-size: 1em;
		line-height: 40px;
	}

	.header-cta-box .arr-button .btn-icon {
		width: 24px;
		height: 24px;
		margin-top: -6px;
	}

	.header-cta-box .arr-button.next::after {
		right: -20px;
		border-width: 20px 0 20px 20px;
	}
}

@media only screen and (max-width: 1000px) {
	#main-header {
		border-top: 12px solid #fff;
	}

	.header-grid {
		grid-template-columns: 1fr 116px;
		grid-template-areas: "header-cta-button header-mobile-nav-btn"
	}

	.header-grid .header-logo-box {
		padding-left: 15px;
		padding-right: 15px;
		padding-bottom: 0;
	}

	.header-grid .header-mobile-nav-btn-box {
		display: block;
	}

	.header-cta-box .arr-button {
		margin-bottom: 12px;
		font-size: 1em;
		line-height: 42px;
	}

	.header-cta-box .arr-button.next::after {
		right: -21px;
		border-width: 21px 0 21px 21px;
	}

	#menu-desktop {
		display: none;
	}

	#top-hero-wrap,
	#top-hero-wrap .cover img:not(.hero-logo) {
		height: 400px;
	}

	#masthead.w-booking-cta h3 {
		font-size: 1.7em;
	}

	#masthead.w-booking-cta .icon {
		width: 45px;
		height: 45px;
		margin-top: -8px;
	}

	#masthead.w-booking-cta .arr-button {
		margin-left: 50px;
	}
}

/* Medium Devices, Desktops (Bootstrap col-md-*) */
@media only screen and (max-width: 992px) {
	blockquote,
	.testimonials .item {
		padding: 10px 35px 10px 35px;
		max-width: calc(100% - 30px);
	}

	.testimonials .item .quote {
		font-size: 1em;
		line-height: 1.25;
	}

	.testimonials .item .quote-author {
		font-size: .95em;
	}

	.card-grid .card .card-head h3 {
		font-size: 1.7em;
	}
}

@media only screen and (max-width: 950px) {
	#masthead-main .masthead-header {
		font-size: 2.3em;
	}

	#masthead-main .masthead-subheader {
		font-size: 1.3em;
	}
}

@media only screen and (max-width: 925px) {
	.card-grid .card .postfix-button {
		bottom: 30px;
	}

	#masthead.w-booking-cta h3 {
		font-size: 1.5em;
	}

	#masthead.w-booking-cta .icon {
		width: 40px;
		height: 40px;
		margin-top: -7px;
	}

	#masthead.w-booking-cta .arr-button {
		margin-left: 45px;
	}
}

@media only screen and (max-width: 800px) {
	#masthead-main .masthead-header {
		font-size: 2em;
	}

	#masthead-main .masthead-subheader {
		font-size: 1.1em;
	}

	h1 {
		font-size: 2rem;
	}

	h2 {
		font-size: 1.6rem;
	}

	h3 {
		font-size: 1.4875em;
	}

	#top-hero-wrap,
	#top-hero-wrap .cover img:not(.hero-logo) {
		height: 340px;
	}

	#top-hero-wrap .hero-logo {
		top: 22px;
		width: 170px;
		height: auto;
	}

	.arr-button {
		line-height: 36px;
		padding: 0 14px;
		font-size: 1.2em;
	}

	.arr-button.next::after {
		right: -18px;
		border-width: 18px 0 18px 18px;
	}
}

/* Small Devices, Tablets (Bootstrap col-sm-*) */
@media only screen and (max-width: 767px) {
	body {
		font-size: .92rem;
	}

	.cols.cols-50-50 .column:first-child,
	.cols.cols-33-66 .column:first-child,
	.cols.cols-33-66 .column:nth-child(2),
	.cols.cols-66-33 .column:first-child,
	.cols.cols-66-33 .column:nth-child(2),
	.cols.cols-33-33-33 .column:not(:last-child) {
		margin-bottom: 20px;
	}

	blockquote,
	.testimonials .item {
		padding: 10px 0;
		max-width: 100%;
	}

	.testimonials .brace {
		font-size: 4.5em;
	}

	.testimonials .bracing-col-left,
	.testimonials .bracing-col-right {
		width: 40px;
	}

	.card-grid > .row > div {
		margin-bottom: 30px;
	}

	.card-grid .card .card-head h3 {
		font-size: 1.5em;
	}

	/*
	.ta-awards-grid .grid-item {
		flex: 0 0 25%;
		align-self: center;
	}
	*/
	.ta-awards-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-areas: "box1 box2" "box3 box3";

	}
}

@media only screen and (max-width: 660px) {
	#masthead-main {
		padding-top: 35px;
		padding-bottom: 35px;
	}

	#masthead-main .star-rating-gfx {
		margin-bottom: 20px;
	}

	#masthead.w-booking-cta h3 {
		font-size: 1.3em;
	}

	#masthead.w-booking-cta .icon {
		width: 34px;
		height: 34px;
		margin-top: -5px;
	}

	#masthead.w-booking-cta .arr-button {
		margin-left: 35px;
	}

	.arr-button {
		line-height: 34px;
		padding: 0 12px;
		font-size: 1.15em;
	}

	.arr-button.next::after {
		right: -17px;
		border-width: 17px 0 17px 17px;
	}

	.card-grid .card .card-head h3 {
		font-size: 1.3em;
	}

	.wide.grey-panel {
		padding: 35px 0;
	}
}

@media only screen and (max-width: 575px) {
	.arr-button {
		line-height: 40px;
		padding: 0 14px;
		font-size: 1.3em;
	}

	.arr-button.next::after {
		right: -20px;
		border-width: 20px 0 20px 20px;
	}

	.card-grid .card .card-head h3 {
		font-size: 2em;
	}

	/*.ta-awards-grid .grid-item {*/
	/*flex: 0 0 33%;*/
	/*}*/

	.testimonials .bracing-col-left,
	.testimonials .bracing-col-right {
		display: none;
	}

	.accomm-list-grid {
		grid-template-columns: 1fr;
		grid-row-gap: 0;
	}

	#accomm-types-list .photo-fig {
		position: relative;
	}

	#accomm-types-list .photo-fig .cover {
		padding: 100px 0;
	}

	#accomm-types-list .accomm-desc {
		margin-bottom: 30px;
	}

	footer .footer-row-1 {
		display: none;
	}
}

@media only screen and (min-width: 481px) {
	.flex-row.row {
		display: flex;
		flex-wrap: wrap;
	}

	.flex-row.row > [class*='col-'] {
		display: flex;
		flex-direction: column;
	}

	.flex-row.row:after,
	.flex-row.row:before {
		display: flex;
	}
}

/* Extra Small Devices, Phones (Bootstrap col-xs-*) */
@media only screen and (max-width: 480px) {
	.header-cta-box .arr-button {
		font-size: 1em;
		line-height: 36px;
	}

	.header-cta-box .arr-button.next::after {
		right: -18px;
		border-width: 18px 0 18px 18px;
	}

	#masthead-main .masthead-header {
		font-size: 1.75em;
	}

	.desktop-only-block,
	.desktop-only-inline {
		display: none;
	}

	.mobile-only-block {
		display: block;
	}

	.mobile-only-inline {
		display: inline-block;
	}

	#masthead.w-booking-cta h3 {
		display: block !important;
		margin-bottom: 1rem;
	}

	#masthead.w-booking-cta .arr-button {
		margin-left: 0;
	}

	.testimonials .item .quote {
		font-size: .9em;
	}

	#accomm-types-list .accomm-desc {
		padding: 30px 25px;
	}

	.card-grid .card .card-head h3 {
		font-size: 1.8em;
	}
}

@media only screen and (max-width: 400px) {
	.card-grid .card .card-head h3 {
		font-size: 1.45em;
	}
}

/* Custom, iPhone Retina */
@media only screen and (max-width: 320px) {

}
