/*
* CSS
*
* by Bruno Mateus
* bmateus@vilavitaparc.com
* 
**/



* {
	/*font-family: 'Open Sans', sans-serif;*/
	font-family: 'LatoWeb', sans-serif;
}


/** COLORS **/

.aquamarine, .color-aquamarine { color: rgb(83,189,216); }

.aquamarine-bg, .bg-aquamarine { background-color: rgb(83,189,216); }

.color-white { 	color: white; }

.blue, .bg-blue { background-color: #018BB6; }

.lightblue, .bg-lightblue { background-color: #C7E4ED; }

.page {	background-color: rgba(255,255,255,1); }


.uppercase { text-transform: uppercase; }

.thintext {  font-weight: 100; }

.mediumtext { font-weight: 300; }


.smallertext {
	box-sizing: border-box;
	padding: 20px 40px;
	background-color: rgba(83, 189, 216, .04);
	border: 1px solid rgba(83, 189, 216, .5);
	margin: 30px auto 40px;
	border-radius: 6px;
}

.smallertext * {
    font-size: 1.35rem;
    line-height: 1.9rem;
}

.smallertext h3 {
    font-size: 1.9rem;
    line-height: 1.5rem;
}

.aligncenter { text-align: center; }
.imgcenter { margin-left: auto; margin-right: auto; }
.alignleft   { text-align: left; }
.alignright   { text-align: right; }
.alignjustify { text-align: justify; }

img.align-right {
    text-align: right;
    float: right;
    margin-left: 30px;
}

img.align-left {
    text-align: left;
    float: left;
    margin-right: 30px;
}

.nopadding { padding: 0 !important; }
.paddingtop { padding-top: 30px; }
.paddingtop-big { padding-top: 60px; }

p, li, ul {	font-size: 18px; }

p, ul { margin: 0 0 30px; }

h2 { font-size: 4em; font-weight: 100 }

ul {
	padding-left: 22px;
}

.icon-vvp_menu-open:before {
	/*text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);*/
}



h2 a:focus,
h3 a:focus,
h4 a:focus,
h5 a:focus,
h6 a:focus,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover,
p a:hover

{
	color: #23527c;
	 text-decoration: none; 
	border-bottom: 1px dashed #337ab7;
}

/* Dropdown corrections */

.navbar.fixedbottom p, .navbar.fixedbottom li, .navbar.fixedbottom ul {	font-size: 14px; }


.navbar.fixedbottom a.dropdown-toggle {
	text-transform: uppercase;
}

.navbar.fixedbottom .dropdown-menu{
	background-color: rgba(0, 0, 0, 0.7);
}

.dropdown-menu>li>a.streak {
    text-decoration: line-through;
    cursor: not-allowed;
}

.navbar-nav .dropdown-menu>li>a {
	opacity: .5;
}
.navbar-nav .dropdown-menu>li>a.active {
	opacity: 1;
}

.dropdown-menu>li>a:hover,
.dropdown-menu>li>a:focus {
	color: rgb(30,30,30) !important;
}

.fixedbottom.navbar-default .navbar-nav>.open>a,
.fixedbottom.navbar-default .navbar-nav>.open>a:focus,
.fixedbottom.navbar-default .navbar-nav>.open>a:hover {
	background-color: rgba(0, 0, 0, 0.15);
	/*background-color: initial;*/
}




/* Booking form calendar */
.navbar.fixedbottom .picker__box {
	background-color: rgba(83,189,216, 1); 
}


.fixedbottom .picker--focused .picker__day--disabled,
.fixedbottom .picker__day--disabled,
.fixedbottom .picker__day--disabled:hover {
	background: rgba(0, 0, 0, 0.15);
	border-color: transparent;
}

.fixedbottom .picker__select--month,
.fixedbottom .picker__select--year {
	margin-top: initial;
	font-size: 18px;
	line-height: 24px;
	padding: initial;
	padding-left: 5px;
	font-weight: bold;
}

.fixedbottom .picker__select--month,
.fixedbottom .picker__select--month option,
.fixedbottom .picker__select--year,
.fixedbottom .picker__select--year option {
	color: #555 !important; 
}

.fixedbottom .picker__select--month option:disabled {
	color: #bbb !important; 
}

.fixedbottom .picker__day{
	color: #fff !important;
}

.fixedbottom .picker__day.picker__day--outfocus{
	color: #ccc !important;
}

.fixedbottom .picker__day.picker__day--disabled {
	color: #bbb !important; 
}

.picker__day.picker__day--infocus:hover {
	color: hsla(192,72%,40%,1) !important;
	font-weight: bold;
}

.fixedbottom .picker--focused .picker__day--highlighted, 
.fixedbottom .picker__day--highlighted:hover, 
.fixedbottom .picker__day--infocus:hover, 
.fixedbottom .picker__day--outfocus:hover {
	background: rgba(255, 255, 255, 0.7) !important;
}

.fixedbottom .picker--focused .picker__day--selected,
.fixedbottom .picker__day--selected,
.fixedbottom .picker__day--selected:hover {
	background: rgba(255,255,255,.9) !important;
	color: hsla(192,72%,40%,1) !important;
	font-weight: bold;
}

.fixedbottom .picker__button--today[disabled],
.fixedbottom .picker__button--today[disabled]:hover,
.fixedbottom .picker__button--clear,
.fixedbottom .picker__button--clear:hover,
.fixedbottom .picker__button--close,
.fixedbottom .picker__button--close:hover
 {
	background-color: transparent;
	border: transparent;
	font-weight: normal;
}


.fixedbottom .input-group {
	text-align: center;
	background-color: transparent;
	border: 1px solid white;
	box-shadow: inset 0 0 2px rgba(0, 0, 0, .35);
	padding: 6px 0 5px 10px;
	width: 100%;
}


.fixedbottom .input-group input {
	background: transparent !important;
	border: none;
	color: #fff !important;
	text-align: center;
}

.fixedbottom .input-group .input-group-addon {
	background-color: transparent;
	border: none;
	border-left: 1px solid rgba(255, 255, 255, .35);
}


.fixedbottom .date .input-group {
}

.fixedbottom .number .input-group {
}


.fixedbottom .form-control {
	display: block;
	width: 100%;
	height: 34px;
	padding: 0 !important;
	font-size: 14px;
	line-height: 1.42857143;
	color: #555;
	background-color: #fff;
	background-color: transparent;
	background-image: none;
	border: none;
	border-radius: initial;
	box-shadow: none;
	-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
	-webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}


.fixedbottom input[type="submit"] {
	background-color: transparent;
	border: none;
}

.fixedbottom .input-group.book-submit.submit {
	/* padding: 0 !important; */
	background: url('https://vilavitaparc.com/img/vvpicons/btn-checkout.png') right center no-repeat;
	background-size: cover;
}

.fixedbottom .submit input.form-control {
	color: #53BDD8 !important;
	text-align: left !important;
}


.fixedbottom .select select#bookadults,
.fixedbottom .select select#bookchildren
/*.fixedbottom .select select#bookadults option*/
 {
	padding-left: 36% !important;
	background-color: rgb(83, 189, 216);
}

.fixedbottom .input-group {
	margin-bottom: 8px;
}

/******/

body, html { 
	position: relative;
 }

#coverup {

/*		width: 100%;
	max-height: 0;
	top: 0;
	background: rgb(255,255,255);
	opacity: 1;
	position: fixed;
	margin: auto;
	padding: 0;*/
	/*overflow: hidden;*/
	/*transition: all .5s ease-in-out;*/
	/*z-index: 99999;*/
	/*-webkit-transform: translateZ(0);*/
	/*-moz-transform: translateZ(0);*/
	/*-ms-transform: translateZ(0);*/
	/*-o-transform: translateZ(0);*/
	/*transform: translateZ(0);*/

	pointer-events: none;

}
/*#coverup.visible {*/
	/*min-height: 100vh;*/
	/*opacity: 1;*/
	/*height: 0%;*/
	/*max-height: 100%;*/
/*}*/

/*#intrologo {
	display: block;
	position: absolute;
	top: 50vh;
	left: 50vw;
  	transform: translate(-50%, -50%);
	max-width: 50px;
	height: auto;
	z-index: 9999;
	pointer-events: none;
	opacity: 0;
}
*/

#intrologo {
	display: none;	
}

/*#intrologo.rotate {
	transform: rotate(360) .5s;
}*/
/******/



.fullheight svg.swinganim {
	-webkit-animation: yoyo 2s infinite ease-in-out;
	        animation: yoyo 2s infinite ease-in-out;
	position: relative;
}

@-webkit-keyframes yoyo {
	from { top: 0;	}	
	50%  { top: 10px; }
	to { top: 0 ;	}
}

@keyframes yoyo {
	from { top: 0;	}	
	50%  { top: 10px; }
	to { top: 0 ;	}
}


/* Parallax wrapper */
.parallaxwrapper {
	max-height: 95vh;
	overflow: hidden;
	position: relative;
}


/** Sections **/

/** abovethefold **/
.fullheight {
	/*background-color: red;*/
	color: white;
	height: 95vh;
	background: #018bb6;
	background-size: cover;
	 overflow: hidden; 
}

body, html {
	background: white;
}

/* BACKGROUND IMAGES CLASSES */

.homepage {
	background: #018bb6 url('../../img/topimages/yacht_and_beach@0,5x.jpg') no-repeat center center;
	/*background-size: cover !important;*/
	background-size: cover;
}

.roomssuites { background: #018bb6 url('../../img/topimages/family-experience-optim@0,5x.jpg') no-repeat center center;
	/*background-size: cover !important; */
	/*background-size: cover; */
}

/*.fullheight::before {
	background: rgba(0, 0, 0,.2);
	width: 100vw;
	height: 95vh;
	position: absolute;
	top: 0;
	z-index: 0;
	left: 0px;
	pointer-events: none;
}*/

.villas {
 background: #018bb6 url('../../img/imageboxes/villas-optim@0,5x.jpg') no-repeat center center;
 /*background-size: cover !important;*/
  }



.centeredoverlay {
	margin: auto;
	text-align: center;
	color: white;
	padding-top: 40px;
	/*text-shadow: 1px 2px 5px rgba(0, 0, 0, 0.6); */
	z-index: 1;
	position: absolute;
	width: 100%;
	top: 20px;
}

.centeredoverlay h1 {
	font-weight: 200;
	font-size: 5rem;
}

.centeredoverlay em {
	font-weight: 300;
	font-style: italic;
}


.centeredoverlay a.logo {
	width: 140px;
	height: 110px;
	display: block;
	position: relative;
	padding-top: 11%;
	padding-bottom: 0;
	margin: 0 auto 50px auto !important;

}


.centeredoverlay .logo {
	/*max-width: 140px;*/
}

/*.centeredoverlay a.homepage-arrow {
	max-width: 60px;
	width: 60px;
	display: block;
	position: relative;
	padding-top: 0%;
	padding-bottom: 0;
	margin: 80px auto 40px auto;
}*/

.centeredoverlay a.homepage-arrow {
	max-width: 60px;
	width: 60px;
	display: block;
	position: relative;
	padding-top: 0%;
	padding-bottom: 0;
	margin: 80px auto 40px auto;
	height: 11vh;
}



.contentsection.intro {
	padding-top: 60px;
	padding-bottom: 60px;
}



.logo svg {
	/*-webkit-filter: drop-shadow( 0px 0px 22px #000 );*/
	/*filter: drop-shadow( 0px 0px 22px #000 );*/
	/* hack for safari desktop */
	/* Check https://benfrain.com/attempting-to-fix-responsive-svgs-in-desktop-safari/  */
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	/***/
}

.homepage-arrow svg {
	/*-webkit-filter: drop-shadow( 0px 0px 22px #000 );*/
	/*filter: drop-shadow( 0px 0px 22px #000 );*/
	/* hack for safari desktop */
	/* Check https://benfrain.com/attempting-to-fix-responsive-svgs-in-desktop-safari/  */
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	/***/
}



/** bottombar **/
.fixedbottom, .fixedbottom * {
	color: rgb(255,255,255) !important;
}

#icon_fb {
}

.fixedbottom .social_icon * {
	height: 11px;
	width: auto;
	margin: 0 5px;
}

.navbottom >  a.uppercase.aquamarine {
    display: inline-block;
    margin-left: 8px;
    margin-right: 8px;
}

/** Add extra padding to body, or else footer bar will overlap content.**/
body {
	padding-bottom: 100px;
	clear: both;
}


/** EXTRAS **/
ul.navbar-center {
  display: block;
  margin-left: calc(50% - 126px);
}

.nodecoration, .nodecoration * {
	text-decoration: none !important;
}


.treatments hr {
	border: none;
	border-top: 2px dotted rgba(0, 0, 0, 0.15);
}


/** Imageboxes **/ 

.imagebox {

}

.filtered {
	min-height: 180px;
}

.listallitems .imagebox a {
	height: auto;
	max-height: 300px;
	max-height: 220px;
}

.listallitems .imagebox h3 {
	font-size: 28px;
}

.imagebox a.displaybox
/*.imagebox a:not(.inmodal),*/
 {
	display: block;
	height: 50vh;
	height: 33vh;
	width: 100%;
	margin-top: 20px;
	margin-top: 30px;
	overflow: hidden;
	position: relative;
	/*line-height: 46vh;*/
	text-align: center;
	color:  #fff;
}

.imagebox a.displaybox {
	/*background-color: black;*/
	/*background-color: rgb(83,189,216);*/
	/*background-color: goldenrod;*/
}


html.objectfit .imagebox a img {

  will-change: transform;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center center;
	   object-position: center center;
 	-webkit-transition: all .5s ease;
 	transition: all .5s ease;
}

.imagebox a {
	/*transition: all .35s ease-in-out;*/
	/*opacity: 1;*/
}

	
html.objectfit .imagebox a:hover img,
/*html.no-objectfit .imagebox a:hover img,*/
.imagebox .modal:not(a ) img
/*.modal :not(img)*/
/*html.no-objectfit .imagebox a:hover */
 {

   -webkit-transform: translateZ(0);
   transform: translateZ(0);

	 -webkit-transform: scale3d(1.05, 1.05, 1); 
	         transform: scale3d(1.05, 1.05, 1); 
	z-index: 1;
	opacity: 0.8;
	/*background-color: black;*/
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}


html.no-objectfit .imagebox a:hover {
  opacity: 0.8;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	color: #fff;
}


html.no-objectfit .imagebox a img {
	width: inherit;
	height: inherit;
	/*min-width: 100%;*/
	/*min-height: 100%;*/
	/*height: auto;*/
	/*vertical-align: middle;*/
	opacity: 0;
   	/*transition: all 0.5s ease-in-out;*/
}

.no-objectfit .imagebox a.compat-object-fit {
	background-size: cover;
	background-position: center center;
}


 .imagebox a img + h2,
 .imagebox a img + h3 {
	color: white;
	position: absolute;
	margin: 0;
	padding: 0;

	bottom: 5px;
	left: 10px;
	z-index: 3;
	text-align: left;

	font-size: 48px;
	font-weight: 100;
}

.imagebox h2 {

}

.imgdampen {
	box-sizing: border-box;
	background: url('../../img/extras/blockshade-optim@0,5x.png') no-repeat left bottom;
	background-size: 100% 75%;
	width: inherit;
	display: block;
	position: absolute;
	height: inherit;
	vertical-align: bottom;
	margin: 0;
	z-index: 2;
}


.imgdampen > h3.nodecoration {
    font-family: 'LatoWeb', sans-serif;
    font-size: 3em;
    font-style: normal;
    font-weight: 100;
    text-align: left;
    padding: 0 10px;
    position: absolute;
    bottom: 0px;
    transition: bottom .4s;
    color:  white;
}

.imgdampen > p.posttitle {
    position: absolute;
    font-family: 'LatoWeb', sans-serif;
    font-weight: 300;
    font-size: 1.25em;
    line-height: 1em;
    bottom: -60px;
    text-align: left;
    padding: 10px;
    margin-bottom: 0;
    font-style: italic;
    transition: bottom .4s;
}


.imgdampen:hover > h3 {
    bottom: 40px;
}

.imgdampen:hover > h3:only-child {
    bottom: 0;
}

.imgdampen:hover > h3 + p {
    bottom: 0;
}


select.filterselector {
	padding: 5px 5px 2px 5px;
}


/*******************************************/
/* Special Product Offers banner on parallax image */

.specialproductoffer {
  /* z-index: 9999; */
  position: absolute;
  bottom: 55px;
  right: -55px;
  width: 260px;
  height: 42px;
  vertical-align: middle;
  background: #53bdd8;
  text-align: center;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  box-sizing: border-box;
  border: solid 2px #ffffff;
  color: white;
  font-size: 16px;
  line-height: 42px;
  text-transform: uppercase;
}










/*******************************************/

/** sidebar.css **/
/* Toggle Styles */

.anim {
    /*-webkit-transform: translate3d(0,0,0);*/
        /*transform: translate3d(0,0,0);*/
}

#wrapper {
    padding-left: 0;
    -webkit-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}

#wrapper.toggled {
    /*padding-left: 250px;*/
    left: 0;
}

#sidebar-wrapper {
  /*
    padding: 20px 20px;
    left: 260px;
    margin-left: -260px;
    overflow-y: auto;
 
 */
    z-index: 1000;
    box-sizing: border-box;
    position: fixed;
    width: 260px;
    height: 100%;   
    height: calc( 100vh - 50px);

    will-change: transform;

    /*background: #000;*/
    background: rgba(255, 255, 255, .93);
    /*opacity: 1;*/
    -webkit-transition: -webkit-transform 0.5s ease-out;
    transition: -webkit-transform 0.5s ease-out;
    transition: transform 0.5s ease-out;
    transition: transform 0.5s ease-out, -webkit-transform 0.5s ease-out;

    transition: -webkit-transform .5s ease-out;
    -webkit-transition: -webkit-transform .5s ease-out;
    transition: transform .5s ease-out;
    transition: transform .5s ease-out, -webkit-transform .5s ease-out;
    transition: transform .5s ease-out,-webkit-transform .5s ease-out;
    overflow-y: auto;
}

#wrapper.toggled #sidebar-wrapper {
    will-change: transform;
    width: 260px !important;
    /*background: rgba(255, 255, 255, 0);*/
    /*opacity: 0; */
    -webkit-transition: -webkit-transform 0.5s ease-in;
    transition: -webkit-transform 0.5s ease-in;
    transition: transform 0.5s ease-in;
    transition: transform 0.5s ease-in, -webkit-transform 0.5s ease-in;
    /*left: 0;*/
    -webkit-transform: translate3d(-260px, 0, 0);
            transform: translate3d(-260px, 0, 0);
    
}

#artyom-maintest-trigger {
	font-size: 20px;
	padding: 5px 5px 5px 5px;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 15px;
	left: 51px;
	color: white;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
	z-index: 9;
	display: none;
}

.micactive { color: #caff00 !important }


#page-content-wrapper {
    width: 100%;
    position: absolute;
    /*padding: 15px;*/
    padding-bottom: 80px;
}

#wrapper.toggled #page-content-wrapper {
    position: absolute;
    margin-right: -250px;
}


#menu-toggle {
    position: fixed;
    color: white;
    z-index: 9;
    padding: 11px 11px 9px 9px;
    font-size: 20px;
    text-decoration: none;
    opacity: 0;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#menu-toggle.background--light {
	color: black;
}

#wrapper.toggled #menu-toggle {
    opacity: 1;
    background: rgba(0, 0, 0, .15);
    /* border-radius: 50%; */
    height: 43px;
    width: 40px;
    margin: 0;
}


/* Sidebar Styles */

.sidebar-nav {
    position: absolute;
    top: 0;
    width: 250px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar-nav li {
    text-indent: 0px;
    line-height: 40px;
}

.sidebar-nav li a {
    display: block;
    text-decoration: none;
    color: #999999;
}


.sidebar-nav li a:hover {
    text-decoration: none;
    color: #fff;
    background: rgba(255,255,255,0.2);
}

.sidebar-nav li a:active,
.sidebar-nav li a:focus {
    text-decoration: none;
}

.sidebar-nav > .sidebar-brand {
    height: 65px;
    font-size: 18px;
    line-height: 60px;
}

.sidebar-nav > .sidebar-brand a {
    color: #999999;
}

.sidebar-nav > .sidebar-brand a:hover {
    color: #fff;
    background: none;
}

nav#sidebar-wrapper li {
	list-style: none;
  padding: 3px 10px;
  margin: 0px;
  font-size: 15px;
  text-transform: uppercase;
}

nav#sidebar-wrapper ul {
	padding-left: 0;
}

nav#sidebar-wrapper a {
	text-decoration: none;
	padding: 5px 0;
}

nav#sidebar-wrapper a#closemenu {
    display: block;
    width: 30px;
    /*background: red;*/
    height: 30px;
    top: 5px;
    left: 2px;
    position: relative;
    padding: 8px;
}

nav#sidebar-wrapper li a {
    width: 100%;
    display: inline-block;
    padding: 0;
    margin: 0;
}

nav#sidebar-wrapper li {
	background-color: rgba(83, 189, 216, 0); 
  -webkit-transition: background .4s linear;
          transition: background .4s linear;
}

nav#sidebar-wrapper li:hover  {
	 background-color: rgba(83, 189, 216, .15); 
   -webkit-transition: background 0s linear;
           transition: background 0s linear;
	/*padding: 5px;*/
}

.fullheight::before {
	content: '';
}






.btnwrapper {
	width: 280px;
	overflow: hidden;
    position: absolute;
    top: 45vh;
    z-index: 100;
}

.btnwrapper.wrapperleft {
    left: 0;
}
.btnwrapper.wrapperright {
    right: 0;
}

.wrapperleft .arrow, 
.wrapperright .arrow {
    cursor: pointer;
    /* content: '<'; */
    width: 50px;
    height: 50px;
    font-size: 50px;
    z-index: 101 !important;
    position: absolute;
    top: 9px;
    left: 20px;
    opacity: 1;
    -webkit-transition: all .3s;
    transition: all .3s;
    /* margin: 0 300px; */
    font-weight: 100;
    /* background: red; */
    color: white;
    /*text-shadow: 0px 1px 3px rgba(0, 0, 0, .5);*/
}
.wrapperright .arrow {
	left: initial;
	right: 10px;
}

.wrapperleft:hover .prevbtn {
	margin-left: 0;
}

.wrapperright:hover .nextbtn {
	margin-left: 0;
}

.wrapperleft:hover .arrow,
.wrapperright:hover .arrow {
	opacity: 0;
}



.prevbtn {
	position: relative	;
    margin-left: -280px;
    -webkit-transition: all .45s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all .45s cubic-bezier(0.215, 0.61, 0.355, 1); /* cubic easeout :) http://easings.net/ */;
    width: 100%;
    cursor: pointer	;
    z-index: 999 !important ;
	/*box-shadow: 0 0 10px rgba(0, 0, 0, .8);*/
}

.nextbtn {
	position: relative	;
    margin-left: 280px;
    -webkit-transition: all .45s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all .45s cubic-bezier(0.215, 0.61, 0.355, 1);
    width: 100%;
    cursor: pointer	;
    z-index: 999 !important ;
	/*box-shadow: 0 0 10px rgba(0, 0, 0, .8);*/
}


/* .flex-container, */
 .prevbtn a, .nextbtn a {
    display:-ms-flexbox;
    display:-webkit-box;
    display:flex;
    -ms-flex-direction: row;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-pack: start;
        -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-line-pack: center;
        align-content: center;
    -ms-flex-align: center;
        -webkit-box-align: center;
            align-items: center;
    background: rgba(255, 255, 255, .85);
    cursor: pointer	;
}
		
 .prevbtn a .thumb,
 .nextbtn a .thumb {
    width: 80px;
    height: 80px;
}

.prevbtn a .thumb {
	/*margin-left: 20px;*/
}

 .prevbtn a,
 .nextbtn a {
 	text-decoration: 	none;
 }

 .prevbtn a .legend,
 .nextbtn a .legend {
    width: 180px;
    width: calc(100% - 80px);
    padding: 10px;
    text-align: center;
    text-align: right;
    font-size: 15px;
    text-decoration: none;
    font-weight: bold;
    color: 	#666;
}

 .nextbtn a .legend {
 	text-align: left;
 }

.bookbutton .btn {
	color: white;
	text-transform: uppercase;
	margin-bottom: 20px;
}



.phototext {
	position: absolute;
	bottom: 30px;
	margin: 0;
	padding: 0 0 0 20px;

	background: rgba(0, 0, 0, 0.33);
	width: 100%;
	padding: 10px 20px;
}

.phototext,
.arrow,
.centeredoverlay h1,
.centeredoverlay em {
	/*text-shadow: 0 1px 3px gray;*/
	text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

.phototext h1, .phototext h2 {
    color: white;
    /*position: absolute;*/
    margin: 0;
    padding: 0;
    bottom: 70px;
    left: 30px;
    z-index: 3;
    text-align: left;
    font-size: 48px;
    font-weight: 100;
    /*text-shadow: 0 3px 7px rgba(0, 0, 0, .8);*/
}

.phototext h2 {
	/*position: absolute;*/
	font-size: 24px;
    bottom: 40px;
    margin-left: 5px;
    font-style: italic;
}

/*.phototext h2::before {
	content:'\2014\2009';
}*/




/*.modal-lg {	min-width: 87vw; }*/

.modal-backdrop.in { opacity: 0.9; }


.modal-backdrop {
	background-color: #CBF4FF;
	/*background-color: #000000;*/
	background-color: #ffffff;
	background-color: #dddddd;
}


.modal-content .imgcontainer {
	width: auto;
	overflow: hidden;
	height: 100%;
	overflow: hidden;
}



.modal-header .close {
	margin-top: 5px;
	text-align: right;
	padding-right: 20px;
}

.modal-title { 	margin-bottom: -5px; }

/*@media (max-width: 768px) {*/
	/*.modal-content .imgcontainer { height: 30vh; }*/
/*}*/



.imgcontainer img {
	width: 100%;
	height: inherit;
	-o-object-fit: cover;
	   object-fit: cover;
}

visit-url {
	cursor: pointer;
	padding: 4px;
	background: rgb(83,189,216);
	color: rgba(255,255,255,.5);
	-webkit-transition: all .2s;
	transition: all .2s;
}

a.inmodal, a > visit-url {
	text-decoration: none;
	/*color: rgba(255,255,255,.5);*/
}

visit-url:hover {
	color: rgba(255,255,255,1);
}


#links a.gallerypic {
    background: red;
    border: red;
    display: inline-block;
    /* height: 20vh; */
    overflow: hidden;
    position: relative;
    text-align: left;
    margin-top: 0;
    width: 160px;
    height: 160px;
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
}

/*.modal-body { padding-top: 0; }*/

.modal-header {
	padding: 15px;
	border-bottom: 1px solid #3D95AC;
}

.modal img.squarethumb {
	max-width: 100%;
	height: auto !important;
	padding: 10px 0 10px 10px;
	background-color: initial !important;
}

.no-objectfit .modal img.squarethumb {
	opacity: 1;
}






/* maps and directions */

.mapdirectionspanel {
	/*height: 72vh;*/
	clear: both;
}

.mapdirectionspanel:after {
	content: '';
	clear: both;
}

#embedded-map-canvas {
	height: 60vh; 
	width: 100%;
	max-width:100%;
	padding-bottom: 0;
}

.contactslist {
	list-style: none;
}



/* animate contact list */

.contacts.ng-enter,
.contacts.ng-leave,
.contacts.ng-move
{
	opacity: 1;
	transition: all  0s ;
	-webkit-transition: all  0s ;
	transition: all  0s ;
}
.contacts.ng-enter {
	-webkit-transition: all ease-out .75s ;
	transition: all ease-out .75s ;
}

.contacts.ng-leave.ng-leave-active,
.contacts.ng-move,
.contacts.ng-enter
 { 
    opacity: 0;
} 

.contacts.ng-move.ng-move-active,
.contacts.ng-enter.ng-enter-active,
.contacts.ng-leave
 { 
    opacity: 1;
} 

/* animate contact list */




/**
* ng-include [extrainformation]
**/

ng-include .well p:last-child {
    margin-bottom: 3px;
}






/****************
Large 
****************/


@media (min-width: 1025px), (min-height: 1024px) {
	.fullheight {
		height: 95vh;
		background-size: cover !important;
		background-position: center center;
	}

	.homepage {
		background: #018bb6 url('../../img/topimages/yacht_and_beach.jpg') no-repeat center center; 
		/*background-size: cover !important;*/
	}

	.roomssuites {
		background: #018bb6 url('../../img/topimages/family-experience-optim.jpg') no-repeat center center;
		/*background-size: cover !important;*/
		 }

	.villas {
		background: #018bb6 url('../../img/imageboxes/villas-optim.jpg') no-repeat center center; 
		/*background-size: cover  !important; */
	}
}







/*****************
Medium
******************/

@media (max-width: 992px) {
	/*.imagebox a:not(.inmodal) { height: 50vh; }*/

	.imagebox a img + h2 {
		font-size: 4em;
	}
}


/*****************
Medium small
******************/

@media (max-width: 767px) {
	.imagebox > div {
		/*padding: 0 10px;*/
		padding: 0;
	}

}


/*****************
small
******************/


@media (max-width: 768px) {

	#listallitems.container {
    margin-left: 30px;
    margin-right: 30px;
}

	.phototext,
	.arrow,
	.centeredoverlay h1,
	.centeredoverlay em {
		/*text-shadow: 0 1px 3px gray;*/
		/*text-shadow: 0 1px 2px rgba(0,0,0,0.4);*/
		text-shadow: initial;
	}


	.container {
		width: initial;
	}

	.tooltip.ng-isolate-scope {
		visibility: hidden;
	}

	.bodyadjuster {
		display: block;
		height: 0px;
	}

	.imagebox > div {
		/*padding: 0 10px;*/
		/*padding: 0;*/
	}

	.imagebox > div:first-child {
		/*padding-left: 5px;*/
		padding-left: 0;
	}

	.imagebox > div:last-child {
		/*padding-right: 5px;*/
		padding-right: 0;
	}

	.imagebox.row {
		/*margin-top: 10px;*/
		padding: 0;
		margin: 0;
	}
	.imagebox.row:last-child {
		/*margin-top: 10px;*/
		/*margin-bottom: 10px;*/
	}

	.imagebox > div.rogue  {
		/*padding-left: 5px;*/
		/*padding-right: 10px;*/
		padding-left: 0;
		padding-right: 0;
	}

	.imgdampen {
		background: url('../../img/extras/blockshade-optim.png') no-repeat left bottom;
		background-size: 100% 100%;
	}

	.imagebox a img + h2 {
		bottom: 13px;
		left: 20px;
		font-weight: 300;
		/*font-size: initial;*/
		font-size: 60px;
	}


/*
    #wrapper {
        padding-left: 250px;
    } 
*/    

    #wrapper.toggled {
        padding-left: 0;
    }

    #wrapper #sidebar-wrapper {
        width: 250px;
        background: rgba(255,255,255,.93);
    }

    #wrapper.toggled #sidebar-wrapper {
        width: 0;
        background: rgba(255,255,255,0);
    }

    #page-content-wrapper {
        /*padding: 20px;*/
        position: relative;
        padding-bottom: 0px;
    }

    #wrapper.toggled #page-content-wrapper {
        position: relative;
        margin-right: 0;
    }

    .modal-content .imgcontainer { height: 60vh; }

    .modal .padding-right-adjust {
		padding-right: 40px;
		padding-top: 11px;
	}

	.imagebox a:not(.inmodal) {
		height: 20vh;
	}

	.fixedbottom li, .navbar.fixedbottom ul, .fixedbottom ul.navbar-center {
		text-align: center;
		margin-left: initial;
	}

	.imagebox .specialoffer a.displaybox  {
		margin-top: initial;
	}

  /* Center awards carousel on mobile */
  .carousel-inner .item img {
    margin: auto;
  }

}









@media (max-width: 768px) and (orientation: landscape) {
	.imagebox a:not(.inmodal) { height: 60vh; }
	.modal-content .imgcontainer { height: 60vh; }

	.modal-content .imgcontainer {
		width: auto;
		overflow: hidden;
	}

	.modal-content .imgcontainer { height: 60vh; }

}





@media(max-width: 480px) {
    #sidebar-wrapper {
        width: 100vw !important;
        background-color: white;
    }

    p {
    	font-size: 16px;
    }

	.imagebox a img + h2,
	.imagebox a img + h3 {
		font-size: 20px;
	}


	h3.modal-title {
		font-size: 20px;
	}

	.imagebox > div:first-child, 
	.imagebox > div,
	.imagebox > div:last-child,
	.imagebox > div.rogue {
		padding: initial;
	}

	.bodyadjuster {
		height: 0;
	}

.specialproductoffer {
  bottom: 38px;
  right: -65px;
  width: 205px;
  height: 34px;
  font-size: 11px;
  line-height: 34px;
}



}











@media(max-width: 359px){
	.modal-content .imgcontainer {
		max-height: 30vh;
		height: auto;
		min-width: 100%;
		text-align: center;
	}

	html.no-objectfit .modal-content .imgcontainer {
		/*max-height: initial;*/
		/*height: initial;*/
		/*max-width: 100% !important;*/
		/*max-height: 200px;*/
		position: relative;
	}

	.fullheight {
		height: 95vh;
		/*background-size: cover !important;*/
		background-position: center center ;
		background-color: #018bb6;
	}

	.homepage {
		background-image: url('../../img/topimages/yacht_and_beach@0,25x.jpg') ;
		background-size: cover;
		/*background-size: cover !important;*/
	 }

	.roomssuites { background: url('../../img/topimages/family-experience-optim@0,25x.jpg') no-repeat center center;
	 background-size: cover; }

	.villas { background: url('../../img/imageboxes/villas-optim@0,25x.jpg') no-repeat center center;
	background-size: cover; }

	.centeredoverlay {
		padding-top: 30px;
	}

	.centeredoverlay h1 {
		font-weight: 200;
		font-size: 3.5rem;
	}


	.centeredoverlay .logo {
		/*max-width: 140px;*/
		width: 100px;
		display: block;
		margin: auto;
		margin-top: 0;
		margin-bottom: 50px;
	}

	.centeredoverlay .homepage-arrow {
		max-width: 40px;
		width: 40px;
		display: block;
		margin: auto;
		margin-top: 50px;
		margin-bottom: 40px;
	}
}



/*** Gallery **/

#links {
	display: none;
}

img#image-gallery-button {
    position: absolute;
    right: 0;
    cursor: pointer;
    top: 0;
}



/** fullgallery **/
.fullgallery img {
	margin-bottom: 30px;
}


/** share button on fullgallery **/

.blueimp-gallery > .sharer {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.blueimp-gallery-controls>.sharer {
    display: block;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.blueimp-gallery>.sharer {
    width: 20px;
    position: absolute;
    font-weight: bold;

    padding: 15px;
    left: auto;
    right: 49px;
    margin: -15px;
    font-size: 30px;
    text-decoration: none;
    cursor: pointer;

    position: absolute;
    top: 15px;
    /*left: 15px;*/
    margin-right: 20px;
    font-size: 30px;
    line-height: 30px;
    color: #fff;
    text-shadow: 0 0 2px #000;
    opacity: .8;
    display: block;
}

.blueimp-gallery > .sharer:hover {
	color: #fff;
	opacity: 1;
}




/**** ******/
/*** Adjusting for display-mode

https://developers.google.com/web/updates/2015/10/display-mode
*************/


/*@media all and (display-mode: standalone) {*/
@media (max-width: 459px) {
  #page-content-wrapper.page .container {
    /*padding: 0 !important;*/
    padding: 15px 0;
  }

  #page-content-wrapper.page .container.paddingtop {
    padding: 30px !important;
  }

  #listallitems.container {
  	padding: 15px !important;
    margin-right: auto;
    margin-left: auto;
  }
 
  .imagebox a.displaybox {
    width: 100vw;
    padding: 0;
    margin-left: -30px;
    margin-top: 3px;
    height: 25vh;
  }

.imagebox data-imageboxsimple a.displaybox,
.imagebox data-imageboxsimple-isolated a.displaybox,
.imagebox data-imageboxwithlink a.displaybox,
.imagebox a.displaybox
 {
    margin-left: -15px;
    margin-left: auto;
  }

  .imagebox a:not(.inmodal) {
      height: 25vh;
  }

  .imagebox a img+h2, .imagebox a img+h3 {
      color: white;
      position: absolute;
      margin: 0;
      padding: 4px 3px 1px 4px;
      bottom: 0;
      left: 0;
      z-index: 3;
      text-align: left;
      font-size: 1.85em;
      font-weight: 100;
      background: rgba(0, 0, 0, .33);
      width: 100%;
  }

  .imagebox a h3+span.posttitle {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 5px 12px;
    z-index: 10;
    font-weight: 300;
    font-style: italic;
    vertical-align: text-bottom;
    text-align: left;
}

  .alignjustify {
    text-align: left;
  }

  .contentsection p, 
  .contentsection h2 {
    padding: 10px;
  }

  html.objectfit .imagebox a img {
    -webkit-transition: none;
    transition: none; 
  }

  .bookbutton .btn {
      display: block;
      margin-bottom: 4px;
  }

    .bookbutton .btn:last-child {
      display: block;
      margin-bottom: 20px;
  }

  .smallertext {
    padding: 4px 15px;
    border: 1px solid rgba(83,189,216,.25);
  }

  .table-responsive td {
    white-space: initial;
  }

  .aligncenter {
    text-align: left;
  }

  p {
    margin: 0;
  }

  li {
    font-size: initial;
  }

  .treatments h4.uppercase span {
    display: block;
  }

  .treatments h4.uppercase span span {
    display: inline;
  }

  .internalfooter .aligncenter.navbottom {
    text-align: center;
    margin-bottom: 35px;
  }

  img.align-right {
      text-align: right;
      float: right;
      margin-left: 10px;
      margin-bottom: 10px;
      width: 40vw;
  }

  .imagebox.row {
       padding: 0; 
       margin: 0 -15px; 
    }


  .toppage .row.imagebox {
    margin: 0 !important;
  }

}



/************************
Scrollbars
************************/

/*
::-webkit-scrollbar {
  width: 6px;
  height: 4px;
}
::-webkit-scrollbar-button {
  width: 0px;
  height: 0px;
}
::-webkit-scrollbar-thumb {
  background: #52b5fe;
  border: 1px none #ffffff;
  border-radius: 50px;
}
::-webkit-scrollbar-thumb:hover {
  background: #88e1ff;
  background: #72c5fe;
}
::-webkit-scrollbar-thumb:active {
  background: #52b5fe;
  border: 2px none #ffffff;
}
::-webkit-scrollbar-track {
  background: #dadada;
  border: 1px solid #ccc;
  border-radius: 53px;
}
::-webkit-scrollbar-track:hover {
}
::-webkit-scrollbar-track:active {
}
::-webkit-scrollbar-corner {
  background: transparent;
}
*/


/******   OVERRIDE VIDEO BUTTON BAR   ******/
.mb_YTPBar .buttonBar {
	/* padding-left: 100px !important; */
}

.mb_YTPBar span.mb_OnlyYT {
	/* left: 400px !important; */
}

.mb_YTPUrl.ytpicon {
    padding-right: 70px;
}