header {
    padding: 0;
    margin: 0;
    z-index: 10;
    text-align: center;
}

.top,
.bottom {
    padding: 25px;
    z-index: 2;
    margin: 0 auto;
}

header .logo {
    z-index: 1;
    padding: 0;
}

header .logo > div > div:nth-of-type(1) {
    text-transform: capitalize;
    margin: 0 0 0 -0.05em;
    font-weight: 400;
    line-height: 1.2em;
}

header .logo > div > div:nth-of-type(1),
header .logo > div > div:nth-of-type(1) + div {
    margin-bottom: 0.05em;
}


header .logo > div > div:nth-of-type(2),
header .logo > div > div:nth-of-type(3) {
    font-weight: 400;
    line-height: 1.2em;
}

header .logo > div > div:nth-of-type(1)[class*="Large"] {
    font-size: 2em;
}

header .logo > div > div:nth-of-type(1)[class*="Medium"] {
    font-size: 1.6em;
}

header .logo > div > div:nth-of-type(1)[class*="Small"] {
    font-size: 1.2em;
}

header .logo > div > div:nth-of-type(2)[class*="Large"],
header .logo > div > div:nth-of-type(3)[class*="Large"] {
    font-size: 0.9em;
}

header .logo > div > div:nth-of-type(2)[class*="Medium"],
header .logo > div > div:nth-of-type(3)[class*="Medium"] {
    font-size: 0.8em;
}

header .logo > div > div:nth-of-type(2)[class*="Small"],
header .logo > div > div:nth-of-type(3)[class*="Small"] {
    font-size: 0.7em;
}

.logo > img {
    margin: 0 10px 0 0;
}

.logo:not([custom-logo]) > img {
    display: none;
}

[custom-logo] > img {
    width: 100%;
}

[custom-logo].custom-logo-portrait > img {
    max-width: auto;
}

[custom-logo][small].custom-logo-portrait > img {
    max-height: 50px;
}

[custom-logo][medium].custom-logo-portrait > img {
    max-height: 100px;
}

[custom-logo][large].custom-logo-portrait > img {
    max-height: 150px;
}

[custom-logo].custom-logo-landscape > img {
    max-height: auto;
}

[custom-logo][small].custom-logo-landscape > img {
    max-width: 200px;
}

[custom-logo][medium].custom-logo-landscape > img {
    max-width: 300px;
}

[custom-logo][large].custom-logo-landscape > img {
    max-width: 400px;
}

[custom-logo][inline] > img,
[custom-logo][inline] > img ~ #pnlheader {
    display: inline-block;
    vertical-align: middle;
}

[custom-logo][alone] > img ~ #pnlheader {
    display: none;
}

.cover,
.tagline {
    text-align: left;
    padding: 0;
}

.hero {
    position: absolute;
    z-index: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: opacity 0.3s cubic-bezier(0.0, 0.0, 0.2, 1) 0.3s;
    transition: opacity 0.3s cubic-bezier(0.0, 0.0, 0.2, 1) 0.3s;
    opacity: 0;
}

.hero {
    box-shadow: inset 0 0 0 10px rgba(255, 255, 255, 0.75);
}

.page-photogallery .PhotoPanel > div,
.img-container {
    box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.75);
}

[parallax] .hero {
    background-attachment: fixed;
}

.mobile-device [parallax] .hero,
.tablet [parallax] .hero {
    background-attachment: initial;
}

.hero.lazy-loaded {
    opacity: 1;
}

.cover img:nth-of-type(2),
.tagline img:nth-of-type(2) {
    -webkit-transition: opacity 0.6s cubic-bezier(0.0, 0.0, 0.2, 1) 0.5s;
    transition: opacity 0.6s cubic-bezier(0.0, 0.0, 0.2, 1) 0.5s;
}

.overlay,
.overlay[style*="log"]:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity 0.3s cubic-bezier(0.0, 0.0, 0.2, 1) 0.1s;
    transition: opacity 0.3s cubic-bezier(0.0, 0.0, 0.2, 1) 0.1s;
    opacity: 0;
}

.overlay[style*="log"] {
    background-size: cover;
    background-position: center;
}

.hero.lazy-loaded ~ .overlay[style*="log"]:after {
    opacity: 0.3;
}

.hero.lazy-loaded[style*="photo-1"] ~ .overlay {
    opacity: 0.4;
}

.hero.lazy-loaded[style*="photo-2"] ~ .overlay {
    opacity: 0.4;
}

.hero.lazy-loaded[style*="photo-3"] ~ .overlay {
    opacity: 0.5;
}

.hero.lazy-loaded[style*="photo-4"] ~ .overlay {
    opacity: 0.4;
}

.hero.lazy-loaded[style*="photo-1"],
.tablet [interior] .cover .hero.lazy-loaded[style*="photo-1"],
.mobile-device [interior] .cover .hero.lazy-loaded[style*="photo-1"] {
    background-position: 44% 10%;
}

.hero.lazy-loaded[style*="photo-2"],
.tablet [interior] .cover .hero.lazy-loaded[style*="photo-2"],
.mobile-device [interior] .cover .hero.lazy-loaded[style*="photo-2"] {
    background-position: 58% 40%;
}

.hero.lazy-loaded[style*="photo-3"],
.tablet [interior] .cover .hero.lazy-loaded[style*="photo-3"],
.mobile-device [interior] .cover .hero.lazy-loaded[style*="photo-3"] {
    background-position: 25% 30%;
}

.hero.lazy-loaded[style*="photo-4"],
.tablet [interior] .cover .hero.lazy-loaded[style*="photo-4"],
.mobile-device [interior] .cover .hero.lazy-loaded[style*="photo-4"] {
    background-position: 75% center;
}

[interior] .cover .hero.lazy-loaded[style*="photo-1"] {
    background-position: 44% -50px;
}

[interior] .cover .hero.lazy-loaded[style*="photo-2"] {
    background-position: 58% -50px;
}

[interior] .cover .hero.lazy-loaded[style*="photo-3"] {
    background-position: 25% -100px;
}

[interior] .cover .hero.lazy-loaded[style*="photo-4"] {
    background-position: 75% -120px;
}

.hero.lazy-loaded ~ .shadow-bottom {
    opacity: 0.5;
}

.hero.lazy-loaded ~ .shadow-top {
    opacity: 0.3;
}

.hero.lazy-loaded ~ a.phone-cta {
    -webkit-transition-delay: 0s!important;
    transition-delay: 0s!important;
}

[class*="repeating-element-"] {
    z-index:2;
    display: block;
    height: 50px;
    width: 100%;
    background-repeat: repeat-x;
    background-position: center bottom;
}

.shadow-top {
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    width: 100%;
    opacity: 0;
}

.shadow-bottom {
    display: block;
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: 100%;
    height: 100px;
    opacity: 0;
}

.mobile .shadow-bottom {
    height: 100px!important;
    opacity: 0.2!important;
}

.cover .container:not(.top),
.tagline .container {
    position: relative;
    z-index: 2;
    padding-top: 200px;
    padding-bottom: 250px;
}

[interior] .cover .container:not(.top) {
    padding-top: 150px;
    padding-bottom: 200px;
}

.tagline [class*="ps-col"] > div {
    display: none;
}

[interior] .cover .breadcrumbs {
    font-size: 0.6em;
    -webkit-transition-delay: 0.3s!important;
    transition-delay: 0.3s!important;
    display: block;
    margin: 0 0 0 0;
}

[interior] .cover .breadcrumbs a {
    display: inline-block;
    padding: 0.5em;
    font-size: 1em;
    line-height: 1.5em;
    font-weight: 700;
    letter-spacing: 0.02em;
    border-radius: 10px;
    font-style: normal;
    -webkit-transition: opacity 0.3s cubic-bezier(0.0, 0.0, 0.2, 1) 0.1s;
    transition: opacity 0.3s cubic-bezier(0.0, 0.0, 0.2, 1) 0.1s;
    opacity: 0.8;
}

[interior] .cover .breadcrumbs a:hover {
    opacity: 1;
}

[interior] .cover .breadcrumbs a:after {
    content: '>';
    line-height: 1.2em;
    display: inline-block;
    vertical-align: top;
    margin: 0 0 0 5px;
}

[interior] .cover .breadcrumbs a:nth-last-of-type(2):after {
    display: none;
}

[interior] .cover .breadcrumbs a .sub-arrow {
    display: none;
}

[interior] .cover .breadcrumbs a:last-child {
    display: none;
}

.tagline .container {
    padding-top: 250px;
    padding-bottom: 250px;
}

.cover .container p,
.tagline .container p {
    font-size: 1.2em;
    line-height: 1.4em;
    margin: 0 0 1em 0;
    max-width: 800px;
    font-weight: 400;
    font-style: italic;
}

.cover .btn:nth-of-type(1):before,
.tagline .btn:nth-of-type(1):before {
    content: '';
    display: block;
}

.cover .container .big-text,
.tagline .container .big-text,
form[action*="thankyoupage"] .cover .big-text:before,
form[action*="thankyouPage"] .cover .big-text:before {
    font-size: 3.5em;
    font-style: normal;
    line-height: 1.2em;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin-bottom: 0.25em;
}

.cover [class*="col-"] {
    -webkit-transition-delay: 0.3s!important;
    transition-delay: 0.3s!important;
}

.cover [class*="col-"],
.tagline [class*="col-"] {
    padding-top: 0;
    padding-bottom: 25px;
    border-left: 2px solid #fff;
}

.cover.stylized-image-off .container {
    display: none;
}

.cover .phone-cta {
    z-index: 2;
    margin: 0;
}

.cover .phone-cta [id*="phoneControl"],
.cover [id*="phoneControl"] {
    display: none;
}

.cover .phone-cta {
}

@media screen and (max-width:840px) {
    .hero {
    }
    .cover .top {
        padding-top: 25px;
    }
    .cover .container,
    .cover .top,
    .tagline .container {
        padding-left: 25px!important;
        padding-right: 25px!important;
    }
    [interior] .cover .container .big-text,
    [interior] .tagline .container .big-text {
        margin-bottom: 25px;
    }
}

@media screen and (max-width:720px) {
    .cover .phone-cta {
        position: relative;
        top: initial;
        right: initial;
    }
    header .logo {
        text-align: left;
        padding-right: 0!important;
    }
    header .top {
        padding-left: 10px;
        padding-right: 10px;
        text-align: center;
    }
    .cover .container {
        padding: 100px 0;
    }
    .tagline .container {
        padding: 200px 0;
    }
    .cover .container p,
    .tagline .container p {
        font-size: 1.1em;
    }
    .cover .container .big-text,
    .tagline .container .big-text,
    form[action*="thankyoupage"] .cover .big-text:before,
    form[action*="thankyouPage"] .cover .big-text:before {
        font-size: 2.2em;
    }
}

@media screen and (min-width:721px) and (max-height:840px) {
    html:not(.mobile-device) .cover .container {
        padding-top: 100px;
        padding-bottom: 150px;
    }
    html:not(.mobile-device) [interior] .cover .container {
        padding-top: 75px;
        padding-bottom: 125px;
    }
    html:not(.mobile-device) [interior] .tagline .container {
        padding: 175px 0;
    }
    html:not(.mobile-device) .tagline .container {
        padding: 175px 0;
    }
}

@media screen and (min-width:721px) and (max-height:600px) {
    html:not(.mobile-device) [interior] .cover .container,
    html:not(.mobile-device) .cover .container {
        padding-top: 50px;
        padding-bottom: 100px;
    }
    html:not(.mobile-device) [interior] .tagline .container,
    html:not(.mobile-device) .tagline .container {
        padding: 125px 0;
    }
}