/* --------------------------------
PRIMARY STYLES
-------------------------------- */
*, *::after, *::before { box-sizing: border-box; }
body { 
	font-family: sans-serif;
	font-weight: normal;
	line-height: 1;
	color: black;
}

h1, h2, h3, h4 {
	font-family: 'Lora', serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.2;
	color: #542471;
}
h1 { font-size: 36px; }
h2 { font-size: 28px; }
h3 { font-size: 20px; }
h4 { font-size: 18px; }

table { width: 100%; }
th, td { font-size: 16px; line-height: 1.5; }

ul, ol, p { 
	font-family: 'Lora', serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	color: #542471;
}

a { text-decoration: none; }
a:hover { }

a img { transition: all .5s ease; }
a:hover img { transform: scale(1.1); }

b, strong { font-weight: 700; }
i, em { font-style: italic; }

/* --------------------------------
EFFECTS
-------------------------------- */
.txt-shadow { text-shadow: 1px 1px 40px black; }
.bx-shadow,
.bx-shadow-hover:hover {
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
}
.opacity-hover:hover { opacity: .5; }

/* --------------------------------
BUTTONS
-------------------------------- */
.btns { cursor: pointer; }
.btn-more { font-weight: 700; color: #f6aa42; padding-left: 50%; }
.btn-more:hover { color: #542471; }

.btn-search { }
.btn-search:hover { }

.btn-video { position: relative; display: block; }
.btn-video::after {
	font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-size: 90px;
  font-weight: 400;
  content: "\f144";
  position: absolute;
  top: 50%; left: 0;
  line-height: 0;
  width: 100%;
  transition: all .5s ease;
  color: rgba(255,255,255,.8);
}
.btn-video:hover::after { color: orange; }

#backtotop {
	display: none;
	z-index: 999;
	position: fixed;
	top: calc(50% - 1.5em); right: 1em;
	width: 3em;
	height: 3em;
	line-height: 3em;
	color: #542471;
	text-align: center;
	background: #f6aa42;
	border-radius: 100%;
	transition: all .5s ease;
}
#backtotop:hover { background: #542471; color: white; }

#scrolldown {
	position: relative;
	width: 3em;
	height: 3em;
	line-height: 3em;
	color: #542471;
	text-align: center;
	background: #f6aa42;
	border-radius: 100%;
	transition: all .5s ease;
}
#scrolldown:hover { background: #542471; color: white; }

/* -------------------------------- 
VIDEO
-------------------------------- */
.embed-container,
.map-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.map-container { padding-bottom: 100%; margin: 2em 0; }
.embed-container iframe,
.embed-container object,
.embed-container embed,
.map-container iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
}

/* --------------------------------
FORMS
-------------------------------- */
form { position: relative; width: 100%; margin-bottom: 2em; }
textarea,
select,
.input-text,
.input-submit {
	display: inline-block;
	font-family: 'Lora', serif;
	font-weight: 400;
	color: #542471;
	font-size: 18px;
	line-height: 1;
	width: 100%;
	padding: .5em 1em;
	margin-bottom: .5em;
	outline: none;
	border: 2px solid #542471;
	border-radius: 2em;
}
textarea { height: 120px; border-radius: 1em; border-bottom-right-radius: 0; }

.input-submit {
	color: white;
	background: #f6aa42;
	border-color: #f6aa42;
	width: auto;
	padding: 1em 2em;
	float: right;
	transition: all .5s ease;
}
.input-submit:hover { border-color: white; background: #542471; }

.wpcf7-response-output { padding: 1em !important; line-height: 1; display: inline-block; }
.wpcf7-not-valid-tip { display: block; line-height: 1; padding: 0 1em 1em; }

header .form-search {
	display: none;
	position: absolute;
	top: 0; right: 0;
	background: white;
	width: 85%;
	height: 3em;
	margin: 0;
}
header .form-search .input-text,
header .form-search .input-submit {
	position: absolute;
	top: 0; right: 0;
	height: 100%;
	font-size: 16px;
	padding: 0 1.5em;
	margin: .5em 0;
}
header .form-search .input-submit { 
  margin: calc(0.5em + 2px) 2px;
  height: calc(100% - 4px);
  border-color: white;
}

/* --------------------------------
HEADER
-------------------------------- */
header {
	z-index: 999;
	position: sticky;
	top: 0; left: 0;
	width: 100%;
	background: white;
	/*overflow: hidden;*/
}
header.active {
	-webkit-box-shadow: 0px 0px 100px 0px rgba(84,36,113,.2);
	-moz-box-shadow: 0px 0px 100px 0px rgba(84,36,113,.2);
	box-shadow: 0px 0px 100px 0px rgba(84,36,113,.2);
}

header .logo-overflow { overflow: hidden; }
header .logo { position: relative; top: -3em; margin-bottom: -4em; }
header .top,
header .bottom { position: relative; text-align: right; }
header .top { padding-bottom: 2em; }
header .bottom { height: 100%; }

header .top p { font-size: 16px; color: #542471; }
header .top p a { 
	display: inline-block;
	padding: .5em .5em 0 0;
	font-weight: bold;
	color: #542471;
	opacity: .5;
	transition: all .5s ease;
}
header .top p a:hover { opacity: 1; }
header .top .btn-call { border-right: 1px solid rgb(84 36 113 / 50%); margin-right: .5em; }
header .top .btn-search { border: 1px solid rgb(84 36 113 / 50%); padding: .2em .4em; margin-right: 0; }
header .top .btn-search:hover { background: #542471; color: white; }

/* --------------------------------
NAV
-------------------------------- */
nav { 
	display: none;
	text-align: left;
	position: fixed;
	top: 0; left: 0;
	width: 100%;
	height: 100vh;
	padding: 1.5em;
	background: white;
}
nav ul { width: 100%; }
nav ul li { display: block; }
nav ul li a {
	position: relative;
	font-size: 18px;
	font-weight: 700;
	color: #542471;
	display: inline-block;
	transition: all .5s ease;
	border-bottom: 4px solid white;
	padding: .5em 0;
	margin-left: .75em;
}
nav ul li a:hover,
nav ul li.current-menu-item > a { border-bottom-color: #f6aa42; }

nav ul .menu-item-has-children { position: relative; }
nav ul .menu-item-has-children a { padding-right: .75em; }
nav ul .menu-item-has-children > a::after {
	font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  content: "\f107";
  position: absolute;
  top: 50%; right: 0;
  line-height: 0;
  color: #542471;
  font-size: 50%;
}
nav ul .menu-item-has-children a:hover + .sub-menu,
nav ul .menu-item-has-children .sub-menu:hover { display: block !important; }

nav ul .sub-menu { display: none !important; }
nav ul .sub-menu li { width: 100%; text-align: left; padding: 0 1.5em; }
nav ul .sub-menu li a { font-size: 16px; font-weight: 400; }

.nav-toggle {
	-webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: pointer;
  position: relative;
  z-index: 3;
  display: inline-block;
  height: 100%;
  width: 2em;
}
.nav-toggle:hover .nav-toggle-bar,
.nav-toggle:hover .nav-toggle-bar::after,
.nav-toggle:hover .nav-toggle-bar::before { background: #f6aa42; }

.nav-toggle .nav-toggle-bar,
.nav-toggle .nav-toggle-bar::after,
.nav-toggle .nav-toggle-bar::before {
	position: absolute;
	top: 50%; left: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	background: #542471;
	content: '';
	height: .2rem;
	width: 100%;
}
.nav-toggle .nav-toggle-bar { margin-top: 0; }
.nav-toggle .nav-toggle-bar::after { margin-top: 0.4rem; }
.nav-toggle .nav-toggle-bar::before { margin-top: -0.4rem; }

.nav-toggle.expanded .nav-toggle-bar { background: transparent; }
.nav-toggle.expanded .nav-toggle-bar::after,
.nav-toggle.expanded .nav-toggle-bar::before { background: #542471; margin-top: 0; }
.nav-toggle.expanded .nav-toggle-bar::after {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.nav-toggle.expanded .nav-toggle-bar::before {
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* -------------------------------- 
SLIDER
-------------------------------- */
.slider { margin: 0 !important; }
.slider p {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
.slider img { z-index: 1; width: 100%; }

.slick-dots { bottom: 0; }
.slick-dots li button { background: #542471; }
.slick-dots li.slick-active button { background: #f6aa42; }
.slick-dots li button::before,
.slick-dots li.slick-active button::before { opacity: 0 !important; }

/* --------------------------------
ARTICLE & SECTIONS
-------------------------------- */
article { overflow: hidden; }
section { 
	position: relative;
	width: 100%;
	line-height: 0;
	padding: 3em 0;
}
section p,
section ul { margin-bottom: 2em; }
section ul { list-style: disc; margin-left: 1em; }
section a {
	color: #f6aa42;
	font-weight: 700;
	transition: all .5s ease;
}
section a:hover { color: #542471; text-decoration: underline; }

.container { margin: 0 auto; position: relative; }
.inner { padding: 0 1.5em; }

.desktop-hide {}
.desktop-show { display: none; }

.table-align { display: table; width: 100%; height: 100%; }
.table-cell-align { display: table-cell; vertical-align: middle; }
.table-cell-align.bottom { vertical-align: bottom; }

.last { margin-bottom: 0 !important; }
.align-h { height: 100%; }
.center { text-align: center; }

.ornament { position: absolute; width: 300px; height: 300px; }
.ornament img { border-radius: 100%; opacity: .8; }
.ornament::before,
.ornament::after {
	position: absolute;
	content: "";
	border-radius: 100%;
	opacity: .3;
}
.ornament::after {
	z-index: -1;
	top: 20%; right: -10%;
	width: 100%;
	height: 100%;
	background: #f6aa42;
}
.ornament::before {
	top: 10%; left: 80%;
	width: 40%;
	height: 40%;
	border: 12px solid #542471;
}
.ornament + div { position: relative; z-index: 1; }

.sphere { position: relative; overflow: hidden; border-radius: 100%; }
.sphere::before {
	z-index: 1;
	position: absolute;
	content: "";
	border-radius: 100%;
	top: 0; right: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: .4;
	background: rgb(246,170,66);
	background: linear-gradient(90deg, rgba(246,170,66,1) 0%, rgba(246,170,66,0) 100%);
}

.hero {
	width: 160%;
	left: -30%;
	padding: 0;
	overflow: hidden;
	background: #542471;
	border-bottom-left-radius: 50% 40%;
  border-bottom-right-radius: 50% 40%;
}
.hero img { width: 100%; }

.hero .hero-overlay {
	z-index: 9;
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
}
.hero .hero-overlay h1 { text-align: center; }
.hero .hero-overlay h1,
.hero .hero-overlay h4 { font-weight: 700; color: white; }
.hero .hero-overlay h4 { margin-bottom: .5em; }
.hero .scrolldown-container {
	text-align: center;
	width: 120px;
	margin: 1em auto;
	position: relative;
	/*animation-name: grow;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-direction: alternate;
  animation-iteration-count: infinite;
  animation-play-state: running;*/
}
@keyframes grow {
  0% {
    top: 0;
  }
  50% {
    top: .5em;
  }
  100% {
    top: 0;
  }
}

.hero .hero-circle { 
	position: relative;
	overflow: hidden;
	border-radius: 100%;
	margin: -22% 0;
}
.hero .hero-circle:after { content: ""; display: block; padding-bottom: 100%; }
.hero .hero-circle .hero-circle-inner { position: absolute; width: 100%; height: 100%; }

.intro { text-align: center; z-index: 99; }
.intro.no-hero { margin-top: 12em; }
.intro h2 { margin-bottom: 1em; }
.intro h4 { line-height: 1.5; margin-bottom: 2em; }
.intro .ornament { top: calc(-5em - 50%); right: 0; }
.intro.single .ornament { top: 0; }
.intro.single h1 { margin: 1em 0 .5em; }

.sticky {
	z-index: 1;
	position: sticky;
	top: 0; left: 0;
	background: rgb(252 248 255);
  padding: 2em 0 0;
}
.sticky ul { 
	list-style: none;
	margin-left: 0;
	text-align: left;
	border-top: 1px solid #542471;
}
.sticky ul li { border-bottom: 1px solid #542471; }
.sticky ul li a { display: block; color: #542471; padding: .5em; }
.sticky ul li a:hover,
.sticky ul li.current-menu-item a { color: #f6aa42; }

.trio { text-align: center; }
.trio h3 { margin-bottom: .5em; }
.trio .ornament { top: -10%; left: 25%; }
.trio .ornament::after { background: #542471; opacity: .1; }
.trio .ornament::before { top: -5%; left: -10%; border: 12px solid #f6aa42; }

.locations { text-align: center; }
.locations h3 { margin-bottom: .5em; }
.locations h3 { font-weight: 700; color: #542471; }
.locations h3.active,
.locations h3:hover { color: #f6aa42; }
.locations hr {
	position: relative;
	margin: 2em 0;
	border: 1px solid #542471;
	border-bottom: none;
	width: calc(100% + 6em);
	left: -3em;
	overflow: visible;
}
.locations hr::before,
.locations hr::after {
	position: absolute;
	content: "";
	border-radius: 100%;	
}
.locations hr::after {
	top: -100px; left: calc( -100px - 1em);
	width: 200px;
	height: 200px;
	background: #f6aa42;
	opacity: .3;
}
.locations hr::before {
	top: -6px; right: -6px;
	width: 12px;
	height: 12px;
	background: #542471;
}

.news,
.volunteer,
.forms,
.results {
	text-align: center;
	background: rgb(252 248 255);
	background-blend-mode: normal;
	border-top-left-radius: 50% 1%;
  border-top-right-radius: 50% 1%;
}
.news .ornament::before { 
	top: -10%; left: 120%;
  width: 120%;
  height: 120%;
	border: 12px solid #f6aa42;
}
.news .ornament::after { display: none; }
.news h2 { position: relative; margin-bottom: 1em; }
.news h2::before {
	position: absolute;
	content: "";
	border-radius: 100%;
	opacity: .3;
	top: -120px; left: 30%;
	width: 280px;
	height: 280px;
	border: 12px solid #f6aa42;
}
.news h3 { margin-bottom: .5em; }

.volunteer { padding-bottom: 0; }
.volunteer h3 { margin-bottom: .5em; }

.forms h4 { margin-bottom: 1em; }

.maps {
	padding: 0;
	text-align: center;
  background: #542471;
  margin: 0 0 3em;
}
.maps h3 { color: white; margin: 1em 0; }

.testemonial {}
.testemonial h2 { text-align: center; margin-bottom: .5em; }
.testemonial h3 { font-weight: 700; font-style: italic; margin-bottom: 1em;}
.testemonial h3::before { position: relative; content: "“"; padding-right: .25em; }
.testemonial h3::after { position: relative; content: "”"; padding-left: .25em; }
.testemonial p { text-align: center; }

.results { text-align: left }
.results hr { 
	border: none;
	border-bottom: 1px solid rgb(84 36 113 / 50%);
	padding: 0;
	margin: 0 0 2em;
}

.wp-block-separator { border-top: 1px solid #542471 !important; margin: 2em 0; }

.wp-block-file { line-height: 3; text-align: left; }
.wp-block-file a {
	font-family: 'Lora', serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 2;
	color: #542471;
	display: inline-block;
}
.wp-block-file .wp-block-file__button {
	background: #f6aa42;
	color: white;
	padding: 0 1em;
	float: right;
}

/* --------------------------------
FOOTER
-------------------------------- */
footer { 
	width: 100%;
	padding: 3em 0 3em;
	background: #f6aa42;
}

footer a { color: #542471; }
footer a:hover { text-decoration: underline; }
footer h3 { margin-bottom: .5em; }
footer h4 { margin-bottom: .5em; }
footer h4.first { color: white; margin-bottom: 1.5em; }
footer h4.first a { color: white; text-decoration: underline; }
footer h4.first a:hover { text-decoration: none; }
footer p { margin-bottom: 1.5em; }

footer .org a { display: inline-block; line-height: 0; margin-right: .5em; }
footer .org a img { border-radius: .3em; }

/* --------------------------------
MEDIA QUERIES
-------------------------------- */
@media screen and (min-width: 35.5em) {
	.container { width: 568px; }

	.news,
	.volunteer,
	.forms {
		width: 160%;
		left: -30%;
		border-top-left-radius: 50% 10%;
		border-top-right-radius: 50% 10%;
		border-bottom-left-radius: 50% 10%;
		border-bottom-right-radius: 50% 10%;
	}
}
@media screen and (min-width: 48em) {
	.container { width: 768px; }
}
@media screen and (min-width: 64em) {
	.container { width: 1024px; }

	.desktop-hide { display: none; }
	.desktop-show { display: block; }

	h1 { font-size: 50px; }
	h2 { font-size: 40px; }
	h3 { font-size: 32px; }
	h4 { font-size: 24px; }

	header .bottom { height: 50%; }

	nav {
		display: block !important;
		text-align: right;
		background: transparent;
		position: relative;
		height: auto;
		padding: 0;
	}
	nav ul { padding: 0; }
	nav ul li { display: inline-block; }

	nav ul .sub-menu {
		z-index: 99;
    position: absolute;
    top: 100%;
    left: -1.5em;
    padding: 1em 0 2em;
    background: white;
    width: 240px;
	}
	nav ul .sub-menu li a { padding: .5em 0; }

	.ornament::after { top: 10%; width: 160%; height: 160%; }
	.ornament::before { top: 5%; left: 50%; width: 80%; height: 80%; }

	.hero .hero-overlay h1 { font-size: 90px; text-align: left; }

	.maps .left { padding: 2em 1em 0 0; }
	.maps .right { padding: 2em 0 0 1em; }

	footer { padding: 8em 0 4em; margin: -3em 0 0; }

	.hero .scrolldown-container { margin: 1em 0; }
}
@media screen and (min-width: 80em) {
	.container { width: 1200px; }

	.hero .container { width: 1400px; }

	header { position: fixed; }

	nav ul li a { margin-left: 1em; }

	.maps { margin: 8em 0 5em; }
}

/* IE11
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop,
	[data-aos^=fade][data-aos^=fade],
	[data-aos^=zoom][data-aos^=zoom] { opacity: 1; }
}*/