::selection {
  background: #ffb7b7; /* WebKit/Blink Browsers */
}
::-moz-selection {
  background: #ffb7b7; /* Gecko Browsers */
}

/*
COLORS:
BLUE LINK #008DDE
#292828
#333333
color: #FFFFFF;
background: #3f3f3f;
#e5e5e5
#eca92b gold
color: #BEBEBE; footer
*/


html {
	box-sizing: border-box;
	scroll-behavior: smooth;
/*	position: relative;
	min-height: 100%;
*/	margin: 0;

}
*, *:before, *:after {
	box-sizing : inherit;
}



img{
	max-width: 100%;
/*	height: auto; really tho?
*/}

ul{
	list-style: none;
	padding-left: 0;
}


body {
	text-align: center;
	-webkit-font-smoothing: antialiased;
	background-color: #EFF0F4;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 100%;
	color: #292828;
}

/*******************NAV******************************/

nav {
	background: rgb(68,104,139);
	background: linear-gradient(0deg, rgba(68,104,139,1) 0%, rgba(95,142,187,1) 100%);
	box-shadow: 0 1px 5px rgba(34,34,34,0.5);
    border-bottom: 1px solid #3f6080;
	position: fixed; 
	z-index: 10;
	width: 100%;
	top: 0;
	height: 70px; /* todo maybe lesser */
}

.nav-desktop {
	font-size: 90%;
}

.nav-desktop, .nav-desktop .container {
	height: 100%;
}
.nav-desktop .menu {
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 300;
	text-transform: uppercase;
	position: absolute;
	top: 16px;
	right: 0;
	margin-right: 7%;
}
.nav-desktop .menu li {
	list-style: none;
    padding-left: 0;
    display: inline-block;
}
.nav-desktop .menu a {
	cursor: pointer;
	padding: 5px 15px;
	color:#fff; 
	font-size: 1.1em;
/*	transition: all 0.5s ease;
*/
}

.nav-desktop .menu a:hover,
.nav-desktop .menu a:focus {
	text-shadow:0px 0px 0px white;
}
.nav-desktop .menu .selected {
	font-weight: 400;
}

nav .banner {
	text-shadow: 0 -0.2px 2px #222;
	position: absolute;
	left: 0;
	text-align: left;
	height: 70px;
	color: #fff;
	min-width: 40%;
}

.banner .where {
	position: relative;
		top: -9px;
	padding: 0 25px;
	margin-left: 10px;
	line-height: 18px;
	font-family: 'Josefin Sans', sans-serif;
	display: inline-block;
	text-align: center;
	font-size: 1.25em;
}

.banner .cabanyal {
	font-size: 0.9em;
}.banner img {
	margin-top: 10px;
}
.banner .pavia55 {
	padding-left: 25px;
	position: relative;
	top: -10px;
	font-family: 'Times New Roman', serif;
	font-size: 3em;
	font-weight: 700;
} .banner .fiftyfive {
	font-family: 'Playfair Display';
	position: relative;
	left: 2px;
/*	font-family: 'Playfair Display', serif;
*/}

.nav-mobile {
	display: none;
	height: 100%;
}

.nav-mobile .banner {
	margin-left: 5%;
}
.nav-mobile .banner img {
	margin-top: 15px;
}.nav-mobile .banner .pavia55 {
	padding-left: 5%;
	font-size: 2em;
	top: -9px;
}

.open {
	width: 30px;
	display: block;
	font-size: 30px;
	float: right;
	margin: 20px 30px 0 0;
}

.open div {
	width: 100%;
	border-radius: 5%;
	margin: 5px 0;
	background-color: rgba(0,0,0,0.8);
	background-color: white;
	height: 4px;
	box-shadow: 0 -0.2px 2px #222;

}
.close {
	float: right;
	font-size: 70px;
	margin: -5px 23px 0 0;
	color: white;
}
.menu-mobile {
	width: 0%;
	height: 100vh;
	overflow-x: hidden;
	position: fixed;
	z-index: 1000;
	background-color: rgba(0,0,0, 0.7);
	transition: .5s;
	display: block;
}
.menu-mobile li a {
	clear: right;
	color: white;
	font-size: 22px;
	display: block;
	text-decoration: none;
	padding: 1em 0;
	transition: .3s;
	white-space: nowrap;
}.menu-mobile li a:hover,
 .menu-mobile li a:focus {
	background-color: rgba(0,0,0,0.75);
} 

/*************************************************/

main {
	max-width: 1084px;
	padding: 0 30px;
	margin: 9.375em auto 6.25em auto; /* 150/16 */ /* 100/16 */
	letter-spacing: 0.0625em; /* 1/16 */
}

body#welcome {
	color:white;
	background: url(media/headersmall.jpg) no-repeat center center fixed; 
  	-webkit-background-size: cover;
  	-moz-background-size: cover;
  	-o-background-size: cover;
  	background-size: cover;
}

#welcome main{
	max-width: 100%;
	padding: 0;
}

#welcome-message{
	font-family: 'Josefin Sans', sans-serif;
	margin-top: 18.75em; /* 300/16 */
	padding: 1.875em 0; /* 30/16 */
	background: rgb(0,0,0);
	background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5303163501728816) 20%, rgba(0,0,0,0.5471230728619573) 80%, rgba(0,0,0,0) 100%);
}

#valencia:before {
	font-family: 'Arial', sans-serif;
	content: ' | ';
	font-weight: 200;
	top: -4px;
	position: relative;
}

#welcome h1 {
	font-size: 4.6875em; /* 75/16 */
	line-height: 1.1333333333333333em; /* 85/75 */
	margin-bottom: 0.13333333333333333em;	 /* 10/75 */
}
#welcome h2 {
	font-weight: 600;
	font-size: 3.125em; /* 50/16 */
	line-height: 1.1em; /* 55/50 */
	margin-top: 0;
	padding-top: 0.1em; /* 5/50 */

}

main a {
	color: #008DDE;
}
main a:focus,
main a:hover{
	text-decoration: underline;
}

a {
	text-decoration: none;
	color: #292828;
}

/*-----------------------------WHAT TO DO*/	
#whattodo .wrapper {
	padding: 0 40px;
}

.normal, .reversed{
	margin: 6.25em 0; /* 100/16 */
	position: relative;
}
#whattodo .special .left_img img {
	margin-top: 0;
}
#whattodo .section:first-child {
	margin-top: 0;
}
.section .group:first-of-type {
	margin-top: 40px;
}

.note {
	font-size: 0.9375em; /* 15/16 */
}

.section {
	margin-top: 100px;
}

.left_img {
	float: left;
	max-width: 43.357%;
	height: auto;
}

.right_img {
	float: right;
	max-width: 43.357%;
	height: auto;
}

.special img {
	height: auto;
}
.description {
	max-width: 43.357%;
	line-height: 1.3125em; /* 21/16 */
	position: absolute;
	top: 50%;
	-ms-transform: translateY(-50%);
 	transform: translateY(-50%);
}

.normal .description {
	float: right;
	text-align: left;
	right: 0;
}

.reversed .description {
	float: left;
	text-align: right;
}



/*-------------surroundings----------------*/
.recommendation {
	width: 50%;
}


#surroundings h1{
	margin: 1.71875em 0 1.40625em 0; /* 55/32 */ /* 45/32 */
}
#surroundings h2{
	margin-bottom: 0.4166666666666667em; /* 10/24 */
	line-height: 1.25em; /* 30/24 */
}

#surroundings .group {
	margin: 2.5em 0 3.75em 0; /* 40/16 */ /* 60/16 */
}

.recommendation.left {
	float: left;
	padding-left: 5em; /* 80/16 */
}.recommendation.right {
	float: right;
	padding-right: 5em; /* 80/16 */
}.recommendation.middle{
	margin: auto;
}.recommendation.middle img {
	width: 60%;
	border-radius: 0;
	display: block;
	margin: auto;
}
.recommendation.middle p {
	font-size: 1.1em;
	line-height: 1.8em;
}
#surroundings .recommendation.middle a {
	color: #008DDE;
}

.recommendation.groceries{
	float: left;
	width: 33.3333%;
}/*.recommendation.groceries {
	padding-right : 20%;
}
.recommendation.groceries:last-child {
	padding-right: 0;
}
*/

.recommendation img {
	border-radius: 8%;
}
.recommendation img.square{
	border-radius: 20%;
	width: 40%;
}
.map.bike{
	padding-bottom: 50px;
}
#surroundings a.map{
	font-size: 0.9375em; /* 15/16 */
	color: #008DDE;
}

#surroundings .gmap {
	width: 100%;
}

.gmap{
	border: 1px solid rgb(171, 171, 171);
	box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 16px;
}


/*--*/
#surroundings a, #apartment a {
	color: #292828;
}
#surroundings a:hover, #apartment a:hover,
#surroundings a:focus, #apartment a:focus{
	color: #008DDE;
}


#surroundings .last, #apartment .wrapper {
	padding-bottom: 3.4375em; /* 55/16 */
	border-bottom: 1px solid lightgrey;
}
/*--------------apartment----------------*/
#apartment ol {
	padding: 0 0 1.25em 0; /* 20/16 */ /* 15/16 */
	list-style: none;
}

#apartment ol li, #apartment ul li {
	text-align: left;	
	line-height: 1.5625em; /* 25/16 */
}

#apartment h1, #apartment h2, #apartment h3 {
	text-align: left;
}

#apartment h1 {
	margin-bottom: 0.9375em; /* 30/32 */
}#apartment h2 {
	margin: 2.0833333333333335em 0 1.25em; /* 50/24 */ /* 30/24 */
}

#gallery h1 {
	margin-bottom: 1.3em;
	position: relative;
	left: 0.2em;
}

#apartment {
	font-size: 1em;
	text-align: left;
	line-height: 1.875em; /* 30/16 */
}
#directions {
	margin-bottom: 40px;
	width: 60%;
	float: left;

}

#map-home { 	
	width: 30%;
	float: right;
}

.show {
	display: none;
}
#ap-description ul{
	padding: 0;
	line-height: 1.25em; /* 20/16 */
	list-style: disc;
}

#ap-description li{
	text-align: left;
	margin: 0.625em 0; /* 10/16 */
}
#ap-description strong{
	text-transform: uppercase;
}

#apartment a {
	color: #008DDE;
}
#apartment a:focus,
#apartment a:hover{
	text-decoration: underline;
}

.ap_img{
	border: 3px solid lightgrey;
}
.ap_img:hover,
.ap_img:focus{
	border: 3px solid darkgrey;
}

#gallery img {
	width: 32%;
	margin: 0.5%;
}
#gallery {
	letter-spacing: 0;
}
#apartment .wrapper {
	margin-bottom: 5em;
}

#overlay {
	background: rgba(0, 0, 0, .7);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;
}
#overlay img {
	margin-top: 7%;
	border: 5px solid #fff;
	border-radius: 5px;
	max-width: 86%;
	max-height: 80%;
}

/*-------------------------------------*/
/*---------------CONTACT----------------------*/
#contact{
	font-size: 1.125em; /* 18/16 */
}
#address {
	float: left;
	width: 50%;
	padding-right: 9.9%;
	border-right: 1px solid lightgrey;
	text-align: right;

}

#contact li{
	margin: 1.1111111111111112em 0; /* 20/18 */
}

#contact .fas{
	color: #333333;
	text-align: center;
	margin-bottom: 0.20833333333333334em; /* 10/48 */
}

#nikolas {
	float: right;
	padding-left: 9.9%;
	width: 50%;
	text-align: left;
}

/*-------------------------------------*/

/************************FOOTER*************************/
.pre-footer{
	min-height: 6.875em; /* 110/16 */
	width:100%;
/*	background: rgb(51,80,131);
	background: linear-gradient(0deg, rgba(51,80,131,1) 0%, rgba(71,111,181,1) 100%);*/
background: rgb(49,86,122);
background: linear-gradient(0deg, rgba(49,86,122,1) 0%, rgba(94,142,188,1) 100%);
	box-shadow: 0 -2px 3px #A8A8A8; 
	color: #FFFFFF;
	position: relative;
	line-height: 6.875em; /* 110/16 */
}
.pre-footer .prompt{
	position: absolute;
	right: 6.25em; /* 100/16 */
	display: inline-block;
	letter-spacing: 0.125em; /* 2/16 */
}
.pre-footer a{
	color: #eca92b;
	font-weight: 700;

}
.pre-footer a:hover{
	text-decoration: underline;
}

.pre-footer .pavia55 {
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	font-size: 5.5em;
	text-align: left;
	position: absolute;
	left: 2.1621621621621623em; /* 160/74 */
	top: -0.06756756756756757em;  /* 5/74 */
	display: inline-block;
}
/********************************************/		
footer{
	background: rgb(33,33,33);
	background: linear-gradient(180deg, rgba(33,33,33,1) 0%, rgba(51,51,51,1) 100%);
	height: 4.285714285714286em; /* 60/14 */
	width: 100%;
	line-height: 4.285714285714286em; /* 60/14 */
	font-size: 0.875em; /* 14/16 */
	box-shadow: 0 -4px 3px #A8A8A8; 
}
footer .copyright, .footer-menu a {
	color: #BEBEBE;
}
footer .copyright{
	float:right;
	display: inline-block;
	margin: 0 7.142857142857143em 0 0; /* 100/14 */
}

.footer-menu{
	margin: 0 0 0 7.142857142857143em; /* 100/14 */
	float:left;
	display: inline-block;
	text-transform: uppercase;
}
.footer-menu li{
	list-style: none;
	margin:	 0;
	display: inline-block;
}

.footer-menu li:after{
	content: '/';
	margin: 0 0.5714285714285714em; /* 8/14 */
	color: #BEBEBE;
}.footer-menu li:last-child:after {
	content:'';
}
.footer-menu a:hover,
.footer-menu a:focus{
	text-decoration: underline;
}
.fa-chevron-up {
	color: 	#F5F5F5;
	color: #BEBEBE;
	float:left;
	display: none;
	margin-left: 5%;
	margin-top: 0.34285714285714286em; /* 12/35 */
	font-size: 2.5em; /* 35/14 */
}


#footer-wrapper {
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
}


/************************CLEARFIX*************************/

.group:before,
.group:after {
	content:" ";
	display: table;
}

.group:after {
	clear:both;
}

.group {
	*zoom: 1;
}

@media(max-width: 1400px){

	.nav-desktop {
		font-size: 80%;
	}
	main, aside, footer{
		font-size: 80%;
	}


}

@media (max-width: 1160px) {
	.nav-desktop .where {
		display: none;
	}
	.nav-desktop img {
		margin-left: 7%;
	}

	.nav-desktop .menu {
		margin-right: 4%;
	}
}


@media (max-width: 1120px){

	#apartment .gmap {
		float: none;
		width: 100%;
	}

	#directions {
		float: none;
		width: 100%;
	}

	.pre-footer {
		font-size: 90%;
	}

	.pre-footer .prompt {
		display: block;
		position: static;
		line-height: 1.6em;
		padding: 10px 0 10px;
	}

/*	.pre-footer img {
		position: static;
		padding-top: 30px;
		margin: auto;
		display: block;
	}*/
	.pre-footer .pavia55 {
		position: static;
		text-align: center;
		display: block;
	}

	footer .copyright {
		margin-right: 5%;
	}

	.footer-menu {
		margin-left: 5%;
	}
}

@media (max-width: 1000px){

	.fa-chevron-up {
		display: inline;
	}

	.footer-menu {
		display: none;
	}
}

@media (max-width: 960px){
	.recommendation.left {
		padding-left: 4%;
	}.recommendation.right {
		padding-right: 4%;
	}
	#surroundings .groceries {
		width: 50%;
		margin-bottom: 45px;
	}
	#surroundings .groceries:first-child{
		padding-left: 8%;
	}#surroundings .groceries:nth-child(2){
		padding-right: 8%;
	}
	#surroundings .groceries:last-child{
		width: 100%;
	}
	#surroundings .groceries img {
		width: 150px;
	}

	nav{
		position: static;
	} main {
		margin-top: 4em;
	} #welcome-message {
		margin-top: 180px;
		font-size: 90%;
	}
	.nav-desktop {
		display: none;
	} .nav-mobile {
		display: block;
	} nav .banner {
		width: 70%;
	}
/*
	#welcome .menu {
		font-size: 85%;
	}*/

}


@media (max-width: 860px){
	.recommendation {
		width: 100%;
		margin: auto;
	}


	.recommendation.first{
		padding-top: 0 !important;
	}

	.recommendation.left,
	.recommendation.right {
		float: none;
		padding: 30px 0;
	}

	#surroundings .section .group {
		margin: 0;
	}

	#whattodo .description {
		max-width: 470px;
		padding: 0 35px;
		text-align: center;
		float: none;
		margin: auto;
		position: static;
		transform: none;
		-ms-transform: none;
		margin-top: 20px;
		border-bottom: 1px solid lightgrey;
		border-top: 1px solid lightgrey;
	}

	#whattodo .left_img,
	#whattodo .right_img {
		float: none;
		max-width: 100% !important;
		max-height: 100% !important;
	}

	#whattodo img:first-child {
		margin-top: 40px;
	}

	#whattodo .normal:first-of-type{
		margin-top: 0;
	}
}




/*********TEMP********/


@media (max-width: 800px){

	#apartment h1 {
		text-align: center;
	}

	.pre-footer .prompt {
		padding-top: 0.5em;
	}
	.pre-footer .prompt a {
		display: block;
	}
	#contact {
		margin-bottom: 3em;
	}
	#contact #address,
	#contact #nikolas {
		width: 100%;
		float: none;
		margin: auto;
		text-align: center;
		border: none;
		padding: 0;
	}
	#footer-wrapper {
		position: static;
	}

	#contact #nikolas {
		margin-top: 70px;
	}

	#gallery img {
		width: 48%;
		margin: 0.5%;
	}.hide {
		display: none;
	}.show{
		display: inline;
	}
	#surroundings .groceries {
		width: 100%;
		padding: 0 !important;
	}
	#surroundings .groceries img {
		max-width: 40%;
	}

	/*.nav-mobile {
		display: block;
		height: 70px;
	}.nav-desktop {
		display: none;
	}*/
/*	nav {
		min-height: 70px;
		position: static;
		border-bottom: none;
	}*/

	main {
		margin-top: 3em;
	}


	body#welcome {
		background: white;
		color: #292828;
	}

	.cover{
		width: 100%;
		height: 100%;
		position: absolute;
		top:0;
		left:0;
		z-index: -1;
	}

	#welcome-message {
		display: none;
	}
} 

@media (max-width: 700px){
	#surroundings .section img {
		max-width: 65%;
		height: auto;	
	}
}

@media (max-width: 500px){
	.pre-footer {
		font-size: 75%;
	}

	#whattodo .wrapper {
		padding: 0;
	}
}