:root
{
    /*
    --teagreen: #c9dbba;
    --darkgreen: #405C29;
    --purple: #825386;
    */

    --darkgreen: #202711;
    --lightgreen: #778055;
    --darkpink: #dfb2a9;
    --lightpink: #f8d8d9;

    --white: #ffffff;
    --black: #000000;
}

@font-face { font-family: PalatinoLinotypeRegular; src: url(/library/fonts/PalatinoLinotype/Regular.otf) format("opentype"); }
@font-face { font-family: PalatinoLinotypeBold; src: url(/library/fonts/PalatinoLinotype/Bold.otf) format("opentype"); }
@font-face { font-family: BadRegular; src: url(/library/fonts/Bad/Regular.otf) format("opentype"); }

* { background-repeat: no-repeat; background-position: center center; box-sizing: border-box; }
body { margin: 0px; padding: 0px; width: 100%; height: auto; background-color: #ffffff; color: #000000; font-family: PalatinoLinotypeRegular; font-size: 120%; line-height: 1.2; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
a { color: var(--darkgreen); text-decoration: none; font-weight: normal; }
a:hover { color: #825386; }
ul, ol { padding: 0px; margin: 0px; }
li { list-style-type: none; vertical-align: top; }
h1, h2, h3, h4, h5, h6 { padding: 0px 0px 0px 0px; margin: 0px; font-size: 100%; font-weight: normal; color: #000000; }
fieldset { padding: 0px; margin: 0px; border: none; }
input, textarea, select { font-size: 90%; background: transparent; border: solid #000000 1px; padding: 20px; color: #000000; box-sizing: border-box; font-family: PalatinoLinotypeRegular; border-radius: 0px 20px 0px 20px; }
input[type=text], input[type=password]  { height: 30px; }
input[type=button], input[type=submit], button { cursor: pointer; background-color: var(--darkgreen); color: #ffffff; padding: 10px 20px 10px 20px; border: none; border-radius: 0px 20px 0px 20px; }
input[type=button]:hover, input[type=submit]:hover, button:hover { background-color: var(--darkpink); }
select { height: 30px; padding-right: 30px; background-image: none; background-repeat: no-repeat; background-position: right 10px center; }
p { padding: 0px 0px 20px 0px; margin: 0px; }
strong { font-weight: normal; font-family: PalatinoLinotypeBold; }
table { border-spacing: 0px; }
td, th { padding: 0px; text-align: left; vertical-align: top; }
th { font-weight: normal; font-family: PalatinoLinotypeBold; }
img { max-width: 100%; height: auto; }
.hidden { display: none; }
.spacer { clear: both; height: 0px; }


body { background-image: url(/images/gGxh3pTaDWzg13tWPq3b6bk35s.jpg); background-size: 1000px auto; background-position: center top; background-attachment: fixed; background-repeat: repeat; }

.layoutheader { background: var(--darkgreen); padding: 10px; height: 60px; }
.layoutheader a { color: var(--lightpink); }
.layoutfooter { background: var(--teagreen); }
.layoutcredits { font-size: 80%; text-align: center; background-color: var(--teagreen); padding: 10px; text-align: right; font-family: BadRegular; }

.layoutmiddle { max-width: 1200px; margin: 80px auto 80px auto; min-height: calc(100vh - 175px); padding: 0px 20px 0px 20px; }

.headerlogo { position: absolute; left: 20px; top: 10px; }

.headersocial { position: absolute; right: 20px; top: 20px; font-size: 150%; }
.headersocial ul { display: flex; gap: 10px; }

.layoutoverlay { position: fixed; z-index: 100; background: #000000bb; }


/* Desktop */

@media( max-width: 999px )
{
	.nav_multilevel .toggle { width: 50px; margin: 10px 0px 0px -25px; left: 50%; text-align: center; position: absolute; font-size: 120%; color: var(--lightpink); }
	.nav_multilevel .level1 { position: absolute; background-color: var(--lightpink); top: 60px; border-top: solid var(--darkgreen) 1px; width: 100%; left: 0px; }
	.nav_multilevel .level1 a { color: var(--darkgreen); }
	.nav_multilevel .level1 li { padding: 10px; border-bottom: solid var(--darkgreen) 1px; }
	.nav_multilevel.toggleoff .level1 { display: none; }
}

@media( min-width: 1000px )
{
	.nav_multilevel .toggle { display: none; }

	.nav_multilevel .level1 { display: flex; gap: 10px; justify-content: center; }
	.nav_multilevel .level1>li { padding: 10px; border-radius: 5px; }
	.nav_multilevel .level1>li:hover>a { text-decoration: underline; }

	.nav_multilevel .level2 { display: none; }
}


/* Titles */

.pagetitle, .feat_stdgallery .titletxt { font-size: 200%; font-family: BadRegular; color: var(--darkgreen); margin-bottom: 40px; text-align: center; }
.feat_social .titletxt { font-size: 200%; padding-bottom: 20px;font-family: BadRegular; }


/* Content */

.pagecontent { line-height: 2; }
.pagecontent a { text-decoration: underline; }
.pagecontent a:hover { color: var(--darkpink); }
.pagecontent img.left { margin: 0px 20px 20px 0px; border-radius: 80px 5px 80px 5px; border: solid var(--darkpink) 2px; }
.pagecontent img.right { margin: 0px 0px 20px 20px; border-radius: 5px 80px 5px 80px; border: solid var(--darkpink) 2px; }


/* Home */

.homewelcome p { text-align: center; }
.homewelcome blockquote { font-size: 300%; font-family: BadRegular; margin: 0px; line-height: 1.5; }
.homewelcome blockquote a { text-decoration: none; }
.homewelcome a { text-decoration: underline; }
.homewelcome a:hover { color: var(--darkpink); }
.homewelcome .imagebottom { text-align: center; }
.homewelcome .imagebottom img { border-radius: 5px 80px 5px 80px; border: solid var(--darkpink) 2px; }
.homewelcome .spacer { display: none; }

@media( min-width: 1000px )
{
    .homewelcome blockquote { font-size: 400%; }
    .homewelcome .util_textbox_inner { display: flex; justify-content: space-between; }
    .homewelcome .content { width: 700px; }
    .homewelcome .imagebottom { width: 400px; }
}

/* Instagram feed */

.feat_social { clear: both; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding-top: 50px; }
.feat_social .titletxt { width: 100%; text-align: center; }
.feat_social .feed { width: 280px; }
.feat_social .feed li { margin-bottom: 20px; }
.feat_social .feed li img { max-width: 100%; height: auto; }
.feat_social .feed li .shorttext { font-size: 70%; padding: 20px; background-color: var(--lightpink); }


/* About */

@media( max-width: 999px )
{
    .about .pagecontent img { max-width: 150px; height: auto; }
}

/* Galleries */

.feat_galllist ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.feat_galllist ul li { margin-bottom: 20px; width: 300px; }
.feat_galllist ul li:hover { opacity: 1; }
.feat_galllist ul li .bgimage { aspect-ratio: 1; background-size: cover; margin-bottom: 10px; }
.feat_galllist ul li .name { text-align: center; padding: 10px; background-color: var(--lightpink); }

.feat_stdgallery .lightboxlink { margin-bottom: 20px; font-size: 80%; text-align: center; }

.feat_stdgallery .items ul { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; }
.feat_stdgallery .items li .image { width: 250px; height: 250px; background-size: cover; background-position: center center; }
.feat_stdgallery .items li:hover { opacity: 1; }

.feat_stdgallery .lightbox { position: fixed; margin: auto; top: 5vh; left: 5vw; width: 90vw; height: 90vh; z-index: 200; background: var(--white); padding: 20px; }
.feat_stdgallery .lightbox .close { float: right; color: var(--darkgreen); }

@media( min-width: 999px )
{
	.feat_stdgallery .items li { opacity: 0.8; }
    .feat_galllist ul li { width: 32%; opacity: 0.8; }
}

.feat_carousel { background-color: var(--lightgrey); }
.feat_carousel .carousel { clear: both; overflow: hidden; position: relative; height: 100%; margin: 0px auto; }
.feat_carousel .carousel>ul { width: 20000em; position: relative; height: 100%; }
.feat_carousel .carousel>ul>li { float: left; list-style-type: none; background-color: white; box-sizing: border-box; display: flex; justify-content: center; align-items: center; height: 70vh; }
.feat_carousel .carousel>ul>li img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.feat_carousel .buttons { position: absolute; display: flex; justify-content: space-between; margin: -40vh 0px 0px -20px; ; padding: 20px 5px 0px 5px; width: 80vw; }


/* Survey */

.surv_standard { border-radius: 5px 80px 5px 80px; border: solid var(--darkpink) 2px; padding: 50px; max-width: 480px; margin: 0px auto 0px auto; }
.surv_standard .message { color: var(--darkpink); padding: 0px 0px 20px 0px; }


/* Form */

.formbuilder input[type=text], .formbuilder textarea { background: var(--white); border: none; width: 100%; }
.formbuilder .field { padding-bottom: 20px; }
.formbuilder .label { margin-bottom: 5px; }