/*
 Theme Name:   Ray of Sunshine Childcare
 Theme URI:    https://rayofsunshinecare.ca
 Description:  ROS Wordpress CMS Theme
 Author:       Ian Houghton - Ankhou Studio
 Author URI:   https://ankhou.com
 Template:     wordpress-bootstrap-master
 Version:      1.0.1
*/
/* ! normalize.css v1.0.0 | MIT License | git.io/normalize */

/* WEBFONTS */

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;600&family=Nunito:wght@300;400;500');

/* VARIABLES */

:root {
  --oj-color: #f7941d;
	--aqua-color: #7dccc8;
	--lavender-color: #8d95b9;
	--terracotta-color: #bd584a;
	--sand-color: #eed6b8;
	--kraft-color: #dbbd96;
	--clay-color: #834e33;
	--sky-color: #03cef4;
	--peach-color: #fff2e2;
}
.color-oj {
	color: var(--oj-color);
}
.color-aqua {
	color: var(--aqua-color);
}
.color-lavender {
	color: var(--lavender-color);
}
.color-terracotta {
	color: var(--terracotta-color);
}
.color-sand {
	color: var(--sand-color);
}
.color-kraft {
	color: var(--kraft-color);
}
.color-clay {
	color: var(--clay-color);
}
.color-sky {
	color: var(--sky-color);
}
#main span.material-symbols-outlined {
    transform: translate(0, 5px);
}
.btn-small .material-symbols-outlined {
    font-size: inherit;
    vertical-align: -2px;
}
.material-symbols-outlined {
    vertical-align: -4px;
}
.mrgn-bttm-sm { margin-bottom: 5px; }
.mrgn-bttm-md { margin-bottom: 10px; }
.mrgn-bttm-lg { margin-bottom: 20px; }
.mrgn-bttm-xl { margin-bottom: 30px; }
.mrgn-tp-sm { margin-top: 5px; }
.mrgn-tp-md { margin-top: 10px; }
.mrgn-tp-lg { margin-top: 20px; }
.mrgn-tp-xl { margin-top: 30px; }
.mrgn-lft-sm { margin-left: 5px; }
.mrgn-lft-md { margin-left: 10px; }
.mrgn-lft-lg { margin-left: 20px; }
.mrgn-lft-xl { margin-left: 30px; }
.mrgn-rght-sm { margin-right: 5px; }
.mrgn-rght-md { margin-right: 10px; }
.mrgn-rght-lg { margin-right: 20px; }
.mrgn-rght-xl { margin-right: 30px; }

/* ==========================================================================
HTML5 display definitions
========================================================================== */
/* * Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3. */
 
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary { display: block; }
/* * Corrects `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
/* * Prevents modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices. */
audio:not([controls]) { display: none; height: 0; }
/* * Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3, * and Safari 4.
* Known issue:no IE 6 support. */
[hidden] { display: none; }
/* ==========================================================================
Base
========================================================================== */
/* * 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
*    `em` units.
* 2. Prevents iOS text size adjust after orientation change, without disabling
*    user zoom. */
 
html { font-size: 100%; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
overflow-x:hidden; }
html, html a { -webkit-font-smoothing: antialiased; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004); }
/* * Addresses `font-family` inconsistency between `textarea` and other form
* elements. */
html, button, input, select, textarea { font-family: 'Nunito', sans-serif; }
/* * Addresses margins handled incorrectly in IE 6/7. */
body { font-size:16px; margin: 0; font-family: 'Nunito', sans-serif; padding-top: 0; overflow-x:hidden; }
/* ==========================================================================
Links
========================================================================== */
/* * Addresses `outline` inconsistency between Chrome and other browsers. */
a { color: #8c278c; }
a:focus { outline: thin dotted; }
/* * Improves readability when focused and also mouse hovered in all browsers. */
a:active, a:hover { outline: 0; }
/* ==========================================================================
Typography
========================================================================== */

/* * Addresses font sizes and margins set differently in IE 6/7.
* Addresses font sizes within `section` and `article` in Firefox 4+, Safari 5, * and Chrome. */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Josefin Sans", sans-serif;
    color: var(--oj-color);
    font-weight:600;
		text-wrap: pretty;
		letter-spacing: -1px;
}
.page-header h1{
    color:#fff;   
}
h2, h3, h4, h5, h6 {
	color: var(--clay-color);
}

h1 { font-size: 2em; margin: 0.67em 0; }
h2 { font-size: 1.5em; margin: 0.83em 0; }
h3 { font-size: 1.17em; margin: 1em 0; }
h4 { font-size: 1em; margin: 1.33em 0; }
h5 { font-size: 0.83em; margin: 1.67em 0; }
h6 { font-size: 0.75em; margin: 2.33em 0; }
p.subtitle {
    color: var(--clay-color);
    font-size: 1.6em;
    margin: 0;
		font-family: "Josefin Sans", sans-serif;
}
h1+p.subtitle{
    margin-top:-.5em;   
}
header h1+p.subtitle {
    margin-top: 0.5em;
    line-height: 1.2;
		font-size: 1.4em;
		font-family: "Nunito", sans-serif;
}
@media (max-width:768px) {
	header h1+p.subtitle {	
		font-size:1.2em;
	}
}
/* * Addresses styling not present in IE 7/8/9, Safari 5, and Chrome. */
abbr[title] { border-bottom: 1px dotted; }
/* * Addresses style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
b, strong { font-weight: bold; }
semi { font-weight: 400; }
blockquote { margin: 1em 40px; color: #252160; font-family: "Josefin Sans"; }
/* * Addresses styling not present in Safari 5 and Chrome. */
dfn { font-style: italic; }
/* * Addresses styling not present in IE 6/7/8/9. */
mark { background: #ff0; color: #000; }
/* * Addresses margins set differently in IE 6/7. */
p, pre { margin: 1em 0; }
/* * Corrects font family set oddly in IE 6, Safari 4/5, and Chrome. */
code, kbd, pre, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
/* * Improves readability of pre-formatted text in all browsers. */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
/* * Addresses CSS quotes not supported in IE 6/7. */
q { quotes: none; }
/* * Addresses `quotes` property not supported in Safari 4. */
q:before, q:after { content: ''; content: none; }
small { font-size: 75%; }
/* * Prevents `sub` and `sup` affecting `line-height` in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

/* ==========================================================================
Lists
========================================================================== */
/* * Addresses margins set differently in IE 6/7. */
 
dl, menu, ol, ul { margin: 1em 0; }
ol, ul {
    text-align: left;
}
.block ol li, 
.block ul:not(.nav-tabs) li {
    margin-bottom: 5px;
}

dd { margin: 0 0 0 40px; }
/* * Addresses paddings set differently in IE 6/7. */
menu, ol, ul { padding: 0 0 0 20px; }
/* * Corrects list images handled incorrectly in IE 7. */
nav ul, nav ol { list-style: none; list-style-image: none; }

#service-list ul{list-style-type:none;}
#service-list li{ border-bottom: 1px solid #eee; padding: 10px 0; font-weight: bold; text-align: left; font-size: 18px; }
section#services{border-top:1px solid #eee;border-bottom:1px solid #eee;}

/* ==========================================================================
Embedded content
========================================================================== */
/* * 1. Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3.
* 2. Improves image quality when scaled in IE 7. */
 
img { border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */ }
/* * Corrects overflow displayed oddly in IE 9. */
svg:not(:root) { overflow: hidden; }

/* ==========================================================================
Figures
========================================================================== */
/* * Addresses margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
 
figure { margin: 0; }

/* ==========================================================================
Forms
========================================================================== */
/* * Corrects margin displayed oddly in IE 6/7. */
 
form { margin: 0; }
/* * Define consistent border, margin, and padding. */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
/* * 1. Corrects color not being inherited in IE 6/7/8/9.
* 2. Corrects text not wrapping in Firefox 3.
* 3. Corrects alignment displayed oddly in IE 6/7. */
legend { border: 0; /* 1 */
	padding: 0; white-space: normal; /* 2 */
*margin-left: -7px; /* 3 */ }
/* * 1. Corrects font size not being inherited in all browsers.
* 2. Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5, *    and Chrome.
* 3. Improves appearance and consistency in all browsers. */
button, input, select, textarea { font-size: 100%; /* 1 */
	margin: 0; /* 2 */
	vertical-align: baseline; /* 3 */
*vertical-align: middle; /* 3 */ }
/* * Addresses Firefox 3+ setting `line-height` on `input` using ` !important` in
* the UA stylesheet. */
button, input { line-height: normal; }
/* * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
*    and `video` controls.
* 2. Corrects inability to style clickable `input` types in iOS.
* 3. Improves usability and consistency of cursor style between image-type
*    `input` and others.
* 4. Removes inner spacing in IE 7 without affecting normal text inputs.
*    Known issue:inner spacing remains in IE 6. */
button, html input[type="button"], /* 1 */
input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */
	cursor: pointer; /* 3 */
*overflow: visible; /* 4 */ }
/* * Re-set default cursor for disabled elements. */
button[disabled], input[disabled] { cursor: default; }
/* * 1. Addresses box sizing set to content-box in IE 8/9.
* 2. Removes excess padding in IE 8/9.
* 3. Removes excess padding in IE 7.
*    Known issue:excess padding remains in IE 6. */
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
	*height: 13px; /* 3 */
*width: 13px; /* 3 */ }
/* * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
*    (include `-moz` to future-proof). */
input[type="search"] { -webkit-appearance: textfield; /* 1 */
	-moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box; }
/* * Removes inner padding and search cancel button in Safari 5 and Chrome
* on OS X. */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
/* * Removes inner padding and border in Firefox 3+. */
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
/* * 1. Removes default vertical scrollbar in IE 6/7/8/9.
* 2. Improves readability and alignment in all browsers. */
textarea { overflow: auto; /* 1 */
vertical-align: top; /* 2 */ }

/* ==========================================================================
Tables
========================================================================== */
/* * Remove most spacing between table cells. */
table { border-collapse: collapse; border-spacing: 0; }
th { font-family:'Josefin Sans', sans-serif; }

/* ==========================================================================
Helper classes & rules
========================================================================== */

.full-width{width:100%;}
.alignright,.float-right{ float:right; }
.alignleft,.float-left{ float:left; }
img.alignright{ margin:0 0 40px 40px; }
img.alignleft{ margin:0 40px 40px 0; }
hr { width: 100%; }
hr.trans { opacity: 0; }
.uppercase { text-transform: uppercase; }
.droidserif { font-family: "Josefin Sans"; }
.quicksand { font-family: "Petrona"; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-primary { color: #252160!important; }
.text-white{color:#fff!important;}
.text-black{color:#000!important;}
.lead { 
	font-size: 26px!important;
	line-height:38px;
	margin-bottom: 30px;
	font-weight:400;
	color:var(--clay-color);
}
article.post .lead, #ai1ec-container .lead{ font-size:21px!important; line-height:30px; margin-bottom:20px;}
.scale-2{transform:scale(2);}

/* ==========================================================================
Global Styles
========================================================================== */
/* Leaflet maps */
.leaflet-marker-icon {
    filter: hue-rotate(172deg);
}

a { color: var(--terracotta-color); -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }
a:hover, a:focus { color:var(--oj-color); text-decoration: none; }
.block p a:not(.btn) { border-bottom: 1px solid rgba(96,33,33,0.25); }
p {
    line-height: 1.5em;
    font-size: 1.2em;
}
.section-padding { padding: 30px 0 100px; display: inline-block; width: 100%; }
.dark-bg { background: #f3f5f8; }
.light-bg { background-color: #fff; }
.dark-box { background: #f3f5f8; -webkit-box-shadow: 0px 3px 0px 0px #f0f2f4; -moz-box-shadow: 0px 3px 0px 0px #f0f2f4; box-shadow: 0px 3px 0px 0px #f0f2f4; }
.light-box { padding: 20px 0; }
.box-hover { transition: all 200ms ease-in-out; -webkit-transition: all 200ms ease-in-out; -moz-transition: all 200ms ease-in-out; -o-transition: all 200ms ease-in-out; }
.box-hover:hover, .box-hover:focus { transform: scale(1.1); -webkit-transform: scale(1.1); -ms-transform: scale(1.1); }
.wrapper { height: 650px; }
.nopadding { padding: 0; }

i.highlight{ background: #fff; color: #252160; border: 2px solid #252160; border-radius: 500px; padding: 30px; margin-bottom: 20px; transition: .1s; }
div.highlight:hover i.highlight{ color: #fff; background: #252160; }
#main article { margin-bottom: 0; }
.blog article p {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.gradient-bg{
    background: #6D2C90;
    background:linear-gradient(25deg, rgba(109, 44, 144, 1) 0%,rgba(86, 165, 146,1) 100%);
    background-attachment:fixed;
    color:#fff;
    background-position:center;
    background-size:auto;
    background-repeat:no-repeat;
}
.gradient-bg h1,
.gradient-bg h2,
.gradient-bg h3,
.gradient-bg h4,
.gradient-bg h5,
.gradient-bg h6,
.gradient-bg a,
.gradient-bg p{
    color:#fff;   
}
.gradient-bg a:hover,
.gradient-bg a:focus{
    color:#eee;   
}

.curves{
    margin:30px 0 -35px -5%;
    width:110%;
    pointer-events:none;
    z-index:3;
    position:relative;
}
.curves-top{
    width: 200%;
    opacity: .5;
    margin-left: -10%;
    position: absolute;
    bottom: -10px;
    pointer-events:none;
}
.curves-top-2 {
    width: 200%;
    opacity: .3;
    margin-left: -9%;
    position: absolute;
    bottom: 0;
    pointer-events: none;
}

.flex-center{
    display:flex;
    height:100%;
    align-items:center;
}
.flex-end{
    display:flex;
    height:100%;
    align-items:end;
}
.flex-right{
    margin-left:auto;
}
.flex-left{
    margin-right:auto;   
}
#content{
    padding-top:30px;   
}

/* ==========================================================================
Buttons
========================================================================== */

a.btn, button.btn, 
.wp-prev-next a, 
input[type="button"],
input[type="submit"] { 
    font-size: 1em;
    padding: 15px 40px; 
    border-radius: 5px; 
    color: #fff; 
    letter-spacing: 1px; 
    display: inline-block; 
    border:0; 
		box-shadow: none;
		text-shadow: none;
		border-radius: 500px;
    transition:.2s;
}
a.btn:hover,
a.btn:focus,
button.btn:hover,
button.btn:focus,
.wp-prev-next a:hover,
.wp-prev-next a:focus,
input[type="button"]:hover, 
input[type="button"]:focus,
input[type="submit"]:hover, 
input[type="submit"]:focus,
#menu-main-menu > li:nth-last-child(2) a.menu-link:hover,
#menu-main-menu > li:nth-last-child(2) a.menu-link:focus { 
    transform:scale(1.03); 
    transition:.2s; 
    background:var(--oj-color);
}

a.btn-primary, 
button.btn-primary, 
.wp-prev-next a,
input[type="button"],
input[type="submit"] { 
    background:var(--terracotta-color);
    color: #fff;
}
.wp-prev-next a{
    margin:20px 10px;
    min-width:25%;
}

a.btn-secondary, button.btn-secondary { 
    background: var(--kraft-color); 
    color: #fff; 
}
a.btn-secondary:hover, button.btn-secondary:hover{
    color:#fff;
    background: var(--oj-color); 
}

a.btn-white, button.btn-white { 
    background: #fff; 
    color:var(--terracotta-color); 
}
a.btn-white:hover,
a.btn-white:focus,
button.btn-white:hover,
button.btn-white:focus {
    background:#fff;
    color:var(--terracotta-color); 
}
a.btn-trans, button.btn-trans { 
    box-shadow:0 0 0 2px var(--terracotta-color) inset;
    background: transparent;
    color:var(--terracotta-color); 
}
a.btn-trans:hover,
a.btn-trans:focus
button.btn-trans:hover,
button.btn-trans:focus { 
    background: #fff;
    color:var(--terracotta-color);
}
a.btn-white.btn-trans,
button.btn-white.btn-trans{ 
    box-shadow:0 0 0 2px #fff inset;
    background: transparent; 
    color:#fff;
}
a.btn-white.btn-trans:hover,
a.btn-white.btn-trans:focus
button.btn-white.btn-trans:hover,
button.btn-white.btn-trans:focus  { 
    background: #fff;
    color:var(--terracotta-color);
}

a.btn.btn-small,
button.btn.btn-small {
	font-size: .9em;
  padding: 12px 25px;
}

/* make buttons full width for small screens */

@media (max-width: 768px) {
    .btn{
			/*font-size: .9em!important;*/
			letter-spacing: 0!important;
			padding: 15px 30px!important;
    }
}

/* ==========================================================================
Pagination
========================================================================== */
.pagination a {
    font-family: 'Josefin Sans';
    border-radius: 0!important;
    border-width: 0 0 5px 0!important;
    margin-right: 10px!important;
    border-color: rgba(86,165,146,.3)!important;
    color: #56a592!important;
    font-size:1.2em;
}
.pagination>.active>a, 
.pagination>.active>span, 
.pagination>.active>a:hover, 
.pagination>.active>span:hover, 
.pagination>.active>a:focus, 
.pagination>.active>span:focus{
    color: #fff!important;
    background-color: #56a592;
}
.pagination li:not(.active) a:hover {
    border-bottom: 5px solid rgba(86,165,146,.6)!important;
    color: #56a592!important;
    background:transparent!important;
}
.pagination a:hover:after {
    padding-left: 12px;
}
.pagination li.disabled a {
    color: #aaa!important;
    border-color: #eee!important;
}

/* ==========================================================================
Navigation
========================================================================== */
#nav-top {
    padding: 35px 0 35px;
    position: relative;
    z-index: 99999;
}
.top-contact {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 99;
    background: #fff;
    border-bottom: 1px solid #eee;
    font-size: 1.3em;
    color: #fff;
    font-family: "Petrona", serif;
}

#top-crisis{
    padding-top:15px;
    padding-bottom:15px;
    font-weight: bold;
    text-transform: uppercase;
    font-size:1.2em;
    line-height:1em;
}
@media (max-width: 768px) {
    #top-crisis{
        text-align:center;
        padding-right:0;
    }
    #top-exit{
        padding-right:0;
    }
}
#top-crisis a span, #top-crisis a i{
    color: #ff0076;   
}
a#exit-button {
    background: #ff0076;
    font-family: 'Petrona', serif;
    border-radius: 0;
    text-shadow: none;
    font-size: 2em;
    padding: 0 20px;
    height: 55px;
}
a#exit-button:hover img{
    animation:runRight 1s infinite;
    -webkit-animation:runRight 1s infinite;
}
@keyframes runRight{
    0%{
        transform:translateX(0%);
        opacity:1;
    }
    50%{
        transform:translateX(100%);
        opacity:0;
    }
    51%{
        transform:translateX(-100%);
        opacity:0;
    }
    100%{
        transform:translateX(0);
        opacity:1;
    }
}
@-webkit-keyframes runRight{
    0%{
        transform:translateX(0%);
        opacity:1;
    }
    50%{
        transform:translateX(100%);
        opacity:0;
    }
    51%{
        transform:translateX(-100%);
        opacity:0;
    }
    100%{
        transform:translateX(0);
        opacity:1;
    }
}
a#donate-button, a#contact-button {
    line-height: 55px;
    padding: 0 20px;
    font-size: .8em;
    background: transparent;
    text-shadow: none;
    color: #252160;
    border-radius: 0;
    box-shadow: none;
    border: 0;
}
#donate-button i, #contact-button i{
    color:#eee;
    transition:.2s;
}
#donate-button:hover i{
    color:#ff0076;
    animation:beat 1s infinite;
    -webkit-animation:beat 1s infinite;
}
#contact-button:hover i{
    color:#252160;
    animation:talk 2s infinite;
    -webkit-animation:talk 2s infinite;
}
@keyframes beat{
    0%{
        transform:scale(1);
        opacity:.8;
    }
    50%{
        transform:scale(1.5);
        opacity:1;
    }
    100%{
        transform:scale(1);
        opacity:.8;
    }
}
@-webkit-keyframes beat{
    0%{
        transform:scale(1);
        opacity:.8;
    }
    50%{
        transform:scale(1.5);
        opacity:1;
    }
    100%{
        transform:scale(1);
        opacity:.8;
    }
}
@keyframes talk{
    0%{
        transform:rotateZ(-15deg) scale(1.2);
    }
    25%{
        transform:rotateZ(0) scale(1);
    }
    50%{
        transform:rotateZ(15deg) scale(1.2);
    }
    75%{
        transform:rotateZ(0) scale(1);
    }
    100%{
        transform:rotateZ(-15deg) scale(1.2);
    }
}
@-webkit-keyframes talk{
    0%{
        transform:rotateZ(-15deg) scale(1.2);
    }
    25%{
        transform:rotateZ(0) scale(1);
    }
    50%{
        transform:rotateZ(15deg) scale(1.2);
    }
    75%{
        transform:rotateZ(0) scale(1);
    }
    100%{
        transform:rotateZ(-15deg) scale(1.2);
    }
}
a#donate-button:hover, a#contact-button:hover, a#exit-button:hover{
    transform:scale(1);   
}
#exit-button a{
    font-size: 32px;
    line-height: 1;
    padding: 10px 12px;
    background: #ff0076;
}
#exit-button img{
    height: 30px;
    margin-top:-5px;
}

#search-link i{
    font-size: 2em;
    line-height: 0;
    vertical-align: middle;
}
.search-form button {
    opacity: 0;
    pointer-events: none;
    width: 0;
    padding: 0;
}
#searchForm{
    display:none;
}
#searchForm .pe-7s-close-circle {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 9999;
    color: #fff;
    font-size: 3em;
    transition:.2s;
}
#searchForm .pe-7s-close-circle:hover {
    color:#aaa;
    cursor:pointer;
}
form.search-form{
    position: fixed;
    height: 100%;
    width: 100%;
    background: rgb(0 0 0 / 80%);
    z-index: 1000;
    top:0;
    padding-top: 40vh;
    padding-left: 20vw;
    padding-bottom: 40vh;
    padding-right: 20vw;
}
form.search-form input.form-control {
    color:#fff;
    border: 0;
    border-bottom: 2px solid #fff;
    background: none;
    border-radius: 0;
    font-size: 2em;
    line-height: 2em;
    height: auto;
    font-family: "Josefin Sans", sans-serif;
}
.search-form .input-group {
    margin: 0 auto;
    min-width: 50%;
}

@media (max-width: 1500px) {
    #search{
        clear:left;
        float:right;
        margin-top:20px;
    }
    #donate{
        float:right;
        margin-top:20px;
    }
}

nav ul { list-style: none; padding: 0; }
#menu-main-menu > li { display: block; transition: all 0.5s ease; -moz-transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; padding-left: 0; position: relative; }
.navbar-nav>li a { 
    font-family: "Nunito",sans-serif;
		font-size: 1.2em;
		font-weight: 500;
    display: block; 
    padding: 15px 28px; 
    transition: all 0.5s ease; 
    -moz-transition: all 0.5s ease; 
    -webkit-transition: all 0.5s ease; 
    -o-transition: all 0.5s ease;  
    position: relative; 
}

#menu-main-menu > li:nth-last-child(2) a.menu-link {
    background: var(--terracotta-color);
    color: #fff;
    border-radius: 500px;
    margin-left: 20px;
}

nav ul li a:hover, nav ul li a:focus { text-decoration: none; }
nav hr { opacity: .2; margin-top: 10px; }
#nav-toggle { position: absolute; right: 15px; top: 0; }
#nav-toggle { cursor: pointer; padding: 10px 35px 16px 0px; }
#nav-toggle span, #nav-toggle span:before, #nav-toggle span:after { cursor: pointer; border-radius: 1px; -moz-border-radius: 1px; -webkit-border-radius: 1px; -o-border-radius: 1px; height: 5px; width: 35px; background: #fff; position: absolute; display: block; content: ''; }
#nav-toggle span:before { top: -10px; }
#nav-toggle span:after { bottom: -10px; }
#nav-toggle span, #nav-toggle span:before, #nav-toggle span:after { transition: all 500ms ease-in-out; -webkit-transition: all 500ms ease-in-out; -moz-transition: all 500ms ease-in-out; -o-transition: all 500ms ease-in-out; }
#nav-toggle.active span { background-color: transparent; }
#nav-toggle.active span:before, #nav-toggle.active span:after { top: 0; }
#nav-toggle.active span:before { transform: rotate(45deg); -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); }
#nav-toggle.active span:after { transform: translateY(-10px) rotate(-45deg); -webkit-transform: translateY(-10px) rotate(-45deg); -ms-transform: translateY(-10px) rotate(-45deg); top: 10px; }

.navicon {
    position: relative;
    justify-content: flex-end;
    height: auto;
    flex-direction: column;
    align-items: end;
}

.indicator { position: absolute; right: 0 !important; }

.pull { display: none; }

#menu-main-menu li i.fa-chevron-down {
    position: absolute;
    top: 17px;
    right: 5px;
    color: #ccc;
    display:none;
}

.menu-sub-menu{
    opacity:0;
    pointer-events:none;
    transition:all .5s ease;
    background:#fff;
    transform:rotateX(90deg);
    transform-origin:50% 0%;
    position:absolute;
    white-space:nowrap;
    margin-top:0;
    z-index:1;
		border-radius: 20px;
}
@media (min-width: 993px) {
    #menu-main-menu li:hover ul.menu-sub-menu{
        opacity:1;
        pointer-events:all;
        transform:rotateZ(0deg);
        box-shadow: 0 4px 10px 0px rgb(0 0 0 / 20%);
        min-width: 100%;
    }
}
.menu-sub-menu li:not(:first-child){
    border-top:1px solid #eee;   
}

@media (max-width: 992px) {
    ul.menu-sub-menu{
				background: #f5f5f5;
        position: relative;
        transform:rotateZ(0deg);
				height: auto;
				opacity: 1;
				pointer-events: all;
				border-radius:0;
    }
    .menu-sub-menu{
        opacity: 1;
        pointer-events: all;
    }
    .menu-sub-menu li a{
        text-transform:capitalize;
        font-weight:normal;
    }
    #menu-main-menu li i.fa-chevron-down {
        display:none;   
    }
}

.contact-list {
    list-style-type: none;
    font-size: 1.2em;
		padding-left:0;
}
.contact-list li {
    padding: 0 0 10px;
}
.contact-list a i {
    margin-right: 10px;
		width: 1em;
		text-align: center;
} 

.navbar-nav { 
    float: right;
		list-style-type:none;
}

#menu-toggle {
    border: 0;
    z-index: 9999;
    color: var(--clay-color);
    transition: .2s;
    position: fixed;
    top: 30px;
    padding: 10px 0 4px 15px;
    width: 55px;
    right: 0;
    box-sizing: content-box;
    text-align: left;
    background: #fff;
    border-radius: 5px 0 0 5px;
		display:none;
}
#menu-toggle:focus{ 
    outline:none; 
}

#menu-toggle i {
    font-size: 30px;
		vertical-align: 5px;
}

#menu-main-menu.active + #menu-toggle i:before {
	content: "\f00d";
}

#menu-main-menu > li:first-child {
	display: none;
	width: 100%;
}

@media (max-width: 992px) {
	#menu-toggle { display:inline; }
	ul#menu-main-menu{ 
        display:none; 
				animation:none!important;
        position: fixed; 
        left: 0; 
        top: 0; 
        width: 70%; 
        height: 100vh; 
        text-align: center; 
        z-index: 999; 
        background: #fff; 
        border-right:1px solid #eee;
        overflow-y:auto; 
        box-shadow: 0 0 500px 500px rgba(0,0,0,0.5);
    }
	ul#menu-main-menu li, ul#menu-main-menu li a.btn-primary{ margin-left:0; }
	ul#menu-main-menu li{ margin: 0; display: block; width: 100%; text-align:left; }
	ul#menu-main-menu > li > a { 
		padding:12px 15px; 
		font-size: 1.1em; 
	}
	#menu-main-menu > li:first-child {
			display: block;
			max-width: 300px!important;
			text-align: left;
			margin-bottom: 20px;
			padding-right: 20px;
	}
	#menu-main-menu > li:nth-last-child(2) a.menu-link {
	  margin: 15px;
    padding: 15px;
    text-align: center;
	}
	ul.menu-sub-menu > li > a {
		border-bottom: 1px solid #eee; 
		font-size: 1em; 
	}		
	.navbar-nav{ margin:0; }
}

/* ==========================================================================
Slideshow
========================================================================== */

button.owl-dot {
    background-color: transparent;
    border: 0;
}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span{
     background:#888;   
}
/*.owl-dots {
    position: absolute;
    width: 100%;
    bottom: 20px;
}
.owl-theme .owl-dots .owl-dot span{
    border:none;
    transition:.2s;
    width:30px;
    height:26px;
    background-image:url(images/bullet.png)!important;
    background-color:transparent;
    background-size:cover;
    background-position:center;
    opacity:.5
}
.owl-dot.active span,
.owl-dot.active:hover span,
.owl-dot.active:focus span,
.owl-theme .owl-dots .owl-dot:hover span{
    opacity:1!important;
    background-image:url(images/bullet.png);
    background-color:transparent!important;
    background-size:cover;
    background-position:center;
}*/
.owl-stage{
	margin-bottom:-1px;   
}
.owl-item {
	cursor: grab;
}
.owl-carousel .img-bg-cover {
	padding:10px;
	border-radius:40px;
}
.partners .owl-carousel .owl-item{
	display:flex;
	align-items:center;
}
.partners .owl-carousel .owl-item img{
	width:auto;
	margin:0 auto;
	display:inline-block;
}

/* ==========================================================================
Hero
========================================================================== */

#skyline {
    z-index: 1;
    position: relative;
    height: 150px;
    width: 102vw;
    margin-left: -1vw;
    margin-top: -150px;
		margin-bottom: -1px;
    overflow: hidden;
    pointer-events: none;
    background-image: url(images/mountains-cc.png);
		background-position: center top;
    background-size: cover;
}
#sun {
    position: absolute;
    left: 60%;
    margin-top: -180px;
    width: 15vw;
    height: 15vw;
    background: var(--oj-color);
    border-radius: 1000px;
}
@media (max-width: 992px) {
	
	#skyline {
		margin-top: -77px;
		height:90px;
	}
	#sun {
		margin-top: -100px;
		width:20vw;
		height:20vw;
	}
	
}
@media (max-width: 400px) {
	#sun {
		margin-top: -80px;
		width:25vw;
		height:25vw;
	}
}

.logo-link img, .logo-link svg { max-width: 70vw; width:400px; }
#logo-box { text-align: center; }

@media (max-width: 1200px) {
		.logo-link img { width:300px; }
}

.page-header {
    background-size: cover;
    height: 40vh;
    background-position: center;
    overflow: hidden;
    position: relative;
    font-size: 1.3em;
    padding-bottom: 0;
    border-radius: 20px;
    margin: 20px;
    background-color: var(--kraft-color);
    background-blend-mode: soft-light;
		text-shadow: 0 0 100px rgba(100,50,50,0.5), 2px 2px 1px rgba(100,50,50,0.1);
}
img.banner {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 100%;
    mix-blend-mode: soft-light;
}
.home-slide-title{
		color:#fff;   
}
.front-page-header.page-header{
		height:60vh;
		min-height: 500px;
}
.front-page-header .col-md-8 * {
		text-wrap: balance;
}
.overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,0.4);
    z-index:1;
}
.home-overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--sand-color);
    z-index:1;
}
.image-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    object-fit: cover;
    z-index: 1;
    transition: .5s;
    filter: brightness(.8);
    border-radius: 20px 20px 100px 20px;
		border:0px solid var(--oj-color);
}
.image-overlay::before {
    /*content: "";*/
    background-color: rgb(255 198 100 / 30%);
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 5em 3em 8em 2em;
    transform: skew(29deg, -16deg);
    mix-blend-mode: soft-light;
}

.gradient-overlay{
    background:var(--sand-color);
    background-attachment:fixed;
    color:#fff;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;   
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
		opacity:.8;
}

.slide-overlay{
    background-image: linear-gradient(to right, rgba(0,0,0,.8) 0%,rgba(0,0,0,0) 100%);
    position: absolute;
    top: 0;
    left: -50%;
    width: 100%;
    height: 100%;
    z-index: -1;   
}

@media (max-width: 768px) {
	
    .slide-overlay {
        background-image: linear-gradient(to right, rgba(0,0,0,.6) 0%,rgba(0,0,0,.2) 100%);
        left: 0;
    }
		.page-header {
			border-radius: 20px 20px 100px 20px;
		}
		
}

.page-header .flex-center{
    position:relative;
    z-index:2;
		padding-top: 30px;
		padding-bottom: 30px;
		flex-direction: column;
    justify-content: center;
		align-items: normal;
}

p.teaser{
    text-transform:uppercase;
    margin-bottom:.5em;
    display:none;
}

p.byline {
    margin: 1em 0 1.5em;
}

.page-header h1{
    font-size:2.5em;
    margin-bottom:0;
    margin-top: 0;
}

.page-header {
	& .byline, .subtitle {
		color: #fff;
	}
}

ul#menu-main-menu li a.btn-trans:hover{
	color:#000!important;
}

@media (max-width: 992px) {
	.hero { padding-top: 220px; padding-bottom: 120px; }
	.hero h1 { font-size: 34px; letter-spacing: 5px!important; animation: none; }
	.hero p#sub_text { font-size: 14px; }
	.email-capture input[type="email"], 
    .email-capture button, 
    .email-capture input[type="submit"] { 
        border-radius: 500px!important; 
        margin-bottom: 20px!important; 
        border-width: 2px!important;
        width: 80%!important; 
        max-width:none!important; 
    }
    p.byline br{display:none;}
    .byline {font-size:1em;}
    .page-header h1{
         font-size:2em;   
    }
    #call-to-action .container div:last-child div{
         margin-top:20px;   
    }
}

#call-to-action{
    padding-top:30px;
    margin-bottom:60px;
    margin-top: -1px;
    z-index: 2;
}
#call-to-action .container > div > div {
    margin-top: -70px;
    background: #fff;
    padding: 20px 30px 30px;
    text-align: center;
    border-radius: 5px;
    box-shadow: 0 10px 30px -5px rgb(0 0 0 / 10%);
}
@media (max-width:767px) {
    #call-to-action .container div:nth-child(2) div,#call-to-action .container div:last-child div{
         margin-top:20px;   
    }
}

#news-events .mec-event-article {
    position: relative;
    padding: 16px 0!important;
    transition: .2s;
    border-bottom:0;
    border-radius:5px;
    margin-bottom:10px;
    transition:.2s;
}

#news-events .mec-event-article:hover {
    filter: brightness(98%);
    transform: scale(1.02);
}

#news-events .mec-event-title {
    text-transform: capitalize;   
}

#news-events .event-color {
    display:none;
}

#news-events .mec-event-detail {
    color: #649c8f;
    font-family: 'Petrona';   
}

#news-events .btn-wrapper, #news-events .mec-detail-button {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

#news-events article:first-of-type {
    background: hsl(266deg 100% 94%);
}

#news-events article:nth-of-type(2) {
    background: hsl(266deg 100% 95%);
}

#news-events article:nth-of-type(3) {
    background: hsl(266deg 100% 96%);
}

#news-events p, .search-results .post_content p{
    display: flex;
    flex-direction: column;
    align-items: flex-start;   
}

#social {
    background:hsl(264deg 100% 97%);
    padding-top:30px;
    padding-bottom:30px;
}

/* ==========================================================================
Form Styling
========================================================================== */
input:focus, input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus, textarea:focus { outline: none; box-shadow: none; }
.wpcf7{	width:100%; }
.wpcf7 input, .wpcf7 textarea{ font-size: 16px; padding: 19px; border: 2px solid #ccc; border-width: 2px; border-radius: 30px; font-family: Questrial; width:100%; margin-top:10px; transition:.2s; }
.wpcf7 label { font-family: Questrial; font-weight: 100; width: 60%; margin: 0 auto; display: block; }
.wpcf7-recaptcha{ width: 60%; margin: 0 auto 40px; display: block; }
.email-capture p{ word-spacing: -5px; }
.email-capture input[type="email"]{ font-size: 16px; padding: 19px; border: 2px solid #ccc; border-width: 2px 0 2px 2px; border-radius: 500px 0 0 500px; font-family: Questrial; width: 250px; max-width: 45%; }
.email-capture input[type="email"]:focus{ outline:0; }
.wpcf7 input[type="submit"]{ background: #f7921e; border: 1px solid #f7921e; padding: 20px 30px 20px 20px; text-transform: uppercase; color: #fff; font-family: Questrial; border-radius: 30px; font-weight: bold; font-size: 16px; width: 60%; margin: 0 auto; display: block; }
.wpcf7 input[type="submit"]:active, .wpcf7 input[type="submit"]:focus { border-width: 1px; }
.email-capture button, .email-capture input[type="submit"]{	border-radius: 0 500px 500px 0;	width: 250px; max-width: 45%; display:inline-block; }
.email-capture br{ display:none; }
div.wpcf7-response-output{ border: 0; color: #fff; font-family: "Questrial"; padding: 20px 0; max-width: 90%; width: 500px; margin: 0 auto; border-radius: 500px; text-align: center;	background:#333; }
div.wpcf7-mail-sent-ok{ background: limegreen; }
div.wpcf7-validation-errors{ background: yellow; color:#000; }
span.wpcf7-not-valid-tip{ margin-top:10px; }
.email-capture span.wpcf7-not-valid-tip { display:none; }
div.wpcf7 .ajax-loader { margin: 10px auto 10px; display: block; }

#email-capture input[type="email"] {
    padding: 0 20px;
    margin-right: 5px;
    border-radius: 2px;
    line-height: 50px;
    color: #fff;
    background: transparent;
    text-transform: uppercase;
    display: inline-block;
    box-shadow: 0 0 0 2px #fff inset;
    border: 0;
    font-weight: bold;
    font-family: 'Petrona';
}
#email-capture button.btn{
    margin-top:-4px;   
}

.mc4wp-response div {
    display: inline-block;
    background: #fff;
    padding: 0 30px;
    border-radius: 3px;
    font-weight: bold;
    margin-top: 20px;
    position: relative;
}
.mc4wp-response div:before {
    content: "";
    width: 20px;
    height: 20px;
    background: #fff;
    position: absolute;
    display: inline-block;
    top: -10px;
    transform: rotateZ(45deg);
}
.mc4wp-response p{
    color:#000;   
}

/* Ninja Forms */

.list-checkbox-wrap label,
.list-radio-wrap label {
    margin-left: 40px !important;
}

.nf-response-msg:before{
    top:-10px;
    bottom:auto!important;
}

.ninja-forms-field[type="checkbox"],
.ninja-forms-field[type="radio"] {
		transform: scale(1.6);
    margin: 5px !important;
    padding-top: 4px !important;
		margin-left: 8px !important;
}
.checkbox-container label {
    padding-left: 10px!important;
}

.ninja-forms-field[type="text"],
textarea.ninja-forms-field,
.ninja-forms-field[type="email"],
.ninja-forms-field[type="tel"],
#fbuilder input,
#fbuilder select {
    border-width: 2px;
    border-color: rgb(238,238,238);
    border-style: solid;
    color: #222;
    font-size: 21px;
    padding: 10px 12px!important;
		border-radius: 5px;
}
.nf-field-element input[type="submit"] {
    font-size: 1.2em;
}
.nf-field-label label,
.nf-field-element label,
.nf-field-label .nf-label-span {
		font-weight: 500!important;
    margin: 0;
    padding: 0;
    font-family: "Nunito", sans-serif;
}
.nf-field-label { 
		font-size:1.2em;
    font-weight: 400!important;
}
.nf-form-cont {
    padding: 30px 0;
}
.nf-form-fields-required {
    color: #aaa;
}
.nf-after-field .nf-error-msg {
    font-weight: bold;
}
.nf-response-msg {
    color: var(--clay-color);
    padding: 10px 30px;
    background: var(--sand-color);
    border-radius: 20px 20px 80px 20px;
    margin-bottom: 20px;
    position: relative;
}

.nf-response-msg:before {
    content: "";
    width: 20px;
    height: 20px;
    background: var(--sand-color);
    position: absolute;
    display: inline-block;
    bottom: -10px;
    transform: rotateZ(45deg);
}
.html-container {
	font-size: 1.2em;
}
.nf-field-description {
	margin: 0 0 10px 0;
}
.nf-field-description p, .nf-field-element p {
    font-size: 1em;
}

@media (max-width: 768px) {
    #email-capture input[type="email"]{
        width:100%;
        margin-bottom:10px;
    }
}

/* ==========================================================================
Checkout
========================================================================== */

section#bookingSteps {
    display: inline-block;
    width: 100%;
    font-size: 1.2em;
    padding: 20px 0 20px;
    margin-bottom: 20px;
		margin-top:-20px;
    border-bottom: 5px dotted #eee;
		position:relative;
		overflow:hidden;
}
#bookingSteps::before{
    content: " ";
    width: 100%;
    left: 0;
    margin: 0 auto;
    height: 2px;
    background: var(--oj-color)!important;
    position: absolute;
    top: 39px!important;
}
#bookingSteps::after {
    content: " ";
    width: 100%;
    left: 0;
    margin: 0 auto;
    height: 2px;
    background: #ccc;
    position: absolute;
    top: 39px!important;
}
#bookingSteps.step-one::after {
	  animation:1s linear step-one forwards;
}
#bookingSteps.step-two::after {
	  animation:1s linear step-two forwards;
}
#bookingSteps.step-three::after {
	  animation:1s linear step-three forwards;
}
#bookingSteps .step {
    width: 33.3%;
    display: inline-block;
    float: left;
    position: relative;
    text-align: center;
}
.step.active .number,
.step.complete .number {
    border-color: #ccc;
    color: #ccc;
		background: #fff;
}
.step .number {
    color: #ccc;
    font-weight: bold;
    border: 2px solid #ccc;
		background:#fff;
    border-radius: 500px;
    width: 40px;
    height: 40px;
    margin: 0 auto;
    line-height: 36px;
    text-align: center;
    position: relative;
    z-index: 1;
}
.step.complete:first-of-type .number {
  animation: .3s linear .3s step-complete forwards;
}
.step.complete:nth-of-type(2) .number {
  animation: .3s linear .6s step-complete forwards;
}
.step.active .number {
  animation: .3s linear 1s step-active forwards;
}
.step .description {
    line-height: 40px;
    color: var(--clay-color);
    position: relative;
    z-index: 1;
}

/* checkout progress animation */

@keyframes step-one {
  from {
    left:0;
  }
  to {
    left:16%;
  }
}
@keyframes step-two {
  from {
    left:0;
  }
  to {
    left:50%;
  }
}
@keyframes step-three {
  from {
    left:0;
  }
  to {
    left:84%;
  }
}

@keyframes step-active {
  0% {
    border-color: #ccc;
    color: #ccc;
    outline: 2px solid transparent;
    outline-offset: 0px;
  }
  30% {
    outline: 2px solid var(--oj-color);
    outline-offset: 3px;
  }
  80% {
    outline: 2px solid var(--oj-color);
    outline-offset: 8px;
  }
  100% {
    border-color: var(--oj-color);
    color: var(--oj-color);
    outline: 2px solid transparent;
    outline-offset: 10px;
  }
}

@keyframes step-complete {
  0% {
    border-color: #ccc;
    color: #ccc;
    background: #fff;
  }
  100% {
    border-color: var(--oj-color);
    color: #fff;
    background: var(--oj-color);
  }
}


/* ==========================================================================
Content Layout
========================================================================== */
.flexible-text h1::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    left: -50px;
    top: -100px;
    background-image: url(images/accents/accent3.png);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: -1;
    transform: rotate(2deg);
    opacity: .2;
}
.title-subtitle h1::after {
    content: "";
    position: absolute;
    width: 250px;
    height: 300px;
    left: -50px;
    top: -70px;
    background-image: url(images/accents/accent1.png);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: -1;
    transform: rotate(2deg);
    opacity: .2;
}

.image-carousel {
	margin: 50px 0;
}
.image-carousel .owl-item {
    height: 50vh;
}
.image-carousel .owl-item a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
		background-position:center;
}
.img-bg-cover {
		position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.video-popup .img-bg-cover {
    transform: scale(1.05);
}

.testimonial-carousel .owl-item div p:first-child {
    background: var(--sand-color);
    padding: 35px 40px 40px;
    border-radius: 40px;
    position: relative;
    font-family: 'Nunito';
    color: var(--clay-color);
    font-size: 1.4em!important;
    line-height: 1.6em;
}
.testimonial-carousel .owl-item div p:first-child::after {
    position: absolute;
    width: 100px;
    height: 100px;
    background: var(--sand-color);
    bottom: 0px;
    left: 10em;
    transform: rotate(80deg)skew(37deg, 23deg);
    z-index: -1;
    content: " ";
}
img.testimonial-photo {
    width: 100px!important;
    height: 100px;
    object-fit: cover;
    display: inline-block;
    border-radius: 100px;
    float: left;
		margin-right:20px;
}
.testimonial-name {
    line-height: 100px;
    margin-left: 40px;
    font-family: 'Josefin Sans';
    color: var(--clay-color);
    font-size: 1.4em;
}

.block{
    /*padding-top:30px;*/
    padding-bottom:30px;
    position:relative;
    /*overflow:hidden;*/
}
.block.partners{
    background:#6d2c90;
    padding:40px 0 80px;
}
.block.partners h3 {
    text-transform: uppercase;
    margin-bottom: 40px;
    color: #fff;
    font-weight: lighter;
    letter-spacing: 5px;
}
.block.circles, .block.columns.cards{
    margin:50px 0 80px;   
}
.block.circles .col-md-4:hover .image-overlay{
    border-width:15px;
    filter: brightness(1);
}
.block .circle-img {
    padding-bottom: 80%;
    margin: 0 0 30px;
    border-radius: 20px;
    position:relative;
}
@media (max-width: 991px) and (min-width: 768px) {
	.block .circle-img {
    padding-bottom: 40%;
	}
}
.block.circles a {
    margin-top: 10px;
    margin-bottom: 40px;
}
.circles + .circles {
    margin-top: -80px;
}
section.flow + section.flow {
    padding-top: 0;
    margin-top:-20px;
}
.container-fluid.flow ~ .container-fluid.flow{
     margin-top:-30px;   
}
.container-fluid ~ .container .block:first-child {
    padding-top: 80px;
}
body section.block.full:last-of-type {
    padding-bottom: 0;
}
.block.heading hr {
    border-top-color: var(--sand-color);
    border-style: dotted;
    border-top-width: 5px;
    opacity: .5;
    width: 100%;
    display: block;
}
.block.columns.cards .row {
    margin: 0;
}
.block.columns.cards .col-image {
    width: calc(100% + 40px);
    margin-left: -20px;
    margin-bottom: 25px;
    height: 30vh;
    background-size: cover!important;
    background-position:center;
		border-radius: 14px 14px 0 0;
		overflow:hidden;
		position:relative;
}
.normal .card {
    border: 0;
    background: #fff;
    padding: 0;
    transition: .2s;
}
.card {
    background: var(--peach-color);
    padding: 0 20px 20px;
		margin:20px 0 0;
    transition: .2s;
		border-radius: 20px;
}
.card h2 {
    color: var(--terracotta-color);
}
a.col-link, .more-link {
    display: inline-block;
    margin: 10px 0;
    font-weight: 500;
}
a.col-link:after, .more-link:after {
    content: "\2192";
    padding-left: 8px;
    color: var(--terracotta-color);
    transition:.2s;
}
a.col-link:hover, .more-link:hover {
    color:var(--oj-color)!important;
}
a.col-link:hover:after, .more-link:hover:after {
    padding-left: 12px;
}
.block.image-head h1{
    font-size:3em;
    margin-bottom:20px;
}
.block.image-head p.intro{
    font-size:21px;
}
.image-head .img-bg-cover {
    transform: scale(1);
}
.block.expand .expandable-content{
    display:none;   
}
.expandable{
    margin-bottom:20px;   
}
.expandable > a {
    cursor: pointer;
    display: block;
    padding: 1em;
    background-color: var(--peach-color);
    font-family: 'Josefin Sans';
    font-size: 1.3em;
    border-radius: 5px;
}
a.expandable-link.active {
    background: var(--oj-color);
    color: #fff;
}
a.expandable-link.active i {
    transform: rotate(180deg);
}

.block.resources .resource{
    padding: 50px 15px;
    border-top: 5px dotted rgba(0,0,0,.05);
}
.block.resources .row:first-of-type .resource {
		border: none;
} 
.block.resources .resource h1{
    margin-top:0;   
}
.resource p:last-child {
    margin-bottom: 0;
}
.resource-image{
    margin: 60px 0;
		z-index:-1;
}
.block.resources img {
    width: 100%;
    max-height: 350px;
    object-fit: cover;
    border-radius: 20px 20px 100px 20px;
}
.resource-image::before {
		content: " ";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    background: none;
    border-radius: 10rem 8rem 25rem 8rem / 16rem 9rem 11rem 5rem;
    transform: rotate(46deg) scale(2) translateX(-20%);
    opacity: .2;
    z-index: -1;
    border: 50px dotted var(--sand-color);
}
.block.text li, 
.block.columns li, 
.block.resources li,
.post_content li {
    line-height: 1.5em;
    font-size: 1.2em;
}
section.block.flow:last-child{
    margin-bottom:40px;
}

.mandala {
    background: hsl(264deg 100% 97%);
    background-color: var(--sand-color);
    width: 200%;
    position: absolute;
    left: -50%;
    height: calc(100% + 90px);
    top: -50px;
    border-width: 0;
    opacity: .3;
}

.nav-tabs>li>a{
    font-size:1.4em;
    padding:10px 25px;
		font-family: 'Josefin Sans';
}

.nav-tabs>li.active>a, .nav-tabs>li.active>a:hover, .nav-tabs>li.active>a:focus {
	color: var(--clay-color);
}

.tab-content {
	display: inline-block;
  background: #fff;
}

.button-padding{
    padding-bottom:20px;   
}
.personnel img { margin-bottom: 40px; }
.personnel { margin-top: 70px; }
.container.flexible-text-image { padding: 0!important; margin: 50px 0 80px; position:relative; overflow: hidden; }
.container-fluid.horizontal-images { padding: 0!important; margin: 50px 0 80px; position:relative; overflow: hidden; }
.horizontal-image { border-left: 3px solid #fff; border-right: 3px solid #fff; }
.horizontal-image:first-child { border-left: 6px solid #fff; }
.horizontal-image:last-child { border-right: 6px solid #fff; }
@media (max-width: 992px) {
    .horizontal-image, .horizontal-image:first-child, .horizontal-image:last-child { border-left: 5px solid #fff; border-right: 5px solid #fff; border-bottom:5px solid #fff; }
}
.lead-p p:first-child{ font-size: 21px; font-family: "Josefin Sans", sans-serif; }

.flexible-text-image { 
	position: relative; 
	margin-bottom: 50px; 
}
.flexible-text-image .col-md-6 { 
    padding-top:80px;
    padding-bottom:80px;
}
.flexible-text-image .flexible-image-right { position: absolute; right: 0; height: 100%; }
.flexible-text-image .flexible-image-left { position: absolute; left: 0; height: 100%; }
.flexible-text-image .overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: #f2f2f2; opacity: .95; z-index: 0; }
.flexible-text-image .text-image { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.flexible-text-image p, .flexible-text-image h1 { z-index: 1; position: relative; }
.flexible-text-image p.link { margin-top: 40px; }
.text-image .mandala {
    top: 0px;
    height: 100%;
}
.flexible-image { 
    position: absolute; 
    width:100%; 
    height:100%; 
    object-fit:cover;
		border: 10px solid white;
    border-width: 10px 0;
    border-radius: 200px 0 200px 20px / 200px 0 200px 28px;
		left: 53%;
}
.col-md-offset-6 + .flexible-image{
	border-radius: 200px 200px 20px 200px / 200px 200px 28px 200px;
	right: 53%;
	left: auto;
}
.container-fluid.text-image,
.container-fluid.text-image .row{
    padding:0;  
    margin:0;
}
.container-fluid.text-image .flexible-text-image.row {
	margin-bottom: 40px;
}
.flexible-text-image .col-md-6.White {
    border-width: 1px 0 1px 0;
    border-style: solid;
    border-color: #eee;
}

.portfolioSlider div.img img { max-width: none; }
.portfolioSlider div.item, .portfolioSlider div.img { overflow: hidden; }
.portfolioSlider { margin-bottom: 80px; display:inline-block; }
.carousel-indicators { position: relative; margin-top: 40px; }
.carousel-indicators li , .carousel-indicators li.active{ border-color: #434966; margin: 0 2px; width: 10px; height: 10px; }
.carousel-indicators li.active{ background: #434966; }

.feature-list img { margin: 50px 0 30px; }
.feature-list { display: inline-block; margin-top: 40px; width: 100%; }
.feature-circle { width: 175px; height: 175px; background-size: cover; background-position: center; border-radius: 175px; margin: 0 auto 40px; }
.feature-slab { width: 100%; height: 175px; background-size: cover; background-position: center; margin: 0 auto 40px; }
.feature-list a.btn-secondary { margin: 20px 0; }

.video-popup {
    min-height: 60vh;
    padding: 50px 15px;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;
		background-attachment: fixed;
    position: relative;
}
.video .video-popup {
		overflow: hidden;
}
.video-background {
    position: absolute;
    left: -4%;
    top: -4%;
    width: 108%;
    height: 108%;
    background-size: cover;
    background-position: center;
}
.video-popup.flex-center{
    justify-content:center;
}
.video-popup .col-md-8 {
    z-index:98;
    position:relative;
		padding-top:30px;
		padding-bottom:30px;
}

.text-dark *:not(.btn) {
	color:var(--clay-color)!important;
}

.text-light *:not(.btn) {
	color:#fff!important;
}

.bubble {
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
    background: var(--kraft-color);
    z-index: -1;
    border-radius: 60px 60px 120px 60px;
}
.bubble::before {
    position: absolute;
    content: "";
    left: 0;
    top: 35%;
    width: 200%;
    height: 30%;
    border: 50px dotted var(--kraft-color);
    opacity: .15;
    transform: scale(2) rotate(0deg);
}
.bubble::after {
    content: " ";
    position: absolute;
    bottom: -21px;
    left: 7em;
    background: var(--kraft-color);
    width: 100px;
    height: 100px;
    transform: skew(328deg, 325deg) rotate(-21deg);
    border-radius: 10px;
}

@media (max-width: 992px) {
	.bubble {
    top: -8%;
    height: 115%;
    border-radius: 100px;
	}
}

a.popup-embed:hover i {
    -webkit-animation: beat 1s infinite;
}

.table-wrapper { width: 100%; margin: 40px 0; overflow-x: auto; }
.flexible-table { margin: 0 auto; font-size: 18px; color:#8c9398; }
.block thead { border-bottom: 1px solid #ddd; }
.block th { text-align: left; padding: 10px 60px 20px 20px; margin-bottom:10px; color: var(--terracotta-color); }
.block td { padding: 20px 60px 20px 20px; }
table.acf-dynamic-table {
    width: 100%;
    font-size:1.4em;
}
.block tbody tr{
    border-top:1px solid #eee;
    transition:.1s;
    background:transparent;
}
.block tbody tr:hover{
    background:#eee;   
}

hr { 
    display: inline-block; 
    width: 100%;
		border-top-width: 5px;
    border-top-style: dotted;
    opacity: .5;
}
hr.wide { 
    margin: 40px 0; 
}
hr.medium{
    margin:20px 0;
}
hr.narrow{
    margin:10px 0;   
}
hr.full{
    width:200%;
    margin-left:-50%;
}
hr.hr-footer { margin: 0; }
hr.invisible { visibility: hidden; }

#clients .col-md-4, #clients .col-md-12{background-position:center center; background-size:60% auto;height:120px;background-repeat:no-repeat;opacity:.8;}

/* Calendar */

#ai1ec-container{
     margin-bottom:100px;   
}

@media (max-width: 992px) {
	
	.flexible-text-image {
		padding-bottom: calc(100% - 160px);
	}
	
	.flexible-text-image .col-md-6 {
		background-color: white;
	}
	
	.flexible-image {
		height: 50%;
		width: 125%;
		left: 0;
	}
	
	.col-md-offset-6 + .flexible-image {
		right: 0;
		left: auto;
	}
	
	.text-block{
		padding: 40px!important;
	}
	
	td {
	    white-space: nowrap;   
	}
	
	.block.text img {
			margin: 0 auto;
			float: none;
	}
		
}

@media (max-width: 768px) {

	.flexible-text-image {
		padding-bottom: 0;
		margin-bottom: 0;
		overflow: hidden;
	}
	
	.text-image .flexible-text-image:first-of-type .col-md-6 {
		padding-top: 0;
	}
	
	.flexible-text-image .col-xs-12 img {
		border-radius: 20px 20px 100px 20px;
	}
	
}

/* ==========================================================================
Flexible Table Display
========================================================================== */
.table { height: 100%; margin-bottom: 0; position: relative; }
.table-row { display: table-row; height: 100%; }
.table-cell { display: table-cell; height: 100%; }
.flex-image-right { position: absolute; right: 0; }
.flex-image-left { position: absolute; left: 0; }


/* ==========================================================================
Contact
========================================================================== */
.up-btn { width: 50px; height: 50px; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; -o-border-radius: 50%; background: rgba(67, 102, 81, 0.5); display: block; margin: 0 auto; color: #fff; font-size: 18px; line-height: 46px; text-align: center; position: absolute; top: -26px; left: 0; right: 0; margin-left: auto; margin-right: auto; }
.up-btn:hover, up-btn:focus { color: #fff; background: rgba(67, 102, 81, 1); }
.contact-details { margin: 200px 0 0; }
.contact-details h2 { font-size: 20px; color:#fff!important; }
.contact-details h2::after{border-color:#fff!important;}
.contact-details p, .contact-details a { color:#fff; }
.contact-details h2 span { display: block; color: #fff; text-transform: uppercase; letter-spacing: 1px; font-size: 14px; margin-top: 15px; }
.contact-wrap { position: relative; }


/* ==========================================================================
Footer
========================================================================== */

#footerLogo img {
	max-width:200px;
}

body > footer {
	& h1, h2, h3, h4, h5, h6, p {
		color:#fff;   
	}
}

body > footer{
    padding: 0;  
    background:var(--terracotta-color);
    position: relative;
    overflow: hidden;
}

body > footer hr { 
  opacity:.2;
  margin:30px 0;
}

body > footer h2 {
    color: var(--sand-color);
}

body > footer #mailing div{
  margin-bottom:20px;
}

#footerMenu, 
#footerLocation, 
#footerHours, 
#footerNav, 
#footerLogo {
	padding-top: 35px;
}

#footerConnect p{
  margin:0;
}
#footerConnect .connection{
    transition: .2s;
    display: inline-block;
    margin-left: 20px;
    padding: 10px 20px 10px 5px;
    border-radius: 5px;
}
@media (max-width:992px) {
    #footerConnect, #mailing {
        width:100%;
    }
}
@media (max-width:767px) {
    #footerConnect .connection{
        width:100%;
        margin-left:0;
    }
		#footerMenu,
		footer ul.navbar-nav {
			text-align: center;
			float: none!important;
		}
}
@media (max-width:600px) {
		#footerMenu,
		#footerLocation {
			padding-top: 0;
		}
}
footer ul.navbar-nav i {
    margin-right: 5px;
    width: 1em;
		text-align:center;
}
#footerConnect hr{
    margin:-3px 0 5px;   
}

.footer-cta li { border-bottom: 1px solid rgba(255,255,255,0.1); }
.footer-cta li:last-child { border-bottom: none; }
.footer-cta ul { list-style-type: none; padding-left: 0; }

#footerMenu ul.navbar-nav { float:left; margin: 0 0 1em;  line-height: 25px; font-size: 18px; padding:0; }
#footerMenu .navbar-nav>li a {
    padding: 0 50px 24px 0;
    text-shadow: none;
		color: #fff;
}
#footerMenu .navbar-nav>li {
    float: none;
}
#footerMenu .navbar-nav ul{
    padding-left:0;
    margin-top:0;
    font-size:.8em;
}

@media (min-width: 1401px) and (max-width:1650px) {
	
    #footerMenu .navbar-nav>li a {
      padding: 0 20px 24px 0;
    }   
		
}
@media (min-width:1160px) and (max-width: 1400px) {
	
    #footerMenu .navbar-nav>li a {
      padding: 0 20px 24px 0;
    }   
		
}

@media (max-width: 1160px) {
    
    #footerMenu .navbar-nav > li ul{
      display:none;   
    }
    #footerMenu ul.navbar-nav{
      width:100%;
    }
    #footerMenu .navbar-nav>li a{
      padding-right:0;   
    }
    
}

.footer-cta .cta-links a { color: #fff!important; font-style: italic; padding: 12px 0; display:inline-block; font-size: 1.2em; }
.footer-cta a[href^="tel"] { padding: 0; }
.footer-cta i.fa { color: #fff; margin: 60px 0 0; }
.footer-cta { background-color: #f7921e; }
.footer-cta, .footer-copyright { position: relative; }
body > footer li{list-style-type:none;}
.footer-copyright {
  font-family: "Josefin Sans", sans-serif;
  margin-top: 50px;
  padding: 10px 0;
  display: block;
  clear: left;
  background: rgba(0,0,0,0.1);
}
.footer-copyright {
  & p, a {	
		font-size: 10px; 
		text-transform: uppercase; 
		color: #fff;
		mix-blend-mode: soft-light;
	}
}
.footer-cta { padding: 60px 0 100px; background-attachment: fixed; background-size: cover; }
section.footer-cta h1, section.footer-cta p { color: #fff!important; }
.footer-cta li a { width: 100%; }
.footer-cta li a:hover { background: rgba(255,255,255,0.02); }
footer #socialbox a { color: #fff!important; }
footer #socialbox { background: rgb(67,73,102); }
ul.legals { list-style: none; color: #fff; line-height: 25px; }
ul.legals li { display: inline-block; }
ul.legals li::after { content: " |"; }
ul.legals li:last-child::after { content: ""; }
.legals { text-align: left; }
.credit { text-align: center; }

/* ==========================================================================
FlexSlider Custom CSS
========================================================================== */
#servicesSlider { margin-top: 70px; }
#servicesSlider p{ color:#434966!important; }
ul.slides li { margin-bottom: 20px; }

/* SmashBalloon Facebook feed */

h3.cff-header{
    font-size:2em;
    margin:0.67em 0;
}
.cff-wrapper-ctn{
    overflow:visible!important;   
}
.cff-item {
    border:none!important;
    background: hsl(264deg 100% 98%);
    margin-bottom: 10px!important;
    padding: 10px!important;
    border-radius: 5px;
    position:relative;
    transition:.2s;
}
.cff-item:hover {
    filter: brightness(103%);
    transform: scale(1.02);
}
.cff-post-links{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;   
}
a.cff-viewpost-facebook {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}
#cff .cff-share-container{
    display:none;   
}
p.cff-media-link {
    display: none!important;
}