@charset "UTF-8";
/* CSS Document */

* { box-sizing: border-box; }


body {
	margin: 0;
	padding: 0;
/*	background-color: #400000;  RED 
	background-color: #454F5E;	BLUE */
	background-color: #222222;
	color: #B19A33;
	
	font-family: 'Crimson Text', serif;
	font-size: 20px;
	line-height: 1.5em;
}


/* XXXXXXXXXXXXXXX TYPOGRAPHY XXXXXXXXXXXXXXX */


h1 					{ font-family: 'Montserrat', sans-serif; font-size: 40px; line-height: 1.3em;  font-weight: 300; letter-spacing: 0.015em; text-transform: uppercase; }
h2 					{ font-family: 'Montserrat', sans-serif; font-size: 40px; line-height: 1.3em;  font-weight: 300; letter-spacing: 0.015em; text-transform: uppercase; }
footer 				{ font-family: 'Montserrat', sans-serif; font-size: 11px; line-height: 1em; 	  font-weight: 300; letter-spacing: 0.15em; }
.disclaimer 		{ font-size: 9px; line-height: 1.5em; }
label 				{ font-family: 'Montserrat', sans-serif; font-size: 16px; line-height: 1em;    font-weight: 300; letter-spacing: 0.015em; text-transform: uppercase; }
input[type=submit] 	{ font-family: 'Montserrat', sans-serif; font-size: 16px; line-height: 1em;    font-weight: 300; letter-spacing: 0.015em; text-transform: uppercase; }
.bt-goto-form 		{ font-family: 'Montserrat', sans-serif; font-size: 16px; line-height: 1em;    font-weight: 300; letter-spacing: 0.015em; text-transform: uppercase; }
.bt-goto-next 		{ font-family: 'Montserrat', sans-serif; font-size: 24px; line-height: 1em;    font-weight: 300; letter-spacing: 0.015em; text-transform: uppercase; }
.alert a 			{ font-family: 'Montserrat', sans-serif; font-size: 16px; line-height: 1em;    font-weight: 300; letter-spacing: 0.015em; text-transform: uppercase; }




/* XXXXXXXXXXXXXXX BUTTONS XXXXXXXXXXXXXXX */


/*
.bt-goto-form {
	margin: 0;
	padding: 10px 20px;
	text-align: center;
	background: transparent;
	border: solid 1px #B19A33;
	color: #B19A33;
	cursor: pointer;
	text-decoration: none;
	
	position: absolute; 
	top: 40px;
	right: 40px;
	}

.bt-goto-form:hover {
	background: #B19A33;
	border: solid 1px #B19A33;
	color: #333;
	}
*/


.bt-goto-form {
	margin: 0;
	padding: 10px 20px;
	text-align: center;
	background: transparent;
	border: solid 1px #000;
	color: #000;
	cursor: pointer;
	text-decoration: none;
	}

.bt-goto-form:hover {
	background: #333;
	border: solid 1px #333;
	color: #B19A33;
	}
	
.bt-goto-next {
	width: 40px;
	height: 40px;
	border-radius: 20px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	
	
	background: #B19A33;
	border: solid 1px #B19A33;
	color: #333;
	cursor: pointer;
	text-decoration: none;
	
	position: absolute; 
	bottom: 40px;
	left: 50%;
	
	transform: translateX(-50%);
	
	display: flex;
	align-items: center;
	justify-content: center;
	}
	
.bt-goto-next:hover {
	background: transparent;
	border: solid 1px #B19A33;
	color: #B19A33;
	}



/* XXXXXXXXXXXXXXX WELCOME XXXXXXXXXXXXXXX */


#welcome {
	width: 100%;
	height: 100vh;
	margin: 0;
	padding: 0;
	
	position: relative;
}

.slide {
        z-index: 1;
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        height: 100%;
        transition: opacity 2s ease-in-out;
 
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
 
        opacity: 0;
}
.slide.show { opacity: 1; }

.correct {  background-position: left center; }

.content {
	width: 100%;
	height: 100%;
	z-index: 999;
	position: absolute;  }
	
.logo {
	height: 20vh;
	width: auto;
	position: absolute;
	top: 40px;
	left: 50%;
	transform: translateX(-50%);
}


/* XXXXXXXXXXXXXXX RELATED XXXXXXXXXXXXXXX */

#related {
	width: 100%;
	margin: 0;
	padding: 10vh 20vw;
	
	display: flex;
	align-items: center;
	justify-content: center;
	}
	
#related p {
	margin: 0;
	padding: 0;
	text-align: center;
	}
	
#related img {
	height:25vh;
	width: auto;
	
}
	

/* XXXXXXXXXXXXXXX INFO XXXXXXXXXXXXXXX */

#info {
	width: 100%;
	min-height: 100vh;
	margin: 0;
	padding: 10vh 10vw;
	background-color: #B19A33;
	background: linear-gradient(-20deg, #846300, #B19A33 60%);
	
	display: flex;
	align-items: center;
	justify-content: center;
	}

#info div {
	font-size: 24px;
	line-height: 1.25em;
	color: #000;
	
	text-align: center;
}
	
#info img {
	height:25vh;
	width: auto;
	
}

/* XXXXXXXXXXXXXXX DETAILS XXXXXXXXXXXXXXX */

#details {
	width: 100%;
	margin: 0;
	padding: 0;
	
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 0;
}

.detail { 
	width: 100%;
	min-height: 50vh;
	margin: 0;
	padding: 0;
	
	display: flex;
	align-items: center;
	justify-content: center;
}

.detail-img 			{ background: center no-repeat scroll; background-size: cover; height: 100vh; }
.detail-img.tile-01 	{ background-image:url(../img/LisbonResortHotel-detail01.jpg); }
.detail-img.tile-02 	{ background-image:url(../img/LisbonResortHotel-detail02.jpg); }

.detail-img.tile-01 	{ grid-row: 2; }
.detail-img.tile-02 	{ grid-row: 4; }
.detail-txt.tile-01 	{ grid-row: 1; }
.detail-txt.tile-02 	{ grid-row: 3; }

.detail-txt 			{ padding: 10vh 10vw; box-sizing: border-box; }
.detail-txt p 			{
	margin: 0;
	padding: 0;
	font-size: 36px;
	line-height: 1.25em;
	text-align: center;
	letter-spacing: 0.015em;
	} 



/* XXXXXXXXXXXXXXX CONTACT XXXXXXXXXXXXXXX */


#contact {
	width: 100%;
	min-height: 100vh;
	margin: 0;
	padding: 10vh 10vw;
	
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	
	text-align: center;
}

#contact form  {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	}

#contact label {
	width: 100%;
	margin: 0 0 20px 0;
	padding: 0;
	text-align: center;
	}

#contact input[type=text], #contact input[type=email], #contact textarea {
	width: 100%;
	margin: 0 0 50px 0;
	padding: 10px;
	text-align: center;
	background: transparent;
	border: solid 1px #B19A33;
	color: #B19A33;
	}
	
#contact input[type=submit] {
	width: 30%;
	margin: 50px 0 0 0;
	padding: 10px;
	text-align: center;
	background: #B19A33;
	border: solid 1px #B19A33;
	color: #333;
	cursor: pointer;
	}

#contact input[type=submit]:hover {
	background: transparent;
	border: solid 1px #B19A33;
	color: #B19A33;
	}
	
#contact h2 { margin: 0; }
#contact h2 + p { margin: 0 0 100px 0; }


#contact img {
	height:20vh;
	width: auto;
	margin: 10vh 0 0 0;
	padding: 0;
	
}


/* XXXXXXXXXXXXXXX FOOTER XXXXXXXXXXXXXXX */


footer { 
	width: 100%;
	margin: 0;
	padding: 50px 0;
	text-align: center;
}


.disclaimer { width: 90%; margin-left: auto; margin-right: auto; }


/* XXXXXXXXXXXXXXX MISC XXXXXXXXXXXXXXX */


.alert { 
	width: 100%;
	height: 100vh;
	margin: 0;
	padding: 10vh;
	text-align: center;
	
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.alert  a {
	margin: 0;
	padding: 10px 20px;
	text-align: center;
	background: transparent;
	border: solid 1px #B19A33;
	color: #B19A33;
	text-decoration: none;
	}

.alert  a:hover {
	background: #B19A33;
	border: solid 1px #B19A33;
	color: #333;
	}

/*
XXXXXXX
XXXXXXXXXXXXXXX 
768 
XXXXXXXXXXXXXXX
XXXXXXX
*/


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



h1 		{ font-size: 48px; }
footer 	{ font-size: 12px; }

.correct {  background-position: center center; }

} /* END 768 */


/*
XXXXXXX
XXXXXXXXXXXXXXX 
1000
XXXXXXXXXXXXXXX
XXXXXXX
*/


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


#details {
	grid-template-columns: 1fr 1fr;
}

.detail-img.tile-01 	{ grid-row: 1; }
.detail-img.tile-02 	{ grid-row: 2; }
.detail-txt.tile-01 	{ grid-row: 1; }
.detail-txt.tile-02 	{ grid-row: 2; }


#info 					{ padding: 15vh 15vw; }
.detail-txt 			{ padding: 10vw; }

#contact {
	padding: 15vh 15vw;
}

.disclaimer { width: 60%; }

} /* END 1000 */


/*
XXXXXXX
XXXXXXXXXXXXXXX 
1200
XXXXXXXXXXXXXXX
XXXXXXX
*/


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

.detail { 
	width: 100%;
	min-height: 100vh;
}

#info 					{ padding: 20vh 20vw; }
.detail-txt 			{ padding: 10vw; }

#contact {
	padding: 15vh 20vw;
}

} /* END 768 */