*{margin:0;padding:0;box-sizing: border-box;}
*:after, *:before {content: "";}

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

@font-face {
    font-family: 'open_sansregular';
    src: url('/webfonts/OpenSans-Regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'courgetteregular';
    src: url('/webfonts/courgette-regular-webfont.woff2') format('woff2'),
         url('/webfonts/courgette-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

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

html{scroll-behavior: smooth;}
body {font-family: 'open_sansregular', Arial, Helvetica, sans-serif;font-size: 100%;background:white url(/images/body.jpg) no-repeat center center fixed;background-size: cover; color: #333333;}

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

h1,h2,h3,h4,h5,h6{margin-bottom: 0.6em;}
h1,h2,h3,h4{font-weight: normal;font-family: 'courgetteregular', Arial, Helvetica, sans-serif;}
h1,h2{font-size: 2em;}
h1 a, h2 a{text-decoration: none;}
h2{margin-top:2em;}
h3{font-size: 1.7em;}
h4{font-size: 1.3em;}
h5{font-size: 1em;}
h6{font-size: 0.9em;}

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

p, ul, ol{margin-bottom: 1.6em;line-height: 1.5;}
ul, ol{margin-left: 2.7em;}
hr {clear: both;margin: 2em 0; border: 0; height: 1px; border-top: 1px solid silver;} 

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

img {display:block;border: 0; max-width: 100%; height: auto !important;}
img.floatleft {float: left; margin: 0 1em 0 0;}
img.floatright {float: right; margin: 0 0 0 1em;}

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

a{outline: none;}
a:link {color: #3151a2;}
a:visited {color: #5c7996;}
a:hover,a:active {color: #ca0002; text-decoration: none;}
a img {border: none;}

a.button{display: inline-block; margin-bottom:0.3em;padding:0.4em 1.2em; text-decoration: none; border: 1px solid #74b807; border-radius:0.3em; color:white;background:linear-gradient(#89c403, #77a809);}
a.button:hover, a.button:active{background: linear-gradient(#77a809, #89c403); }

a.button i{margin-right:0.4em;}

a.button.red {color:white;background:linear-gradient(#fe1a00, #ce0100);border-color:#d83526;}
a.button.red:hover, a.button.red:active{background: linear-gradient(#ce0100, #fe1a00);}

a.button.disabled, a.button:hover.disabled, a.button:active.disabled{color: #8f8f8f; border-color: #dcdcdc; background: #dcdcdc; cursor: default;text-shadow: 0 1px rgba(255, 255, 255, .75);}

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

input,select,optgroup,textarea {font-size: 100%; font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;}

form {clear:both;margin-bottom:2em;}
form p{line-height:normal;}

fieldset { margin-bottom: 1.6em; border: none; border-top: 1px solid #a9a9a9;}
fieldset fieldset { padding: 0.6em; border: 1px solid #a9a9a9;}

legend {border: none; margin-bottom: 0.5em; padding: 0 0.5em 0 0;  font-size: 1.6em;font-family: 'courgetteregular', 'open_sansregular', Arial, Helvetica, sans-serif;}
fieldset fieldset legend{ padding:0 0.5em; font-size: 1.4em;}

label {line-height:1.7;}
label[for] { cursor: pointer; }

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], select{width:100%;outline: none;background-color: white;border: 1px solid #a9a9a9; padding: 0.6em;margin-bottom:2em;border-radius:0.3em;transition: 0.3s;}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="password"]:focus, select:focus, textarea:focus{border-color: #1e90ff;box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 0 3px rgba(82,168,236,.6);}
input[type="text"].widthauto, input[type="email"].widthauto, input[type="tel"].widthauto, input[type="password"].widthauto, textarea.widthauto, select.widthauto{width:auto;}

input:invalid, textarea:invalid, select:invalid {box-shadow: none;}

input[disabled], select[disabled], select[disabled] option, select[disabled] optgroup, textarea[disabled]{color: #888888;cursor: not-allowed;}
input[type="text"][disabled], input[type="email"][disabled], input[type="tel"][disabled], input[type="password"][disabled], select[disabled], textarea[disabled] {background-color: #eeeeee !important;}

input[type="file"]{display:none;}

textarea {width:100%;outline: none;background-color: white;border: 1px solid #a9a9a9; padding: 0.6em;min-height: 5em;margin-bottom:2em;overflow: auto; resize: vertical;vertical-align: top;border-radius:0.3em;transition: 0.3s;}

input[type="checkbox"],input[type="radio"] {margin-right: 0.1em; cursor: pointer;font-size: 0.6875em; position: relative;vertical-align: middle; }
input[type="checkbox"] + label, input[type="radio"] + label{margin-right: 1em;vertical-align: middle;}
input[type="checkbox"][disabled] + label, input[type="radio"][disabled] + label{color: silver;cursor: auto;}

select option{color: #333333; background: white;}
select option:disabled, select:required:invalid{color: #a9a9a9;}
select.inline{width: auto;padding: 0.2em 0.6em;}
select.inline + label{margin-right: 1.5em;vertical-align: middle;}

button{vertical-align: middle; cursor: pointer;font-size: 1em;margin-bottom:0.3em;padding:0.6em 1.5em;border: 1px solid #d83526;border-radius:0.3em;color:white;background:linear-gradient(#fe1a00, #ce0100);}
button:hover, button:active{background: linear-gradient(#ce0100, #fe1a00);}

button i{margin-right:0.4em;}

button:disabled, button:hover:disabled, button:active:disabled{ color: #8f8f8f; border-color: #dcdcdc;cursor: not-allowed; background: #dcdcdc; text-shadow: 0 1px rgba(255, 255, 255, .75);}

.fcol{ float:left; width: 50%; }
.fcol-left{ padding-right:0.3em; }
.fcol-right{ padding-left:0.3em; }

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

.col2{float:left;width:50%; }
.col2-left{padding-right:1.2em; overflow: hidden;}
.col2-right{padding-left:1.2em; overflow: hidden;}

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

.clear:after{display: table;clear: both;}
.textcenter{text-align: center;}
.textright{text-align: right;}
.highlight, a.highlight{color: #b22222;}
.hlite { background: #fff9bd; padding:0.6em;}

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

.overlay{display:none;position: fixed;z-index: 9;width: 6em;height: 6em; overflow: visible;margin: auto;top: 0;right: 0;bottom: 0;left: 0; text-align: center; }
.overlay:before{display: block;position: fixed;top: 0;right:0;bottom:0;left: 0;width: 100%;height: 100%;background-color: rgba(0,0,0,0.8);}
.overlay.spinner:after{content: " ";display: block;border-radius: 50%;width: 5em;height: 5em;margin: auto; border: 0.5em solid white; border-color: white transparent white transparent; animation: spin 1.2s linear infinite;}
@keyframes spin {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}

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

#lbModal{display:none; position: fixed; z-index: 98; background: white; color: #333333; border-radius:0.62em; box-shadow: 0 0 10px rgba(0,0,0,0.6); transform:scale(1); animation: blowUpModal .5s cubic-bezier(0.165, 0.840, 0.440, 1.000) forwards; }
@keyframes blowUpModal {
  0% { transform:scale(0); }
  100% { transform:scale(1); }
}
#lbModalClose{position: absolute; top:0.6; right:1.2em; cursor: pointer; font-size: 1.3em;  font-weight: normal; }
#lbModalClose:hover{color: #ca0002;}
#lbModalBody{overflow: auto; padding:2.5em;}
#lbModalBody p:last-child{margin-bottom: 0;}
#lbModalBody ul{margin-bottom: 0;}
#lbModalBody div{ text-align: center; }

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

ul.tick{list-style-type: none;}
ul.tick li{text-indent: -1.4em;margin-bottom: 0;}
ul.tick li:before{font-family: 'Font Awesome 5 Free';content: "\f00c";font-weight: 900;margin:0 0.4em 0 -0.9em;  font-size: 1.3em; color: #3cb371;}

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

#skipToContent{position:absolute; z-index:6; padding:0.6em 1.2em; border-radius: 0 0 .5em .5em; background: black; left:2em; color: #e0ffff; font-size: 0.9em; transform: translateY(-120%); transition: all .2s ease-in;  }
#skipToContent:focus{transform:translateY(0);}

/*********************************** end ***********************************/

#header{text-align: center;padding:2em 0 1em 0;}
#header img{display:inline; }

#nav{max-width:980px;margin:0 auto;}

#nav ul{list-style: none;margin:0;padding: 0; line-height: normal; text-align: center; }
#nav li {display: inline-block;}
#nav li a {box-shadow: 3px 3px 5px 0 rgba(0,0,0,0.75);display:inline-block;margin-right:0.7em;font-size: 1.5em;font-family: 'courgetteregular', 'open_sansregular', Arial, Helvetica, sans-serif;color: black;  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.7);background: rgba(255, 255, 255, 0.6); padding: 1em;text-decoration: none;border-radius:50%;}
#nav li:last-child a{margin-right:0;}
#nav li a:hover, #nav li a.active { background: #dc143c; color:white;text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7);}

#pull {display: none;position: relative;clear: both;text-decoration: none; background: #1e90ff; color: white; padding:0.3em 0.6em; text-align: center;}

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

#content{max-width: 980px;padding:2.5em;overflow:hidden;margin:3em auto;border-radius:1em;background-color:rgba(255,255,255,0.9);}

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

#socialIcons{clear:both;list-style: none;margin: 0 0 1em 0;padding:0;line-height:normal; text-align: center;}
#socialIcons li{display:inline;margin-right: 1em;}
#socialIcons li:last-child {margin-right:0;}
#socialIcons a {text-decoration: none; color: black; font-size:1.2em; display: inline-block; vertical-align: middle;}

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

#footer{clear:both;padding:0.6em;margin-bottom:2em;text-align:center;}
#footer a{color:black;}
#footer ul{list-style: none;margin:0 0 1em 0;padding:0;line-height: normal;}
#footer li {display:inline;margin:0 1em 0 0;padding:0;}
#footer li:last-child {margin-right:0;}

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

#pagination {font-size: 0.9em;background-color:#3e3e3e;color: white; text-align: center;padding:0.6em; border-radius:0.6em;}
#pagination a {display:inline-block;padding: 0.2em 0.6em; margin: 0 0.2em; background-color:#3e3e3e;text-decoration: none; color: white;}
#pagination a:hover, #pagination a:active {background-color:#ec5210;border-radius:0.2em;}
#pagination span.current {padding: 0.2em 0.6em; margin: 0 0.2em; border-radius:0.2em; font-weight: bold; background-color: #595959;}
#pagination span.disabled {padding: 0.2em 0.6em; margin: 0 0.2em; border-radius:0.2em; background-color:#3e3e3e;color: #a9a9a9;}

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

.tabcontentwrapper{background: white;border: 1px solid #a9a9a9;border-top: none;padding: 2em 1em;margin-bottom:2em;}
.tabcontentwrapper input{width:auto;height:auto;margin-right:0.3em;}
.tabcontentwrapper label{font-weight: normal;margin-top: 0;display:inline;float: none;}
.tabcontentwrapper label:hover, .tabcontentwrapper input[type="radio"]:checked+label{ color: #b22222;}

.tabcontentwrapper fieldset:last-child{ margin-bottom: 0;}

.tabcontent{display: none;}

.tabcontent div{margin-bottom:15px;display:flex;align-items: baseline;}
.tabcontent div:last-child{margin-bottom:0;}
.tabcontent strong{display:block;margin-bottom:0.3em;}
.tabcontent.selected	{display: block;}

.tabs{border-bottom: 1px solid #a9a9a9;height: 38px;margin-top: 1em; }
.tabs:after{display:block;clear:both;content:'';}
.tabs label{font-weight: normal;display:inline-block; width: auto; height: 37px; line-height: 37px;padding: 0 1.2em; margin: 0 1px 0 0;background: #e8f9f7; cursor: pointer;border: 1px solid #a9a9a9;border-top-left-radius: 5px;border-top-right-radius: 5px; text-transform: uppercase; }
.tabs label.selected	{color: #b22222;background: white;height: 38px;line-height: 38px;border-bottom: none;}
.tabs input{display: inline-block;width:auto;padding: 0;margin:0;height:auto;}

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

#totalcost{display:block;font-size: 1.2em; margin-top:1.5em;color: #b22222;}
#totalcost em{ font-style: normal; }

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

#guestbook{clear:both;margin-top:3em;}
#guestbook div{border-left: 1px solid #a9a9a9;border-bottom: 1px solid #a9a9a9;padding-left:1em;margin-bottom:3em;}

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

#galleryItems{ text-align: center; }
#galleryItems ul{overflow:hidden;list-style: none;margin:0;padding: 0;}
#galleryItems li{float: left;position: relative;width: 31%;padding-bottom: 25%; margin:0 1% 1% 1%;  text-align: center; }
#galleryItems img{position: absolute;right: 0;left: 0;bottom:0;max-width:100%;max-height: 100%; margin: 0 auto;}

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

#gmap p{text-align: center;}
#gmap div{display:none;margin-bottom:1em;}

/********************************** media **********************************/

@media only screen and (max-width : 768px) {
		
	h1,h2{font-size: 1.8em;}
	h3,h4{font-size: 1.5em;}
	
	img {max-width: 100% !important; height: auto !important;}
	
	#nav li a {margin-right:0.6em;font-size: 1.4em; padding: 1.25em; }
	
	#content{padding:1.2em;margin:2em auto;border-radius: 0;}
	
}

@media only screen and (max-width : 575px) {
	
	body {font-size: 93.8%;}

	fieldset {border: none; margin-bottom: 2.2em; padding-top: 1em;}
	fieldset fieldset{margin-bottom: 1em;}
	legend {padding: 0;}
	label {margin-top: 1em;}
	
	input[type="text"]:focus, input[type="password"]:focus, select:focus, textarea:focus{box-shadow: none;}
	
	.fcol{ float:none; width: auto }
	.fcol-linner{ padding-right:0; }
	.fcol-rinner{ padding-left:0; }
	.fcol-rinner label{ margin-top: 1em;}
	
	img.floatleft, img.floatright{float: none; margin: 0 0 0.9em 0;}
	
	#lbModalBody{padding: 0.6em;}
	
	.col2{float:none;width: auto;}
	.col2-left{padding-right:0; }
	.col2-right{padding-left:0; }	
	
	#content{padding:0.62em;}
	
	#nav{position: fixed; top:0; left:0; right:0; z-index: 9999999; box-shadow: 0 8px 6px -6px black;background: rgba(0, 0, 0, 0.7);}	
	
	#nav ul{display: none;padding:10px;}
	#nav li a {box-shadow: inherit; text-shadow: inherit; margin:0 1.2em 0.6em 0; font-size: 1.2em; background: transparent; color: white; padding: 0; border-radius:0;}
	#nav li a:hover, #nav li a.active { background: transparent; color: #afeeee;text-shadow: inherit;}	
	
	#pull {display: block;}

	.tabs{border: 1px solid #a9a9a9;height: auto;}
	.tabs label{display:block;float: none; width: auto; height: auto; line-height: normal;padding: 0.6em; margin: 0;background: white;border: none;border-top-left-radius: 0;border-top-right-radius: 0;}
	.tabs label.selected	{background: white;height: auto;line-height: normal;}

	#galleryItems li{float: none;width: 100%;padding-bottom: 0; margin:0 0 1.2em 0;}
	#galleryItems img{position: relative;}
	
}