* { box-sizing: border-box; }
html {
  /*scroll-behavior: smooth;*/
}
.color-red{
    color: #9d2222;
}
body {
    background-color: #F7F3E3;
    font-family: Arial, sans-serif;
    color: #222;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
    overflow-y: scroll;
    /*scroll-snap-type: y mandatory;*/
}

h1 {
    font-size: 4rem;    
	margin:40px -20px 40px -20px;
    padding:40px 0;
    background-color:rgba(157, 34, 34, .75);
}
.left{
    float:left;
    width:50%;
	padding-right: 20px;
	text-align:right;
}
.right{
    float:right;
    width:50%;
	padding-left: 20px;
	text-align:left;
}
h2 {
    font-size: 3rem;
    font-weight:normal;
    margin:0px -20px 20px -20px;
    padding:20px 0;
    background-color:rgba(0, 0, 0, .2);
}
h3{
	font-size: 2rem;
}
img{
    max-width:100%;
}

button {
    background-color: #ffd700;
    color: #333;
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    min-width:100px;
    min-height:50px;
    line-height:normal;
}

button.scroller{
	position:fixed;
    right:20px;
    bottom:20px;
}

button.scrolltop{
	position:fixed;
    left:20px;
    bottom:20px;
}

button:hover {
  background-color: #ffc107;  
}

a{
	text-decoration:none;
	color:black;
}
a:hover{
	text-decoration:none;
	color:gray;
}
section{
    /*scroll-snap-align: start;*/
    width: 100%;
    height: 100%;
    height: 100vh;
    transition: opacity 2s;
	padding: 0 20px;
	font-size: 2rem;
	position: relative;
}
section:nth-child(even) {
    background: #9d2222;
    color:white;
}

section p{
    font-size:2rem;
    padding:5px 0 5px 0;
    margin:0 0 20px 0;
    line-height: 1.5;
}
.topposter{
    background-image:url('poster1.jpg');
    width: 100%;
    height:100vh;
    background-repeat: no-repeat;
    background-position:0;
    background-size:cover;
    color: #fff;
    background-color: rgba(255,255,255,0.3);
    background-blend-mode: lighten;
}
.topposter p{
    background-color:rgba(0, 0, 0, .60);
    margin:0;
    padding:20px 0;
    position:absolute;
    bottom:20px;
    left:0;
    right:0;
    line-height: 1.5;
	font-size: 2rem;
}
.flagl{
    width:100px;
    transform: rotate(-20deg);
    float:left;
    margin-left: 40px;
}
.flagr{
    width:100px;
    transform: rotate(20deg);
    float:right;
    margin-right: 40px;
}

.poster{
    margin:40px 0 0 0;
    max-width:100%;
}
ul{
    display: inline-block;
    list-style: none;
    text-align: left;
    font-size:1.5rem;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}
ul li{
    margin: 5px 0;
    font-size: 1rem;
}
.gal{
	width: 800px;
    margin: 0 auto;
}
.galpic{
    max-height: 70vh;
}
.slider-container>*{
	text-align:center;
}
.airbnb-embed-frame{
    width: 100%;
	height: 450px;
	margin: auto;
}
.maps{
    width: 100%;
	height: 550px;
}
.mapsbtn{
	line-height:25px;
	text-align:left;
} 
.mapsicon{
	width:50px;
	margin:0 auto;
	/*vertical-align:middle;*/
	float:left;
	margin-right:10px;
}
.mobileonly{
	display:none;
}
.desktoponly{
	display:block;
} 
.slider-nav{
	top:calc(50% - 22px) !important;
	bottom:auto !important;
	/*transform: translateX(-50%) !important;*/
	box-shadow:none !important;
	left:0px !important;
	min-width: auto;
    min-height: auto;
	visibility:visible !important;
	background-color: #ffd700 !important;
} 
.slider-nav:hover {
    background-color: #ffc107 !important;
}
.slider-nav.slider-nav-next{
	right:0px !important;
	left:auto !important;
}
.slider-nav::after {
    
}
.sectionpic{
	max-height:60vh;
}
.fullpic{
	z-index:1000;
	position:fixed;
	top:0;
	bottom:0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.underlay{
	content:'';
	position:fixed;
	background:rgba(0, 0, 0, .8);
	left:0;
	right:0;
	top:0;
	bottom:0;
	z-index:999;
}
input, textarea{
    width:100%;
    padding:10px;
    margin:0 0 5px 0;
}
input[type="number"]{
    width: calc(50% - 10px);
    float: left;
    margin: 0 0 5px 10px;
}
input[type="number"].first{
    margin: 0 10px 5px 0;
}
textarea{
    min-height:100px;
}
/* Popup container */
.popup {
    position:fixed;
    left:50%;
    bottom:20px;
    display:none;
    transform: translateX(-50%);
    z-index:2000;
    background: rgba(0, 0, 0, .75);
    padding:20px;
    border-radius: 20px;
    color:white;
}

/* The actual popup (appears on top) */
.popuptext {
  text-align:center;
}
/*.fullscreen-image {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 999;
	backdrop-filter: blur(5px);
}*/
@media (max-width: 760px){
    *{
        white-space: normal;
        word-wrap: break-word;
    }
	body { 
		/*position: fixed;
		height: 100%;		
		top: 0;
		bottom: 0;*/
	}
	h1 {
        font-size: 1.3em;
		margin: 0px -20px 40px -20px;
		padding: 20px 0;
	}
	h3{
	    margin: 15px 0 15px 0;
	}
	button.scroller{		
		right:10px;
		bottom:10px;
	}
	button.scrolltop{
		left:10px;
		bottom:10px;
	}
	.flagl {
        width: 50px;
        margin-left: 20px;
    }
    .flagr {
        width: 50px;
        margin-right: 20px;
    }
    .topposter{        
		background-size: cover;
        background-position: center;
    }
    .topposter p{
        padding: 20px 20px;
		line-height: 1.2;
		font-size: 1.5rem;
		bottom:40px;		
		opacity:0;
		bottom:-300px;
    }	
    section{
        padding: 0 20px;
		height:100vh;
		/*min-height: 100dvh;*/
		/*min-height: -webkit-fill-available;
		min-height: 100vh;*/
		/*height: calc(100vh - calc(100vh - 100%))*/
		max-height: 100%;
    }
	section p{
		margin:0;
		line-height: 1.2;
		font-size: 1.5rem;
	}
	section p.mid{
	    position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 10px;
        right: 10px; 
	}
	section p.mid.lower{
	    
        top: 60%;
        
	}
    h2{
        margin: 0px -20px 10px -20px;
        font-size: 2rem;
    }
    h3{
        font-size: 1.5rem;
    }
	
    .left, .right{
        width:100% !important;
        position: relative;
        text-align:left;
        padding:0;
        font-size: 1.5rem;
    }
    .airbnb-embed-frame, .maps{
        width:100%!important;
		height: 300px;
    }
	.maps{        
		height: 200px;
    }
    .gal img {
        max-width: 100%;
        width: 48%;
		margin:2px;
    }
	.mobileonly{
		display:inline-block;
	}
	.desktoponly{
		display:none;
	}
	button[type="submit"]{
	    width:100%;
	}
	.sectionpic{
		max-height:40vh;
	}
}