/*! HTML5 Boilerplate v5.2.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
 *
 * These selection rule sets have to be separate.
 * 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
   ========================================================================== */

body {
	margin: 0;
	padding: 0;
	font-family: Alegreya Sans, sans-serif;
/*	color: #768d95; */

}
a:link,a:visited,a:active {
	color: #1b3e4c;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}


.wrapper {
	font-size: .875em;
/*	background-color: #5bbcc9;
	background-color: #fbf9f3; */
	background-color: #7fddf1;
	background-image: url(../img/header-bg-m.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain;
}

header {
	position: relative;
	padding: 10px 0 0 0;
}
header h1 {
	position: relative;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 0;
	padding-bottom: 50%;
	background-image: url(../img/logo-d.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	text-indent: -9999px;
}
header h1 a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
header ul, header li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.header-block {
	background-color: #5bbcc9;
	color: rgba(256,256,256,0.75);
	font-size: 1.25em;
	line-height: 1.25em;
	padding: .5em 0;
}
.header-block p, 
.header-block ul {
	margin: 0;
	padding: 0;
	text-align: center;
}
.header-block a {
	color: #fff;
	font-weight: 900;
}
.header-block a:hover {
	text-decoration: none;
}
#header-booknow.header-block {
	background-color: #1b3e4c;
}
#header-booknow.header-block p.book-now-link {
	font-size: 2em;
	line-height: 1em;
	text-transform: uppercase;
}
#header-booknow.header-block a:after {
	content: " ›";
}
nav#main-nav {
	display: none;
}
.shiftnav-main-toggle-content {
	display: none !important;
}

.slideshow {
	display: block;
	width: 100%;
	height: 0;
	padding-bottom: 37.5%;
	background-color: #fff;

	-webkit-box-shadow: 0 10px 15px 0 rgba(0,0,0,0.15);
	   -moz-box-shadow: 0 10px 15px 0 rgba(0,0,0,0.15);
	        box-shadow: 0 10px 15px 0 rgba(0,0,0,0.15);

}
.slider {
	padding: 5%;
}
.slideshow .slider img {
	max-width: 100%;
	height: auto;
}
#content {
	padding: 0 0 2em 0;
}

#content h1 {
	font-size: 1.75em;
	font-weight: 900;
	line-height: 1em;
	color: #5bbcc9;
	color: #fff;
	background-color: #5bbcc9;
	text-align: center;
	padding: .25em;
}
#content h2 {
	font-size: 2.25em;
	font-weight: 900;
	line-height: 1em;
	color: #1b3e4c;
	font-style: italic;
	text-align: center;
}
#content h3 {
	font-size: 1.75em;
	font-weight: 900;
	line-height: 1em;
	color: #1b3e4c;
	text-align: center;
}


#content p,
#content li {
	text-align: left;
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1.5em;
	color: #768d95;
	color: #206781;
	text-shadow: 1px 1px 0 rgba(256,256,256,0.33);
	}
#content p,
#content ul,
#content ol {
	padding-left: 1em;
	padding-right: 1em;
}
#content li {
	margin-left: 1em;
}
ul.columns {
	margin: 0;
	padding: 0;
}
ul.nolist {
	list-style: none;
}
ul.nolist.col-2 {
	padding-top: 1em;
}
.front-photo,
.front-video {
	position: relative;
	width: 48%;
	float: left;
	/* padding-bottom: 1.5em; */
	text-align: center;
}
.front-photo p {
	text-align: center !important;
	margin: 0 !important;
	padding: 0 !important;
}
.front-photo p img {
	width: 100%;
	max-width: 216px;
		-webkit-box-shadow: 0 0 25px 0 rgba(0,0,0,0.15);
		   -moz-box-shadow: 0 0 25px 0 rgba(0,0,0,0.15);
		        box-shadow: 0 0 25px 0 rgba(0,0,0,0.15);
}
.front-video:nth-child(odd) {
	margin: 0 4% 0 0;
}
.front-video {
	height: 0;
	padding-bottom: 90%;
}
.front-video iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	height: 100%;
		-webkit-box-shadow: 0 0 25px 0 rgba(0,0,0,0.15);
		   -moz-box-shadow: 0 0 25px 0 rgba(0,0,0,0.15);
		        box-shadow: 0 0 25px 0 rgba(0,0,0,0.15);
}
aside .widget-block {
	text-align: center;
	width: 100%;
	margin: 40px auto;
	overflow: hidden;
}

aside .widget-block#tripadvisor {
	max-width: 240px;
}
.owl-carousel-item-imgoverlay {
	display: none;
}

ul.gallery, ul.gallery li {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}
ul.gallery {
	display: block;
	width: 100%;
	padding: 0 0 3em 0;
}
ul.gallery li {
	position: relative;
	display: block;
/*	width: 100%; */
	height: 0;
	max-height: 225px;
/*	margin: 1% 0 !important; */
/*	padding: 0 0 75% 0 !important; */
	text-align: center !important;
	overflow: hidden;
	float: left;
	width: 50%;
	margin: 0 !important;
	padding: 0 0 37.5% 0 !important;
	}

ul.gallery li a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
ul.gallery li a img {
	width: auto;
	height: 100%;
}

ul.gallery li a[href*="Conch"] img {
	width: 100%;
	height: auto;
	margin-top: -45%;
}

ul.gallery li a[href*="pDolphin"] img {
	width: 100%;
	height: auto;
	margin-top: -10%;
}

.map {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 75%;
	margin: 0 auto;
}
.map iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.fscf-div-form {
	display: table;
	margin: 0 auto;
}
.fscf-div-form > form > div {
	margin-top: 1em;
}

label,
input[type=text],
input[type=email],
select,
textarea {
	font-family: Alegreya Sans;
	font-weight: 400;
	font-size: 1em;
	line-height: 1.5em;
	width: 100%;
}
input,
select,
textarea {
	border-radius: 2px;
	border: 1px solid #4a849e;
}
textarea {
	height: 4em;
}
#fscf_captcha_refresh1,
#fscf_captcha_refresh2 {
	display: inline-block;
}
#fscf_captcha_field1 label,
#fscf_captcha_field2 label {
	font-size: .875em;
	line-height: 1em;
}
#fscf_submit_div1,
#fscf_submit_div2 {
	text-align: center;
}
input#fscf_submit1,
input#fscf_submit2 {
	width: auto;
	margin: 0 auto;
	padding: .25em 1em;
	background-color: #ffca28;
	border-width: 2px;
	border-color: #002c33;
	color: #002c33;
}


footer {
	padding: 1.5em 0;
	background-color: #1b3e4c;
	color: #fff;
	color: rgba(256,256,256,0.75);
	text-align: center;
}
footer a {
	color: #fff !important;
}
footer ul, footer li {
	list-style: none;
	margin: 0;
	padding: 0;
}
footer p span {
	display: block;
}
.back-to-top {
	font-size: 1.5em;
	line-height: 1em;
}

/* ============================================================================= */

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

	header h1 {
		padding-bottom: 25%;
	}
	.slideshow {
		padding-bottom: 34%;
	}
	.front-photo p {
		text-align: left !important;
		padding-left: 1em !important;
	}
	.front-photo:first-of-type p {
		text-align: right !important;
		padding-right: 1em !important;
	}
	.map {

	}
	ul.gallery li {
		float: left;
		width: 48%;
		margin: 1% !important;
		padding: 0 0 37.5% 0 !important;
	}
	

	footer p span {
		display: block;
	}

}

/* ============================================================================= */

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

	.wrapper {
		font-size: .875em;
		background-image: url(../img/header-bg-d.jpg);
		background-repeat: no-repeat;
		background-position: top center;
		background-size: auto 180px !important;
	}

	header {
		display: block;
		height: 160px;
		padding: 10px 0;
	}
	header h1 {
		padding-bottom: 0;
		height: 100%;
	}
	.header-block {
		display: block;
		position: absolute;
		top: 0;
		width: 240px;
		height: 100%;
		margin-top: -42px;
		background-color: #ffca28;
		border: 7px solid #002c33;
		border-radius: 14px;
		-webkit-box-shadow: 0 0 15px 0 rgba(0,0,0,0.25);
		   -moz-box-shadow: 0 0 15px 0 rgba(0,0,0,0.25);
		        box-shadow: 0 0 15px 0 rgba(0,0,0,0.25);
		color: rgba(256,256,256,0.75);
	}
	.header-block p.book-now-link,
	.header-block ul {
		text-align: center;
		font-size: 1.125em;
	}
	.header-block ul {
		margin-top: 73px !important;
	}
	.header-block p.book-now-link {
		margin-top: 1.25em !important;
	}
	.header-block a {
		color: #fff;
		font-weight: 900;
		-webkit-transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1) !important;
		-moz-transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1);
		-o-transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1);
		transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1) !important;
	}
	.header-block a:hover {
		text-shadow: 0 0 10px rgba(256,256,256,1);
		color: #014961 !important;
	}
	#header-contact.header-block {
		left: 20px;
		font-size: 1.25em;
		line-height: 32px;
		color: rgba(0,0,0,0.5);
	}
	#header-contact.header-block a {
		color: rgba(0,0,0,0.5);
	}
	#header-booknow.header-block {
		right: 20px;
		}
	#header-booknow.header-block p.book-now-link a {
		font-size: 75px;
		line-height: 60px;
		text-transform: uppercase;
		color: #000;
		color: rgba(0,0,0,0.5);
	}
	#header-booknow.header-block p.book-now-discount {
		font-size: 13px;
		line-height: 15px;
		font-weight: 900;
		color: #000;
		color: rgba(0,0,0,0.5);
	}
	#header-booknow.header-block a:after {
		content: "";
	}
	#header-booknow.header-block {
		background-color: #ffca28;
		background-image: url(../img/logo-dolphin.png);
		background-repeat: no-repeat;
		background-position: center 2.25em;
	}
	.slideshow {
		padding-bottom: 27.5%;
	}
	.slider {
		padding: 0 4% 3% 4%;
	}

	nav#main-nav {
		display: block;
		background-color: #fff;
		-webkit-box-shadow: 0 0 25px 0 rgba(0,0,0,0.05);
		   -moz-box-shadow: 0 0 25px 0 rgba(0,0,0,0.05);
		        box-shadow: 0 0 25px 0 rgba(0,0,0,0.05);
	}
	nav ul,
	nav li {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	nav ul {
		text-align: center;
	}
	nav li {
		display: inline-block;
		margin: 0;
	}
	nav li a {
		display: block;
		font-size: 1.6875em;
		font-weight: 300;
		line-height: 1em;
		padding: .5em;
		margin: .5em .25em;
		border-radius: 7px;
		color: #768d95;
		text-transform: uppercase;
		-webkit-transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1) !important;
		-moz-transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1);
		-o-transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1);
		transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1) !important;
	}
	nav li a:hover {
		background-color: #002c33;
		color: #fff;
		text-decoration: none;
	}
	#content {
		padding-left: 50px;
		padding-right: 50px;
	}
	#content h1 {
		font-size: 3.25em;
		line-height: 1em;
		color: #2da3be;
		background-color: transparent;
		text-shadow: 1px 1px 0 rgba(256,256,256,0.33);
	}
	#content h2,
	#content h3 {
		text-align: left;
	}
	ul.columns {
		width: 48%;
		float: left;
	}
	ul.nolist.col-2 {
		padding-top: 0;
	}
	ul.columns:nth-child(odd) {
		margin: 0 4% 0 0;
	}
	.front-video-block {
		/* max-width: 640px; */
		margin: 0 auto;
	}
	.map {
		background-color: #fff;
		-webkit-box-shadow: 0 0 15px 0 rgba(0,0,0,0.15);
		   -moz-box-shadow: 0 0 15px 0 rgba(0,0,0,0.15);
		        box-shadow: 0 0 15px 0 rgba(0,0,0,0.15);
	}

	.fscf-div-form {
		width: 32em;
		font-size: 1.25em;
	}
	.fscf-div-form > form > div {
	    margin-top: 0;
	}
	.fscf-div-label,
	.fscf-div-field {
		float: left;
	}
	.fscf-div-label {
		text-align: right;
		width: 14em;
	}
	.fscf-div-field {
		margin: 0 0 0 2em;
		width: 16em;
	}
	.fscf-div-clear {
		clear: both;
		padding-top: 1em;
	}
	#fscf_captcha_image_div1,
	#fscf_submit_div1,
	#fscf_captcha_image_div2,
	#fscf_submit_div2 {
		clear: both;
	}
	#fscf_captcha_image_div1,
	#fscf_captcha_image_div2 {
		margin-left: 16em;
		margin-bottom: 1em;
	}
	#fscf_captcha_field1 label,
	#fscf_captcha_field2 label {
		font-size: 14px;
	}
	input#fscf_captcha_code1,
	input#fscf_captcha_code2 {
		max-width: 173px !important;
	}
	#fscf_submit_div1,
	#fscf_submit_div2 {
		padding-top: 1.5em;
		text-align: left;
		margin-left: 16em;
	}

	footer {
		font-size: 1.125em;
		line-height: 1.25em;
	}

	footer li {
		display: inline-block;
		margin: 0 1em;
	}
	footer p span {
		display: inline;
	}
}


@media only screen and (min-width: 1024px) {
	.wrapper {
		font-size: .875em;
	}
/*	header {
		height: 240px;
	}  */
	header h1 {
		background-image: url(../img/logo-m.png);
		height: 95%;
	}
	.header-block {
		width: 270px;
	}
	#header-booknow.header-block p.book-now-discount {
		font-size: 15px;
	}
	.slideshow {
		padding-bottom: 26.5%;
	}
	#content p,
	#content ul,
	#content ol {
		padding-left: 0;
		padding-right: 0;
	}
	#content p:first-of-type {
		margin-top: 0;
	}
	article {
		float: left;
		width: 60%;
		margin-right: 5%;
	}
	aside {
		float: left;
		width: 35%;
		background-color: #5bbcc9;
		border-radius: 14px;
	}
	aside .widget-block {
		display: block;
		width: 280px;
	}

}

@media only screen and (min-width: 1200px) {
	.wrapper {
		font-size: 1em;
	}
	header,
	#content {
		width: 1080px;
		margin: 0 auto;
	}
	header h1 {
		height: 100%;
	}
	#header-contact.header-block {
		left: 0px;
	}
	#header-booknow.header-block {
		right: 0px;
	}
	.header-block p,
	.header-block ul {
		font-size: 1em;
	}
	article {
		width: 65%;
	}
	aside {
		width: 30%;
	}
}

@media only screen and (min-width: 1440px) {
	.wrapper {
		font-size: 1.125em;
	}
}







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

/*
 * Hide visually and from screen readers:
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

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

/*
 * 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;
}

/*
 * 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;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

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

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        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,
    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;
    }

    img {
        max-width: 100% !important;
    }

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

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