@import 'https://fonts.googleapis.com/css?family=Open+Sans';
@import 'dist/jquery.fancybox.css';
@import 'menu.css';


/* CORE STYLES */
:root {
    --orange: #FFC836;
    --dirtyorange: #aa831e;
    --alternate: #58c3d0;
    --white: #fff;
    --grey: #444;
    --lightergrey: #F7F8EE;
    --lightblue: #81B4FC;
	--misty: rgba(255, 255, 255, 0.7);
	--black: #000;
	--lightorange:#F7F8EE;
  }


body{
    background-color: var(--white);
    margin: 0; 
    font-family:  'Open Sans', sans-serif, sans;
}
img{
    max-width: 100%; 
}
input, textarea, select {
	font-family:"Open Sans", Calibri, "Trebuchet MS", Arial, Helvetica, sans-serif, Sans;
	font-size: 15px;
	padding: 7px;
	background-color: #fff;
	background-color: var(--white);
	border: 2px solid var(--grey);
	max-width: 100%;
}
table {
	width: 100%;
	border-collapse: collapse;
}
td {
	padding: 5px 1vw 5px 5px;
	vertical-align: top;
}
table p{
	margin-block: 0;
}
a{
    text-decoration: none;
}
a[href^="mailto:"]
{
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}
header{
    justify-content: center;
    margin: auto;
	text-align: center;
}
header img{
    margin: 1.5rem auto;
    width: 400px; 
}
header h1{
    color: var(--grey);
    font-weight: normal;
    margin: 0 auto;
}
.grid{
    display: grid;
	background-color: var(--white);
}
.picturegrid{
	gap: 10px;
}
.picturegrid > div{
    aspect-ratio: 3/2;
	overflow: hidden;
	text-align: center;
}
.picturegrid img{
    height: 100%;
    object-fit: cover;
	aspect-ratio: 3/2;
}
main{
	background-color: var(--white);
}
main h1,
main h2{
	font-weight: normal;
}
main > div{
    max-width: 1000px;
    margin: auto;
    line-height: 1.7;
    color: var(--grey);
    padding: 2rem 6vw;
}
main div a{
	color: var(--grey);
}
main div p a, 
main div table a{
	border-bottom: 1px dashed var(--dirtyorange); 
}
main div p a:hover, 
main div table a:hover{
	color: var(--orange); 
	border-bottom: 1px dashed var(--grey); 
}
main div td{
	border-bottom: 1px solid #eee;
}
main div blockquote{
	margin: auto;
	padding: 0.5rem 1.5rem;
	background-color: var(--lightergrey); 
}
#form tr:nth-child(odd){
    background-color: #f0f0f0 !important;
}
#form tr:nth-child(even) {
    background-color: #fff !important;

}


/* CALENDAR */

#calendar { 
	font-size: 13px;
	line-height: 13px;
	border-collapse:collapse;
	table-layout: fixed ;
	width: 100% ;

}
#schedule .montharrows,
#schedule h3{
	padding-left: 3vw;
}
 #schedule {
	position: relative; 
	margin: auto;
	max-width: 1200px; 
} 
#schedule .russ{
	font-family: Russo One;
	font-size: 30px; 
	vertical-align: middle;
	padding : 0px 10px 3px 10px; 
	background-color: var(--dirtyorange);
	color: var(--white);
	border-radius: 30px;
	line-height: 30px; 
	transition: 0.4s;
    margin: auto;
	max-width: 1200px; 
}
#schedule .russ:first-of-type{
	margin-right: 20px; 
}
#schedule .russ:last-of-type{
	margin-left: 20px; 
}
#schedule .russ:hover{
	background-color: var(--orange);
	color: var(--grey);
}
#schedule h3,
.montharrows{
	max-width: 800px;
	margin: 30px auto; 
	font-weight: normal; 
}
#calendar a {
	color: var(--grey); 
	padding-bottom: 10px;
	display: block; 
}
#calendar a:hover {
	color: var(--black);
} 
#calendar td {
	padding: 3px;
	border: 1px solid #444;
}
td {
	vertical-align: top;
} 
#calendar .topdays td{ 
	text-align: center; 
	background: var(--grey);
	color: var(--white);
	padding: 20px; 
} 
#calendar a .time{
	color: var(--dirtyorange);
}
#calendar td  a ~ div {
	display: none; 
}
.highlighteddayboxes {
	background: var(--grey); 
    color: var(--white);
	text-align: left;
}
.highlighteddayboxes .numbers{
	color: var(--white);
}
#calendar .highlighteddayboxes > a{
    color: var(--white);    
}
.dayboxes { 
	background: var(--lightergrey);
	text-align: left;
} 
.booked { 
	background: var(--orange);
	text-align: left;
	color: var(--white) !important; 
}
.beforedayboxes, 
.afterdayboxes, 
.booked, 
.highlighteddayboxes, 
.dayboxes { 
	height: 90px;
} 
.afterdayboxes,
.beforedayboxes{
	background-color: var(--white);
}
.numbers { 
	font-size: 20px;
	float: right;
	line-height: 32px; 
	color: var(--grey);
	padding: 0px 0px 5px 5px;  
} 

.arrows {
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	background-color: var(--dirtyorange);
}
.arrows:hover{
	background-color: var(--orange);	
}
.iw {
	font-size: 12px;
	padding: 10px 100px;
	text-align: right;
	background-color:var(--misty);
} 
.iw a{
	color: var(--grey);
	text-decoration: none;
}
.logo{
	padding-top: 3vw;
	text-align: center;
}
.logo img{
	width: 200px; 
}
#loginbox{
	max-width: 600px;
	margin: 50px auto;
}
.contactform{
	/* background-color: var(--lightorange);	 */
	border-radius: 10px; 
	padding: 20px; 
}
.page {
	height: min(600px,70vh);
	margin: auto;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.page.contain {
	background-size: contain;
}
.page + .misty .grey main,
.page + .misty .grey main div {
	padding-top: 0;
}
.oops {
	font-size: 250px;
	float: right;
	line-height: 250px;
	color:var(--black);
}
.head2{
	position: sticky;
	top: 0;
	background-color: var(--lightorange);
	padding: 1rem;
}
.head2 h2{
	padding: 0;
	margin: 0;
}
.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}





@media only screen and (min-width: 1024px) {
    #calendar td  a + div,
	#calendar .highlighteddayboxes  a + div {
        background-color: var(--lightergrey);
        color: var(--grey) !important;
        opacity	: 0; 
        line-height: 160%; 
        border-radius: 15px; 
        position: absolute;
        top: 20px;
        left: calc( 50%	 - 5px);
    }
    #calendar td  a:hover + div, #calendar td  a:focus + div {
        opacity	: 1; 
        z-index: 1;
        width: 350px;
        padding: 20px;
        transition: opacity 0.4s;
        box-shadow: 2px 2px 10px rgba(0,0,0,0.8); 
        font-size: 15px;
        display: block;
    }
	body{
		background-image: url('images/hex.jpg');
		background-size: 100% auto;
		background-position: bottom;
		background-repeat: no-repeat;
		background-attachment: fixed;
	}
	.misty{
		background-color: var(--misty);
		/* backdrop-filter: blur(7px); */
		padding-bottom: 3vw;
	}
	.grey{
		background-color: var(--white);
		padding: 3vw;
		max-width: 1200px;
		margin:auto;
		border-radius: 0 0 1rem 1rem;
		
	}
	.grey.noradius{
		border-radius: 0; 
	}
	/* main div p img{
		float: right;
		margin: 20px;
		width: 300px;
		border-radius: 5px;
		clear: both;
	} */
	.misty.admin,
	.grey.admin,
	.admin main div{
		max-width: 100%;
	}
	main > div > div {
		display: grid;
		grid-template-columns: 2fr 1fr;
		gap: 2rem;
	}
	main > div > div img{
		border-radius: 5px;
		transition:  1.5s ease;
		width: 100%;
		box-shadow: 3px 3px 30px transparent;
		}
	main > div > div img:hover{
		transform: scale(150%);
		box-shadow: 3px 3px 30px rgba(50,50,50, 0.7);
	}
    }
    
    

@media only screen and ( min-width: 800px ) {
    .picturegrid{
        grid-template-columns: 1fr 1fr 1fr;
    }
	.contactform input:not([type="submit"]):not([type="checkbox"]),
	.contactform textarea {
		outline: 3px solid transparent !important;
		width: 210px; 
	 
	}
	.contactform:focus-within input:not([type="submit"]):invalid,
	.contactform:focus-within textarea:invalid {
		outline: 3px solid red !important;
		margin-bottom: 0; 
	}
	.contactform:focus-within input:not([type="submit"]):valid,
	.contactform:focus-within textarea:valid {
		outline: 3px solid green !important;
		margin-bottom: 0; 
	}
	.contactform:focus-within, .contactdiv > div:focus-within {
		background-color: var(--lightorange);
		/* color: var(--white); */
	}
	.newpassword {
		position: relative; 
	}
	input.newpassword:invalid::after{
	  content: "more than 8 characters, must contatin one upper case, one lower case, one number";
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background-color: red;
		color: #fff;
		padding: 10px; 
	}
	input, textarea, select {
		font-family: "Open Sans", Calibri, "Trebuchet MS", Arial, Helvetica, sans-serif, Sans;
		font-size: 15px;
		border-radius: 5px;
		padding: 7px;
		background-color: var(--white);
		color:var(--grey);
	} 
	/* select{
		width: 250px; 
	} */
	.form{
        grid-template-columns: 1fr 1fr ;
        display: grid;
        gap: 10px; 
    }
	.colspan2{
		grid-column: 1 / span 2;
		border-top: 1px solid var(--grey);
	}
	.gallery {
		grid-template-columns: repeat(auto-fit,minmax(min(250px,100%),1fr));
	}
	main > div > ul > li > ul {
		display: none;
		list-style: none;
		margin-block: 5px;
	}
	main > div > ul > li.opened > ul{
		display: flex;
		background-color: var(--misty);
		font-weight: 400;
	}
	main > div > ul > li:has(ul){
		cursor: help;
		background-color: var(--lightergrey);
		font-weight: bold;
		list-style: none;
		margin-block: 5px;
	}
}






@media only screen and ( min-width: 1400px )and ( min-height: 800px ) {
    .page{
        background-attachment: fixed;
    }
}


@media only screen and (max-width: 640px) {
	#calendar td, #calendar .numbers {
		display: block;
		height: auto;
		width: auto;
		float: none;  
	}
	#calendar .beforedayboxes, #calendar .topdays, #calendar .afterdayboxes{
		display: none; 
	}
}



@media only screen and ( max-width: 640px ) {
	main div td{
		display: block;
		border-bottom: 0;
	}
	main div tr{
		display: block;
		border-bottom: 1px solid #eee;
	}
}