:root {
/*    --text-darker: rgb(144, 101, 176);
    --text: #bf81d6;*/
	scroll-behavior: smooth;
	color-scheme: light dark;
}


/**
 * Resets
 */

* {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

::-moz-selection {
	background-color: #09f;
	color: #fff;
}

::selection {
	background-color: #09f;
	color: #fff;
}

:focus {
	outline: 0;
}

customhtml > * {
	position: relative;
    z-index: 10;
}

/**
 * Global
 */

body,
html {
	min-height: 100vh;
	margin: 0px;
	padding: 0px;
	scroll-padding-top: 90px;
}

html {
	position: relative;
}

body {
	color: #fff;
}

a:active {
	opacity: 0.7;
}

/**
 * Backdrop
 */

#backdrop {
	position: fixed;
	right: 0;
	top: 0;
	bottom: 0;
	max-width: 100%;
	z-index: 1;
}

/**
 * Container
 */

main {
	background: #fff;
	clear: both;
	overflow: clip;
	position: absolute;
	max-width: 100%;
	width: 100%;
	z-index: 2;

	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;

	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;

	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	align-items: center;
}

main > div {
	-moz-flex: 1 0 auto;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
	width: 100%;
}


.subpage_overlay {
	display: block;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

body.homepage .subpage_overlay {
	display: none;
}
/**
 * Content
 */

i, em {
	font-style: italic;
}

b, strong {
	font-weight: bold;
}

ul, ol {
	margin: 0;
	padding: 0 0 0 1em;
}

sup {
	top: -0.4em;
	vertical-align: baseline;
	position: relative;
}

sub {
	top: 0.3em;
	vertical-align: baseline;
	position: relative;
}

s {
	
}

.slideshow-nav { 
	margin-bottom: 0.5em; 
}

img {
	border: 0;
	padding: 0;
}

blockquote {
	margin: 0;
	padding: 0 0 0 2em;
}

/*
 * Projects
 */

.bodycopy {
	display: none;
}

.container {
	min-height: 100%;
}

.content img {
	float: none;
	margin-top: 1em;
	margin-bottom: 1em;
}

/*
 * Other
 */

 .clear:after {
	content: "";
	display: table;
	clear: both;
}

.loading[data-loading] {
	display: none;
	position: fixed;
	top: 8px; left: 8px;
	z-index: 100;
}

#backstage_icon {
	position: fixed;
}

/**
 * Editor styles
 */

[data-css-presets="true"] main {
	background-color: rgba(255, 255, 255, 0) /*!content_center*/;
	text-align: left /*!text_left*/;
	min-height: 100vh /*!content_stretch*/;
	-webkit-align-items: center /*!vertical_middle*/;
	align-items: center /*!vertical_middle*/;
	right: 0 /*!content_center*/;
	margin-left: auto /*!content_center*/;
	margin-right: auto /*!content_center*/;
	left: 0 /*!content_center*/;
}

[data-css-presets="true"] .content_padded {
	padding: 8rem/*!main_margin*/;
    padding-bottom: 5rem;
}

[data-css-presets="true"] .content_width {
	width: 100rem /*!content_center*/;
}

[data-css-presets="true"] #backdrop {
	width: 100% /*!background_cover*/;
}

[data-predefined-style="true"] main {
	font-size: 2.1rem;
	font-weight: 400;
	color: rgb(144, 101, 176);
	font-family: 'Nitti Grotesk', Social /*!Persona*/;
	font-style: normal;
	line-height: 1.3;
}

[data-predefined-style="true"] main a {
    border-bottom: 0.1rem solid  #bf81d6;
	color:  #bf81d6;
    padding-bottom: 0.07em;
    text-decoration: none;
    transition: color 0.15s ease-in-out;
}


main a.image-link,
main a.icon-link,
main a.image-link:hover,
main a.icon-link:hover { 
	border-bottom: 0;
	padding-bottom: 0;
}

[data-predefined-style="true"] h1 {
	font-family: 'Fraunces', Social /*!Persona*/;
	font-style: normal;
	font-weight: 700;
	font-feature-settings: "liga" 1;
	font-variation-settings: "opsz" 72, "wght" 700, "SOFT" 70, "WONK" 0;
	padding: 0;
	margin: 0;
	font-size: 3.0rem;
	line-height: 1.2;
	color: rgb(144, 101, 176);
	text-rendering: optimizeLegibility;
}

.logo {
	font-size: 5.8rem !important;
	line-height: 0.8 !important;
}

/* Links inside the navbar */
.navbar a {
  flex-grow: 1;
  font-family: 'Fraunces', Social /*!Persona*/;
  font-weight: 700;
  text-decoration: none;
  font-size: 1.6rem;
  float: center;
  display: block;
  text-align: center;
  padding: 14px;
  border-bottom: none !important;
}

/*[data-predefined-style="true"] h1 {
	font-family: 'Rakkas', Social;
	font-style: normal;
	font-weight: 400;
	padding: 0;
	margin: 0;
	font-size: 3.2rem;
	line-height: 1.0;
	color: rgb(144, 101, 176);
	text-rendering: optimizeLegibility;
}

.logo {
    margin-top: 0.4rem !important;
	font-size: 6.8rem !important;
	line-height: 0.7 !important;
}

.navbar a {
	font-family: 'Rakkas';
	font-weight: 400;
    font-size: 1.9rem;
    line-height: 0.9 !important;
}*/

[data-predefined-style="true"] h1:not(.logo) {
	padding-bottom: 0.2em;
}

[data-predefined-style="true"] h1 a {
	color: #bf81d6;
}

[data-predefined-style="true"] h2 {
	font-family: 'Nitti Grotesk', Social /*!Persona*/;
	font-style: normal;
	font-weight: 300;
	padding: 0;
	margin: 0;
	color: rgb(144, 101, 176);
	font-size: 1.9rem;
	line-height: 1.4;
	text-rendering: optimizeLegibility;
    letter-spacing: 0.08em;
}

[data-predefined-style="true"] h2 a {
    border-bottom: 0.07rem solid rgba(255, 255, 255, 0.5);
	color: #bf81d6;
    padding-bottom: 0.2rem;
}

[data-predefined-style="true"] small {
    display: inline-block;
	color: rgb(144, 101, 176);
	font-family: Nitti, Social /*!Persona*/;
	font-style: normal;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.2;
}

[data-predefined-style="true"] small a {
	color: rgba(144, 101, 176, 0.8);
	border-bottom-width: 0.07em;
}

/**
 * Breakpoints
 */

[data-css-presets="true"].mobile #backdrop,
[data-css-presets="true"].mobile #backdrop,
.mobile #backdrop,
.mobile #backdrop {
	position: relative;
	height: 50vh;
	min-width: 100%;
	max-width: 100%;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: auto;
}

.mobile main,
[data-css-presets="true"].mobile main {
	position: relative;
	min-height: 10px;
	max-width: 100%;
	width: 100%;
}

.mobile main.content_width,
[data-css-presets="true"].mobile main.content_width {
	max-width: 100%;
	width: 100%;
}

[data-css-presets="true"] .subpage_overlay {
	background-color: rgba(0, 0, 0, 0)/*!subpage_overlay*/;
}

body {
	background-image: linear-gradient(-45deg, #f6d5f7, #ffd5ee, #ffd7e6, #ffd9df, #ffddda, #ffe1d6, #ffe5d6, #fbe9d7) !important;
    background-size: 400% 400%; -webkit-animation: AnimateBG 15s ease infinite; -moz-animation: AnimateBG 15s ease infinite; -o-animation: AnimateBG 15s ease infinite; animation: AnimateBG 15s ease infinite;
	background-attachment: fixed;
    height: 100vh;
}

.video-light {
    display:block;
}

.video-dark {
    display:none;
}

.image-light {
    display:block;
}

.image-dark {
    display:none;
}

.video-light, .video-dark, .video, .rounded-image img {
  border-radius: 10px;
  overflow: hidden;
}

@media (prefers-color-scheme: dark) {
    .testimonials [grid-col="x10"] {
		background: rgba(255, 255, 255, 0.01) !important;
    }

    body {
		background-image: linear-gradient(0deg, rgb(52, 15, 54), rgb(59, 10, 39), rgb(59, 10, 28), rgb(59, 10, 18), rgb(59, 14, 10), rgb(59, 23, 10), rgb(59, 28, 10), rgb(56, 34, 12)) !important;
    }
    
    .white-background {
	    background-image: radial-gradient(rgba(32, 32, 32, 0.2) 13%, rgba(32, 32, 32, 0) 70%) !important;
	}
    
    .profile-photo img {
		opacity: 0.7;
	}
    
    .booking-cta a {
    	background: rgba(255, 241, 241, 0.02) !important;
    }
    
    [data-predefined-style="true"] main {
		/* color: rgb(179, 150, 201) !important; */
	}
    
    /*:root {
		--text: rgb(179, 150, 201) !important;
        --text-darker: rgb(105,135,206) !important;
	}*/
    
    .topgradient {
    	background: linear-gradient(180deg,  rgba(32, 32, 32, 0.4) 20%,  rgba(32,32,32, 0) 100%) !important;	
    }
    
    .booking-cta span.link {
    	background: rgba(32, 32, 32, 0.1) !important;
    }
    
    .video-light {
		display:none !important;
	}
    
    .video-dark {
		display:block !important;
	}
    
    .image-light {
		display:none !important;
	}
    
    .image-dark {
		display:block !important;
	}
}

@-webkit-keyframes AnimateBG {
    0%{background-position:50% 0%}
    50%{background-position:51% 100%}
    100%{background-position:50% 0%}
}
@-moz-keyframes AnimateBG {
    0%{background-position:50% 0%}
    50%{background-position:51% 100%}
    100%{background-position:50% 0%}
}
@-o-keyframes AnimateBG {
    0%{background-position:50% 0%}
    50%{background-position:51% 100%}
    100%{background-position:50% 0%}
}
@keyframes AnimateBG {
    0%{background-position:50% 0%}
    50%{background-position:51% 100%}
    100%{background-position:50% 0%}
}

.slightly-smaller {
	font-size: 1.9rem;
}

.even-smaller {
	font-size: 1.7rem;
}

.smaller-lineheight {
	line-height: 1.1;
}

.smaller-lineheight p {
	margin-bottom: 0.6rem !important;
}

.slightly-lighter {
	opacity:  0.8;
}

.tagline {
	margin-top: 0.3em !important;
/*	margin-bottom: 1.1em !important;
    margin-top: 0.5em !important;*/
	margin-bottom: 0.1em !important;
    opacity: 0.85;
    text-align: center;
}

.tagline a {
    color: #9065b0 !important;
}

.tagline a:hover {
    color: #bf81d6 !important;
}


.content .hero-image img {
	margin-bottom: -.1em;
    max-width: 13em !important;
    height: auto !important;
}

.hero-image h2 {
    margin-right: 0.4em;
}

.white-background {
    aspect-ratio: 1 / 1;
	background: radial-gradient(rgba(255, 255, 255, 0.5) 13%, rgba(255, 255, 255, 0) 70%);
	z-index: -500;
    position: absolute;
    width: 60vw;
	left: 0; 
	right: 0; 
	margin-left: auto; 
	margin-right: auto; 
}

.navbar {
	margin-top: 0.7em;
	overflow: hidden;
	position: fixed; /* Set the navbar to fixed position */
    top: 0; /* Position the navbar at the top of the page */
    /*max-width: 77vw;*/
	left: 0; 
	right: 0; 
	margin-left: auto; 
	margin-right: auto; 
	justify-content: space-between;
	align-items: center;
    padding-top: 0 !important;
}

.navbar a.active {
	text-decoration: underline;
}

.topgradient {
/*    background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255,255,255,0) 100%);	*/
    background: linear-gradient(180deg,  rgba(251, 233, 215, 0.3) 20%,  rgba(251, 233, 215, 0) 100%);	
    position: fixed;
    top: 0;
	width: 100vw;
    height: 13vh;
    left: 0;
    z-index: -500;
}

.navbar-inside {
	display: flex;
	justify-content: space-between;
	justify-content: center;
	align-items: center;
}

.navbar a:first-child {
  padding-left: 0;
  text-align: left;
}

.navbar a:last-child {
  padding-right: 0;
  text-align: right;
}

p {
	margin-top: 0;
    margin-bottom: 0.6em;
}

.smaller-column img {
	margin-bottom: -0.3em;	
}

/*:target {
  display: block;
  position: relative;
  top: -120px; 
  visibility: hidden;
}

:target:before {
    content: "";
    display: block;
    height: 120px;
    margin: -120px 0 0;
}*/

.anchor {
	scroll-margin-top: 20px;
}

/*#top {
	scroll-margin-top: 500px !important;
}*/

.slightly-bigger {
        font-size: 2.5rem;
        line-height: 1.0;
        font-weight: 400;
        margin-bottom: 0.4em !important;
}

.wishlist {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.wishlist p {
	margin-bottom: 0.3em;
}

.eye-container {
	display: flex;
	align-items: center;
	justify-content: space-around;
}


.eyes {
	font-size: 49px;
}

.aligncenter {
	text-align: center;
}

/*non-mobile*/
@media screen and (min-width: 771px) { 
    .onlyonmobile {
		display: none;
	}
    
    .price {
    }
    
    .slightly-bigger {
        font-size: 2.5rem;
        margin-bottom: 0.4em !important;
    }
    
    .slightly-bigger small {
        font-size: 2.2rem;
    }
    
	.alignrightondesktop {
		text-align: right;
	}
    
	.testimonials {
	  background-clip: padding-box !important;	
	  display: flex !important;
	  align-items: center !important;
/*	  margin-left: -1em;
	  width: 105%;*/
	}
        
	.custom-columns [grid-col="x11"] {
		width: 70%;
	}

	.smaller-column {
	    width: 30% !important;
	}
    
/*	.testimonials [grid-col="x10"]:nth-child(2){
	    border-left: 0.15rem solid  rgba(191, 129, 214, 1);
	    border-right: 0.15rem solid  rgba(191, 129, 214, 1);
	}
    
    .testimonials [grid-col="x10"]{
	    border-top: 0.15rem solid  rgba(191, 129, 214, 1);
	    border-bottom: 0.15rem solid  rgba(191, 129, 214, 1);
    }*/
    
	.testimonials [grid-col="x10"]:nth-child(2){
	    border-right: 0.15rem solid  rgba(191, 129, 214, 1);
	    border-left: 0.15rem solid  rgba(191, 129, 214, 1);
	}
    
    .donations [grid-col="x10"]:nth-child(2){
	    border-right: 0.15rem solid  rgba(191, 129, 214, 1);
	    border-left: 0.15rem solid  rgba(191, 129, 214, 1);
    }
    
    .aligncenterondesktop {
		text-align: center;
	}

}

.testimonial-box {
	border: 0.15rem solid  rgba(191, 129, 214, 1);
	background: rgba(255, 255, 255, 0.10);
	border-radius: 10px !important;
	background-clip: border-box !important;
    padding: 0 !important;
    margin-top: 10px
}

/*mobile*/
@media screen and (max-width: 770px) {
	.noto-emoji {
		font-size: 35px !important;
		padding-bottom: 0px !important;
		line-height: 44px !important;
		padding-top: 4px;
	}
    
    .tagline {
		font-size: 2.7rem !important;
        
    }
    
    .eye-container {
        flex-direction: column;
    }
    
	.smaller-on-mobile img {
		width: 50% !important;
        height: auto !important;
	}
    
    .slightly-bigger {
        font-size: 2.2rem;
        line-height: 1.0;
        font-weight: 400;
    }
    
    .smaller-on-mobile {
        font-size: 2.0rem !important;
    }

    
    .notonmobile {
		display: none;
	}
        
	[data-css-presets="true"] .content_padded {
	    padding: 6rem;
    }
    
	.navbar a {
		font-weight: 700;
		font-size: 1.2rem;
        margin-top: -0.4em;
	}
    
	.navbar {
	  	justify-content: space-between;
		width: 100% !important;
	    padding: 2rem !important;
        padding-top: 0 !important;
	}
    
	.navbar a:last-child {
	 	padding-right: 0.5em;
    }
    
	.navbar a {
		font-family: 'Nitti Grotesk', sans-serif /*!Persona*/;
        font-size: 0.75em;
    }

	.navbar-inside {
		display: flex;
	}
    
	.testimonials [grid-col="x10"]:nth-child(2){
	    border-top: 0.15rem solid  rgba(191, 129, 214, 1);
	    border-bottom: 0.15rem solid  rgba(191, 129, 214, 1);
	}
        
    .donations {
		background: rgba(255, 255, 255, 0.02);
	    background-clip: content-box !important;
	}
    
    .donations [grid-col="x10"]:nth-child(2){
	    border-top: 0.15rem solid  rgba(191, 129, 214, 1);
	    border-bottom: 0.15rem solid  rgba(191, 129, 214, 1);
    }
    
    .donations [grid-col="x10"]:first-child{
	    border-top: 0.15rem solid  rgba(191, 129, 214, 1);
    }

	.donations [grid-col="x10"]:last-child{
	    border-bottom: 0.15rem solid  rgba(191, 129, 214, 1);
    }
    
	.alignleftonmobile {
		text-align: left;
	}
    
	[data-css-presets="true"] main {
        font-size: 1.9rem !important;
    }
    
    .slightly-smaller {
		font-size: 1.8rem;
	}
    
    .content .hero-image img {
	    max-width: 80% !important;
    	height: auto !important;
	}
    
    .logo {
		font-size: 15vw !important;
	}
    
    .testimonials {
  		padding-left: 4rem !important;
        padding-right: 0rem !important;
	    width: 100% !important;
	}
    
    .testimonial-box {
        align-content: center;
        width: 111% !important;
  		padding: initial !important;
	}
}

.testimonials [grid-col="x10"] {
}

/*.testimonials [grid-col="x10"]:first-child {
    border-left: 0.15rem solid  rgba(191, 129, 214, 1);
}

.testimonials [grid-col="x10"]:last-child {
    border-right: 0.15rem solid  rgba(191, 129, 214, 1);
}*/

.credit {
	font-size: 0.5em !important;
    opacity: 0.7;
	color: rgba(191, 129, 214, 0.65);
    font-weight: 600 !important;
}

.credit-margin > img {
    margin-bottom: -1.2rem;
}

.credit-margin > video {
    margin-bottom: -0.6rem;
}


.booking-cta span.link {
    background: rgba(255, 241, 241, 0.6);
	border: 0.15rem solid  rgb(144, 101, 176);
    padding: 1.2rem;
    padding-bottom: 1.2rem !important;
    line-height: 2.7;
    font-weight: 800;
    border-radius: 5px;
    color: rgb(144, 101, 176) !important;
    box-shadow:
        0px 1px 1px -6px rgba(144, 101, 176, 0.0),
        6px 6px 6px  -6px rgba(144, 101, 176, 0.0),
        12px 12px 12px -6px rgba(144, 101, 176, 0.0);
	font-size: 2.3rem;
    transition: background 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out;
    transition: padding 0.2s ease-in-out;
    transition: font-size 0.2s ease-in-out;
}

.booking-cta span.eye:before {
	content: "";
}

.aboutlink {
    position: relative; 
    text-align: center;
}

.booking-cta {
    font-size: 3rem;
    border-bottom: none !important;
	text-decoration: none !important;
}

.cta-emphasis span {
	color: #bf81d6 !important;
    margin-left: -1rem  !important;
    border-bottom: 0.2rem solid  rgba(191, 129, 214, 0.7);
    transition: color 0.15s ease-in-out;
    transition: border 0.15s ease-in-out;
}

.lighter-weight small {
	color: rgba(144, 101, 176, 0.9) !important;
}

@media (hover: hover) {
    .image-link img {
        animation: opacity;
	    transition: opacity 0.15s ease-in-out;
    }
    
    .image-link:hover img {
		opacity: 0.8;
	}
    
	.booking-cta:hover span.link {
	    cursor: pointer;
	    color: #9065b0 !important;
	    border-color: #9065b0;
		background: rgba(255, 241, 241, 1);
		box-shadow:
          2px 2px 5.3px -6px rgba(144, 101, 176, 0.021),
          6.7px 6.7px 17.9px  -6px rgba(144, 101, 176, 0.079),
          30px 30px 80px -6px rgba(144, 101, 176, 0.1);
		padding: 1.5rem !important;
        font-size: 0.8em;
	}
    
	.booking-cta:hover span.eye:before {
	    content: "";
	}

	.booking-cta span.eye:before {
		content: "";
	}

    small a:hover, .cta-emphasis span:hover {
	    cursor: pointer;
	    color: #9065b0 !important;
	    border-color: #9065b0;
    }

	[data-predefined-style="true"] main a:hover {
		color: #9065b0;
	}
    
	/* Change background on mouse-over */
	.navbar a:hover, .navbar a:active {
	  /*background: #ddd;*/
	  /*color: #9065b0;*/
  		color: #9065b0;
	}
}

.darker {
	color: rgba(144, 101, 176, 0.9) !important;
}

.lighter {
	color: radial-gradient(rgba(144, 101, 176, 0.8) 13%, rgba(144, 101, 176) 70%) !important;
}

.wavy {
	position: relative;
	height: 40px;
    width: 100% !important;
    overflow: hidden;
}

.wavy:before {
    content: '.......................................................................................................................................................................................................';
    position: absolute;
    font-size: 25px;
    text-decoration-line: underline;
    text-decoration-color: rgba(144, 101, 176, 0.8);
    text-decoration-style: wavy;
    top: -21px;
    left: 0;
    color: transparent;
    animation: wavy 4s linear infinite;
}

@keyframes wavy {
	0% {
		transform: translateX(-1px);
	}
    100% {
		transform: translateX(-63px);
	}

}

hr {
	background: #bf81d6;
	border: 0;
	height: 0.027em;
	display: block;
}

a[target="_blank"]:after{
	font-size: 1.4rem;
    margin-left: -0.11em;
    content: "︎︎︎";
	top: -0.3em;
	position: relative;
	vertical-align: baseline;
    text-decoration: none !important;
}

.no-arrow:after {
	content: initial !important;
}

.footer {
    bottom: 0.2em !important;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    text-align: center;
}

.fullwidth video {
    height: auto !important;
}

video {
  align-content: center;
  max-width: 100%    !important;
  height: auto   !important;
  object-fit: scale-down;
  max-height: 90vh;
}

.space-after {
	padding-bottom: 0.3em !important;
}

.noto-emoji {
  font-family: 'Noto Emoji', sans-serif;
  float: left;
  font-size: 36px;
  line-height: 48px;
  padding-top: 3px;
  padding-right: 9px;
  padding-left: 2px;
}

.price {
  /*float: left;
  padding-right: 16px !important;
  padding-left: 2px !important;*/
  letter-spacing: 0.05rem !important;
  line-height: 32px !important;
}


.a-bit-down {
  vertical-align: middle;
}

.big-icon {
  font-size: 105px;
  line-height: 78px;
}

.notoppadding{
	padding-top: 0 !important;
}