html, body {
height:100%;
}
body {
font-family: 'Lato', sans-serif;
padding: 0px;
margin: 0px;
color: #2e2426;
}
a:link {
text-decoration: none;
color: #ff4749; 
   -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 {
text-decoration: none;
color: #ff4749; 
   -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: .8;
}
a:active {
text-decoration: none;
opacity: .8;
}
a.page-link:link, a.page-link:visited {
border-bottom: 1px solid rgba(37, 31, 32, .6);
opacity: .8;
color: #2e2426;
}
* {
box-sizing: padding-box;
}
/*  ============================================================================= HEADING STYLES */
h1 {
font-size: 33px;
font-family: 'Fjalla One', sans-serif;
}
h2 {
color: #fff;
font-size: 20px;
font-weight: 700;
position: absolute;
bottom: 50px;
left: 70px;
text-shadow: 1px 1px 2px #000;
text-transform: uppercase;
}
h3 {
font-size: 17px;
}
/*  ============================================================================= BUTTON STYLES */
.cta-btn:link {
display: inline-block;
background: #ff4749\7;
background: rgba(255, 71, 73, .7);
color: #fff;
padding: 14px 30px;
margin: 5px;
font-size: 13px;
font-weight: 700;
line-height: normal;
text-shadow: none;
}
.cta-btn:visited {
color: #fff;
}
.cta-btn2:link {
display: inline-block;
background-color: #ff4749;
color: #fff;
padding: 14px 30px;
margin: 5px;
font-size: 13px;
font-weight: 700;
line-height: normal;
text-shadow: none;
}
.cta-btn2:visited {
color: #fff;
}
/*  ============================================================================= HEADER STYLES */
header {
position: fixed;
left: 0;
right: 0;
height: 130px;
z-index: 99;
text-align: right;
background: #251f20\0;
background: rgba(37, 31, 32, .0);
-webkit-transition: all .5s; /* For Safari 3.1 to 6.0 */
transition: all .5s;
}
header.scrollHeader {
background: #251f20\10;
background: rgba(37, 31, 32, 1.0);
height: 70px;
}
.logo {
max-width: 220px;
position: absolute;
left: 70px;
top: 25px;
-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: 40px 30px 0 0;
-webkit-transition: all .5s; /* For Safari 3.1 to 6.0 */
transition: all .5s;
}
.navigation.scrollNav {
padding: 15px 30px 0 0;
}
.social-icons {
position: absolute;
right: 40px;
top: 46px;
-webkit-transition: all .5s; /* For Safari 3.1 to 6.0 */
transition: all .5s;
}
.social-icons.scrollSocial {
right: 40px;
top: 21px;
}
.social-icons a:link, .social-icons a:visited {
color: #fff;
display: inline-block;
margin: 0 3px;
padding: 5px;
}
/*  ============================================================================= HOME PAGE STYLES */
@keyframes typing {
from{width: 0; opacity: 0;}
to{width: 90%; opacity: 1.0;}
}
@keyframes linkFade {
from{opacity: 0;}
to{opacity: 1.0;}
}
.image-caption {
position: absolute;
left: 0;
right: 0;
top: 35%;
text-align: center;
z-index: 2;
}
.large-cap {
font-size: 8vw;
font-weight: 900;
display: block;
background: linear-gradient(rgba(255,255,255,.2), rgba(255,255,255,1));
background-clip: text;
text-fill-color: transparent;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
overflow: hidden;
animation: typing 2s ease-in-out 1s 1 normal both;
text-align: center;
margin: 0 auto;
}
.linkFade {
animation: linkFade 2s ease-in-out 2s 1 normal both;
}
.small-cap {
font-size: 1.5vw;
font-weight: 700;
letter-spacing: .3vw;
text-indent: .3vw;
display: block;
margin: 25px 0;
text-transform: uppercase;
text-shadow: 1px 1px 2px #000;
}
.cap-divide {
border-bottom: 1px solid rgba(255, 255, 255, 0.6);
max-width: 470px;
margin: 30px auto;
}
.intro-text {
font-size: 22px;
line-height: 45px;
font-weight: 300;
max-width: 1000px;
margin: 20px auto;
padding: 5px 20px 30px;
text-align: center;
}
.home-text {
font-size: 22px;
line-height: 45px;
font-weight: 300;
max-width: 1000px;
margin: 20px auto;
padding: 30px 20px;
text-align: center;
}
.home-heros {
position: relative;
background-color: #2e2426;
}
.home-heros img {
width: 100%;
display: block;
margin: 0;
opacity: .6;
}
.home-hero-caption {
position: absolute;
left: 0;
right: 0;
top: 30%;
text-align: center;
color: #fff;
text-shadow: 2px 2px 3px #000;
font-size: 3vw;
font-weight: 900;
}
/*  ============================================================================= GRID STYLES */
.grid-container {
display: grid;
grid-template-columns: auto auto auto auto;
margin: 0;
padding: 0;
background-color: #231f20;
}
.grid-item {
padding: 0;
margin: 0;
position: relative;
}
.grid-container a:link, .grid-container a:visited {
color: #fff;
}
.grid-item img {
width: 100%;
display: block;
padding: 0;
margin: 0;
}
.grid-caption {
margin: 0 auto;
color: #fff;
font-size: 26px;
font-weight: 700;
position: absolute;
left: 50px;
top: 20%;
font-style: italic;
}
.grid-sub-heading {
font-size: 16px;
font-weight: 400;
}
.item1, .item2, .item3, .item4 {
position: relative;
overflow: hidden;
}
.item1 img, .item2 img, .item3 img, .item4 img {
display: block;
margin: 0;
padding: 0;
opacity: .6;
-webkit-transition: all 1s; /* For Safari 3.1 to 6.0 */
transition: all 1s;
}
.item1 img:hover, .item2 img:hover, .item3 img:hover, .item4 img:hover {
-webkit-transform: scale(1.04);
 transform: scale(1.04);
 opacity: 1.0;
}
/*  ============================================================================= INTERNAL PAGE STYLES */
.heros {
position: relative;
}
.heros img {
display: block;
margin: 0;
width: 100%;
}
.page-intro {
font-size: 20px;
font-weight: 300;
max-width: 1000px;
margin: 0 auto;
padding: 20px 20px 40px;
text-align: center;
line-height: 38px;
}
.page-heading {
font-size: 33px;
font-weight: 700;
line-height: 67px;
}
.bg-heros {
position: relative;
background-color: #251f20;
}
.bg-heros img {
display: block;
margin: 0;
width: 100%;
}
.hero-cap {
color: #fff;
font-size: 17px;
font-weight: 400;
line-height: 38px;
position: absolute;
top: 10px;
left: 0;
right: 0;
max-width: 1200px;
margin: 0 auto;
background: #251f20\6;
background: rgba(37, 31, 32, .6);
padding: 20px;
text-shadow: 1px 1px 2px #000;
}
.contact-container {
max-width: 900px;
margin: 0 auto;
padding: 0 20px;
font-size: 17px;
line-height: 36px;
}
.container1 {
max-width: 1000px;
margin: 20px auto;
padding: 40px 20px;
font-size: 20px;
font-weight: 300;
line-height: 42px;
}
.container1 img {
border-radius: 1px;
}
.container2 {
max-width: 1000px;
margin: 20px auto;
padding: 40px 20px;
font-size: 17px;
font-weight: 300;
line-height: 38px;
}
.span-container {
margin: 20px 40px;
padding: 20px;
font-size: 20px;
font-weight: 300;
line-height: 42px;
}
.page-photos {
max-width: 400px;
width: 100%;
display: inline-block;
margin: 5px 15px;
border-radius: 1px;
}
.links {
margin: 0;
padding: 0;
}
.links li {
display: inline-block;
vertical-align: top;
width: 33%;
margin: 0;
padding: 0;
text-align: justify;
}
.links li a:link, .links li a:visited {
padding: 14px 0;
color: #2e2426;
display: block;
margin: 10px;
text-align: center;
border: 1px solid rgba(0, 0, 0, 0.1);
}
/*  ============================================================================= DIVIDER BUG STYLES */
.divider-bug {
margin: 50px 0 0;
position: relative;
min-height: 60px;
}
.divider-bug img {
width: 110px;
margin: 0 auto;
display: block;
position: absolute;
top: -27px;
left: 0;
right: 0;
z-index: 1;
background-color: #fff;
padding: 0 15px;
}
.divider-bug span {
position: absolute;
height: 5px;
border-bottom: 1px solid #bfbbbc;
border-top: 1px solid #bfbbbc;
top: 0;
right: 0;
left: 0;
margin: 0 auto;
display: block;
width: 100%;
z-index: 0;
}
/*  ============================================================================= FOOTER STYLES */
footer {
background-color: #251f20;
color: #fff;
padding: 60px 20px;
margin: 0;
text-align: center;
font-weight: 300;
}
.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: #251f20;
}
.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.3);
}
.site-map {
max-width: 600px;
padding: 50px 0;
margin: 0 auto;
}
.site-map a:link, .site-map a:visited {
color: #fff;
display: block;
margin: 8px;
font-size: 13px;
font-weight: 400;
}
.footer-info-links a:link {
display: inline-block;
}
.copyright {
margin: 50px 80px 0 0;
font-size: 14px;
text-align: right;
}
/*  ============================================================================= CONTACT FORM STYLES */
label {
font-weight: 700;
font-size: 15px;
}
input[type=text], select, textarea {
width: 97%;
padding: 17px 12px;
border: 1px solid rgba(37, 31, 32, .2);
box-sizing: border-box;
margin-bottom: 8px;
resize: vertical;
font-family: 'Lato', sans-serif;
}
.container1 button {
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;
}
.container1 button:hover {
opacity: .7;
}
input[type=text]:focus {
border: 0;
}
div.field {
clear: both;
}
div.specialfield {
display: none;
}
/*  ============================================================================= MISC. STYLES */
.divide {
background: #000\1;
background: rgba(0, 0, 0, .1);
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: #000\1;
background: rgba(0, 0, 0, .1);
height: 1px;
margin: 30px 0;
}
.justified-gallery img:hover {
opacity: .8;
}
.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;
}
.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%;
}
.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;
}
