html, body {
height:100%;
}
body {
font-family: 'Lato', sans-serif;
padding: 0px;
margin: 0px;
color: #332f32;
}
a:link {
color: #000;
text-decoration: none;
   -webkit-transition: color .25s ease-in;
   -moz-transition: color .25s ease-in;
   -o-transition: color .25s ease-in;
   -ms-transition: color .25s ease-in;
   transition: color .25s ease-in;
}
a:visited {
color: #000;
text-decoration: none;
   -webkit-transition: color .25s ease-in;
   -moz-transition: color .25s ease-in;
   -o-transition: color .25s ease-in;
   -ms-transition: color .25s ease-in;
   transition: color .25s ease-in;
}
a:hover {
opacity: .6;
}
a:active {
opacity: .6;
}
* {
box-sizing: padding-box;
}
/*  ============================================================================= HEADING STYLES */
h1 {

}
h2 {

}
/*  ============================================================================= BUTTON STYLES */
.cta-btn:link {
display: inline-block;
background: #3333fa\7;
background: rgba(52, 51, 251, .7);
color: #fff;
padding: 14px 30px;
margin: 5px;
font-size: 13px;
font-weight: 700;
line-height: normal;
text-shadow: none;
text-decoration: none;
}
.cta-btn:visited {
color: #fff;
text-decoration: none;
}
.cta-btn2:link {
display: inline-block;
background: #fb374a\8;
background: rgba(251, 55, 74, .8);
color: #fff;
padding: 14px 30px;
margin: 5px;
font-size: 13px;
font-weight: 700;
line-height: normal;
text-shadow: none;
text-decoration: none;
}
.cta-btn2:visited {
color: #fff;
text-decoration: none;
}
.cta-btn3:link {
display: inline-block;
background: #000\6;
background: rgba(0, 0, 0, .6);
color: #fff;
padding: 14px 30px;
margin: 5px;
font-size: 13px;
font-weight: 700;
line-height: normal;
text-shadow: none;
text-decoration: none;
}
.cta-btn3:visited {
color: #fff;
text-decoration: none;
}
.cta-btn4:link {
display: inline-block;
background: #fff\9;
background: rgba(255, 255, 255, .9);
color: #332f32;
padding: 14px 30px;
margin: 5px;
font-size: 13px;
font-weight: 700;
line-height: normal;
text-shadow: none;
text-decoration: none;
}
.cta-btn4:visited {
color: #332f32;
text-decoration: none;
}
.cta-btn5:link {
display: inline-block;
background: #000\1;
background: rgba(0, 0, 0, .1);
color: #fff;
border: 2px solid rgba(255, 255, 255, 1.0);
padding: 14px 30px;
margin: 5px;
font-size: 13px;
font-weight: 700;
line-height: normal;
text-shadow: none;
text-decoration: none;
}
.cta-btn5:visited {
color: #fff;
border: 2px solid rgba(255, 255, 255, .8);
text-decoration: none;
}
/*  ============================================================================= HEADER STYLES */
header {
position: fixed;
left: 0;
right: 0;
height: 130px;
z-index: 5;
text-align: right;
background: #332f32\0;
background: rgba(51, 47, 50, .0);
border-bottom: 1px solid rgba(51, 47, 50, .0);
-webkit-transition: all .5s; /* For Safari 3.1 to 6.0 */
transition: all .5s;
}
header.scrollHeader {
background: #332f32\8;
background: rgba(51, 47, 50, .8);
border-bottom: 1px solid rgba(255, 255, 255, .0);
height: 70px;
}
.logo {
max-width: 170px;
position: absolute;
left: 50px;
top: 30px;
z-index: 2;
-webkit-transition: all .5s; /* For Safari 3.1 to 6.0 */
transition: all .5s;
}
.logo img {
width: 100%;
}
.logo.scrollLogo {
max-width: 60px;
top: 5px;
}
.navigation {
padding: 48px 250px 0 0;
-webkit-transition: all .5s; /* For Safari 3.1 to 6.0 */
transition: all .5s;
}
.navigation.scrollNav {
padding: 15px 250px 0 0;
}
.social-icons {
position: absolute;
right: 30px;
top: 54px;
-webkit-transition: all .5s; /* For Safari 3.1 to 6.0 */
transition: all .5s;
}
.social-icons.scrollSocial {
right: 30px;
top: 21px;
}
.social-icons a:link, .social-icons a:visited {
color: #fff;
display: inline-block;
margin: 0 2px;
padding: 4px;
}
a.menu-highlight:link, a.menu-highlight:visited {
border: 1px solid rgba(255, 255, 255, 0.3);
padding: 8px 10px;
text-decoration: none;
font-size: 13px;
font-weight: 900;
}
/*  ============================================================================= HOME PAGE STYLES */
.main-image-wrap {
position: fixed;
height: 80vh;
overflow: hidden;
}
.main-image {
position: relative;
height: 100vh;
}
.main-image img {
display: block;
width: 100vw;
height: 100%;
object-fit: cover;
}
.main-image-overlay {
position: absolute;
height: 80vh;
width: 100%;
top: 0;
left: 0;
z-index: 1;
background-image: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.7));
}
.main-image-spacer {
height: 80vh;
}
.image-caption {
position: absolute;
right: 0;
left: 0;
bottom: 10%;
text-align: center;
color: #fff;
z-index: 2;
}
.large-cap {
font-size: 4vw;
display: block;
font-weight: 900;
color: #fff;
}
.medium-cap {
font-size: 1.5vw;
font-weight: 700;
letter-spacing: .3vw;
text-indent: .3vw;
display: block;
margin: 25px 0 0;

text-transform: uppercase;
text-shadow: 1px 1px 2px #000;
}
.small-cap {
font-size: 2vw;
display: block;
opacity: .9;
font-weight: 700;
text-shadow: 1px 1px 1px #000;
}
.cap-divide {
border-bottom-color: rgba(255, 255, 255, 0.6);
border-bottom-width: 1px;
border-bottom-style: solid;
max-width: 470px;
margin: 20px auto;
}
.intro-text {
font-size: 22px;
line-height: 45px;
font-weight: 300;
max-width: 1000px;
margin: 0 auto 20px;
padding: 5px 20px 30px;
text-align: center;
}
.intro-text h1, .intro-text h2 {
font-size: 36px;
font-weight: 700;
}
.smallh1 {
display: block;
font-size: 18px;
letter-spacing: 10px;
font-weight: 700;
text-transform: uppercase;
}
.home-heros {
position: relative;
height: 70vh;
overflow: hidden;
}
.home-heros img {
display: block;
width: 100vw;
height: 70vh;
object-fit: cover;
}
.hero-image-caption {
position: absolute;
left: 0;
right: 0;
bottom: 10%;
text-align: center;

color: #fff;
z-index: 2;
}
/*  ============================================================================= GRID STYLES */
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
margin: 0 10px;
padding: 10px 0;
grid-column-gap: 10px;
height: 20vh;
}
.block-links {
position: relative;
overflow: hidden;
background-color: #332f32;
height: 20vh;
}
.block-caption {
margin: 0 auto;
color: #fff;
font-size: 26px;
font-weight: 700;
position: absolute;
left: 0;
right: 0;
top: 20%;
text-align: center;
}
.block-links h1 {
font-size: 30px;
font-weight: normal;
text-shadow: 1px 1px 1px #000;
}
.block-links img {
display: block;
width: 100vw;
height: 20vh;
object-fit: cover;
margin: 0;
padding: 0;
opacity: .4;
-webkit-transition: all 1s; /* For Safari 3.1 to 6.0 */
transition: all 1s;
}
.block-links:hover img {
-webkit-transform: scale(1.04);
 transform: scale(1.04);
 opacity: 1.0;
}
.item1 {
grid-area: picture;
}
.item2 {
grid-area: text;
}
.picture-left {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-areas: 
	'picture text';
margin: 0;
padding: 0;
height: 50vh;
background-color: #e5dedc;
}
.picture-right {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-areas: 
	'text picture';
margin: 0;
padding: 0;
height: 50vh;
background-color: #e5dedc;
}
.item1, .item2 {
overflow: hidden;
position: relative;
height: 50vh;
}
.item1 img {
width: 100%;
height: auto;
display: block;
object-fit: cover;
}
.block-padding {
font-size: 18px;
font-weight: 300;
line-height: 170%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 90%;
margin: 0 auto;
}
.block-padding h2 {
font-size: 35px;
font-weight: 300;
}
.heading {
display: block;
font-size: 34px;
font-weight: 300;
}
.sub-heading {
display: block;
font-size: 14px;
letter-spacing: 3px;
text-transform: uppercase;
font-weight: 900;
border-bottom: 1px solid rgba(43, 41, 37, .2);
}
/*  ============================================================================= HOME EVENT STYLES */
.home-events {

}
.home-events .event-display {
position: relative;
padding: 10px;
margin: 10px;
border-bottom: 1px dotted rgba(51, 47, 50, .2);
}
.home-events .event-display i {
position: absolute;
right: 5px;
top: 25px;
}
.home-events .event-display a:link, .home-events .event-display a:visited {
color: #332f32;
text-decoration: none;
}
.home-events .date-block {
display: inline-block;
text-align: center;
padding-right: 15px;
border-right: 2px solid #fff;
}
.home-events .event-day {
font-size: 30px;
line-height: 30px;
display: block;
font-weight: 700;
}
.home-events .event-month {
display: block;
padding: 0px 7px;
font-size: 14px;
line-height: 14px;
font-weight: 400;
}
.home-events .event-name {
font-size: 20px;
font-weight: 400;
display: inline-block;
vertical-align: top;
padding-left: 15px;
}
/*  ============================================================================= EVENT STYLES */
.eventWrap {
padding: 30px;
margin: 30px 0;
background-color: #fff;
}
.eventDate {
font-size: 16px;
font-weight: 300;
}
.eventName {
font-size: 30px;
font-weight: 400;
display: block;
border-bottom: 1px solid rgba(51, 47, 50, .1);
}
.eventTime {
font-size: 16px;
font-weight: 300;
}
.eventDesc {
display: block;
font-size: 18px;
line-height: 32px;
}
.eventPic {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
/*  ============================================================================= INTERNAL PAGE STYLES */
.heros {
position: relative;
}
.heros img {
width: 100%;
height: auto;
display: block;
margin: 0;
}
.hero-overlay {
position: absolute;
height: 200px;
width: 100%;
top: 0;
left: 0;
z-index: 1;
background-image: linear-gradient(rgba(51, 47, 50, .9), rgba(51, 47, 50, 0.0));
}
.hero-overlay2 {
position: absolute;
height: 200px;
width: 100%;
bottom: 0;
left: 0;
z-index: 1;
background-image: linear-gradient(rgba(51, 47, 50, .0), rgba(51, 47, 50, 0.5));
}
.heros h2 {
color: #fff;
font-size: 4vw;
font-weight: normal;
display: block;
position: absolute;
bottom: 50px;
left: 0;
right: 0;
z-index: 2;
text-transform: uppercase;
text-align: center;
}
.page-intro {
font-size: 20px;
font-weight: 300;
max-width: 1000px;
margin: 0 auto;
padding: 10px 20px;
text-align: center;
line-height: 38px;
}
.page-heading {
font-size: 33px;
font-weight: 700;
line-height: 67px;
}
.container-wrap {
background-color: #f5f2f2;
padding: 40px 0;
}
.contact-container {
max-width: 800px;
margin: 0 auto;
padding: 0 20px;
font-size: 17px;
line-height: 36px;
}
.large-container {
margin: 20px;
font-size: 20px;
font-weight: 300;
line-height: 42px;
}
.container {
max-width: 1200px;
margin: 20px auto;
padding: 0 20px 70px;
font-size: 20px;
font-weight: 300;
line-height: 42px;
}
.container a:link, .container a:visited {
border-bottom: 1px solid rgba(43, 41, 37, .8);
}
.container .cta-btn:link, .container .cta-btn:visited, .container .cta-btn2:link, .container .cta-btn2:visited, .container .cta-btn3:link, .container .cta-btn3:visited, .container .cta-btn4:link, .container .cta-btn4:visited, .container .cta-btn5:link, .container .cta-btn5:visited {
border-bottom: none;
}
/*  ============================================================================= ACTIVITIY GRID STYLES */
.activity-item1 {
grid-area: picture;
}
.activity-item2 {
grid-area: text;
}
.activity-picture-left {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-areas: 
	'picture text';
margin: 0;
padding: 0;
height: 70vh;
background-color: #e5dedc;
}
.activity-picture-right {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-areas: 
	'text picture';
margin: 0;
padding: 0;
height: 70vh;
background-color: #e5dedc;
}
.activity-item1, .activity-item2 {
overflow: hidden;
position: relative;
height: 70vh;
}
.activity-item1 img {
width: 100%;
height: 100%;
display: block;
object-fit: cover;
}
.activity-picture-left h3, .activity-picture-right h3 {
display: block;
font-size: 14px;
letter-spacing: 3px;
text-transform: uppercase;
font-weight: 900;
border-bottom: 1px solid rgba(43, 41, 37, .2);
}
.activity-heading {
font-size: 35px;
font-weight: 300;
border-bottom: none;
display: block;
}
.activity-picture-left p a:link, .activity-picture-left p a:visited, .activity-picture-right p a:link, .activity-picture-right p a:visited {
border-bottom: 1px solid rgba(43, 41, 37, .8);
}
/*  ============================================================================= FOOTER STYLES */
footer {
position: relative;
background-color: #332f32;
color: #fff;
padding: 60px 20px 10px;
margin: 0;
text-align: center;
font-weight: 300;
}
.site-map {
padding: 50px 0;
text-align: left;
width: 90%;
margin: 0 auto;
}
.site-map a:link {
color: #fff;
display: inline-block;
margin: 8px;
font-size: 14px;
font-weight: 400;
text-decoration: none;
}
.site-map a:visited {
color: #fff;
text-decoration: none;
}
footer .sub-heading {
display: block;
font-size: 14px;
letter-spacing: 2px;
text-transform: uppercase;
font-weight: 700;
padding-bottom: 5px;
margin-right: 20px;
border-bottom: 1px solid rgba(255, 255, 255, .2);
}
.footer-contact {
padding: 20px 20px 40px;
font-size: 22px;
line-height: 44px;
}
.footer-contact a:link, .footer-contact a:visited {
color: #fff;
}
.footer-contact .fa-inverse {
color: #343146;
}
.footer-quick-links {
text-align: center;
}
.footer-quick-links a:link, .footer-quick-links a:visited {
color: #fff;
display: inline-block;
margin: 8px;
padding: 10px 25px;
font-size: 14px;
font-weight: 400;
border: 1px solid rgba(255, 255, 255, 0.2);
text-decoration: none;
}
.copyright {
margin: 50px;
font-size: 14px;
text-align: center;
}
/*  ============================================================================= DIVIDE ICON STYLES */
.divide-icon {
margin: 50px 0 0;
position: relative;
min-height: 60px;
}
.divide-icon img {
width: 50px;
height: auto;
margin: 0 auto;
display: block;
position: absolute;
top: -20px;
left: 0;
right: 0;
z-index: 1;
background-color: #fff;
padding: 0 15px;
}
.divide-icon span {
position: absolute;
height: 5px;
border-bottom: 1px solid rgba(59, 80, 155, .3);
top: 0;
right: 0;
left: 0;
margin: 0 auto;
display: block;
width: 100%;
z-index: 0;
}
/*  ============================================================================= CONTACT FORM STYLES */
.dark-wrapper {
background: #332f32\8;
background: rgba(51, 47, 50, .8);
padding: 50px 20px;
}
label {
font-weight: 700;
font-size: 15px;
}
input[type=text], select, textarea {
width: 97%;
padding: 17px 12px;
border: none;
box-sizing: border-box;
margin-bottom: 8px;
resize: vertical;
font-family: 'Lato', sans-serif;
background-color: #f5f5f5;
}
button.g-recaptcha {
background-color: #ff453f;
color: #fff;
padding: 16px 20px;
text-align: center;
margin: 10px auto;
display: block;
width: 200px;
border: none;
font-weight: 700;
font-size: 14px;
text-transform: uppercase;
cursor: pointer;
}
button.g-recaptcha:hover {
opacity: .7;
}
button.g-recaptcha:focus {
border: 0;
}
div.field {
clear: both;
}
div.specialfield {
display: none;
}
/*  ============================================================================= MISC. STYLES */
.divide {
background: #000\2;
background: rgba(0, 0, 0, .2);
height: 1px;
max-width: 470px;
margin: 10px auto;
}
.divide-light {
background: #fff\1;
background: rgba(255, 255, 255, .1);
height: 1px;
margin: 10px 0;
}
.divide-dark {
background: #332f32\1;
background: rgba(51, 47, 50, .1);
height: 1px;
margin: 10px 0;
}
.map {
position: relative;
padding-bottom: 75%; // This is the aspect ratio
height: 0;
overflow: hidden;
}
.map iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}
.back-to-top {
background: none;
margin: 0;
position: fixed;
bottom: 0;
right: 0;
width: 70px;
height: 70px;
z-index: 100;
display: none;
text-decoration: none;
color: #ffffff;
display: none;
}
.back-to-top i {
font-size: 60px;
}
a.back-to-top:link, a.back-to-top:visited {
color: #ff4749;
}
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
}
 
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.desktop-only {
display: block;
}
.mobile-only {
display: none;
}