@import url(//fonts.googleapis.com/css?family=Montserrat:400|Raleway:300,400,600|Inconsolata);
/*#footer p,*/ 
#header #navbar .panel-activation, #header #navbar ul.navigation {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.button {
    display: inline-block;
    padding: 7px 20px
}

body, html {
    min-height: 101%!important
}

body {
    background: #fff;
    color: #444;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    transition: height 1s ease;
    -webkit-transition: height 1s ease
}

body>* {
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
    -webkit-transition: all -.4s ease
}

a {
    color: #1bb3e9
}

a:hover {
    color: #0e6e90
}

label, strong {
    font-weight: 600
}

#body {
    background: #fff;
    padding-top: 5rem
}

.left {
    float: left
}

.right {
    float: right
}

#body, #header {
    -webkit-transition: all .5s ease;
    transition: all .5s ease
}

#header {
    padding: 0 2rem
}

#header {
    position: fixed;
    z-index: 10;
    width: 100%;
    height: 5rem;
    background-color: rgba(0, 0, 0, .9);
    box-shadow: 0 .05rem 1rem rgba(0, 0, 0, .15)
}

#header #logo, #header #navbar {
    height: 100%
}

#logo img {
    width: 100%;
    min-width: 10rem;
    max-width: 250px;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

#header #logo {
    float: left
}

#header #navbar {
    font-size: .9rem
}

#header #navbar ul {
    margin: 0;
    padding: 0;
    list-style: none
}

#header #navbar ul.navigation {
    display: inline-block;
    float: right
}

#header #navbar ul.navigation li {
    float: left;
    position: relative;
    text-transform: uppercase
}

#header #navbar ul.navigation li a {
    font-family: Montserrat, Helvetica, Tahoma, Geneva, Arial, sans-serif;
    display: inline-block;
    padding: .3rem .8rem;
    color: #fff
}

#header #navbar ul.navigation li a:after, #header #navbar ul.navigation li a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #1bb3e9;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}

#header #navbar ul.navigation li.active a:after, #header #navbar ul.navigation li a:hover:before {
    visibility: visible;
    -webkit-transform: scaleX(.75);
    transform: scaleX(.75)
}

#header #navbar ul.navigation li.active a:after {
    top: 0
}

#header #navbar ul.navigation li:last-of-type.active a:after {
    top: 0;
    visibility: visible;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    background-color: #1bb3e9
}

#header #navbar ul.navigation li:last-of-type {
    border: 1px solid #1bb3e9;
    border-radius: 15px
}

#header #navbar ul.navigation li:last-of-type:focus, #header #navbar ul.navigation li:last-of-type:hover {
    background-color: #1bb3e9;
    color: #fff
}

#header #navbar .panel-activation {
    padding: 1rem;
    display: none;
    font-size: 1.8rem;
    cursor: pointer;
    float: right
}

@media only all and (max-width:75rem) {
    #header #navbar .panel-activation {
        display: inline-block
    }
    #header #navbar ul.navigation {
        display: none
    }
}

#footer {
    position: relative;
    background: #000;
    right: 0;
    bottom: 0;
    left: 0;
    color: #999;
    text-align: center;
    padding: 4rem 1rem 1rem
}

#footer a:hover {
    color: #fff
}

#footer .totop {
    position: absolute;
    top: -1rem;
    text-align: center;
    left: 0;
    right: 0;
    z-index: 5
}

#footer .totop span {
    font-size: 1.7rem;
    line-height: 2.5rem;
    background: #000;
    width: 3rem;
    height: 2rem;
    border-radius: 3px;
    display: inline-block;
    text-align: top
}

#footer p {
    margin: 0
}

body, button, html, input, textarea {
    font-family: Raleway, Helvetica, Tahoma, Geneva, Arial, sans-serif;
    font-weight: 400
}

h1, h2, h3, h4, h5 {
    font-family: Montserrat, Helvetica, Tahoma, Geneva, Arial, sans-serif;
    font-weight: 400;
    text-rendering: optimizeLegibility;
    letter-spacing: 0
}

h1 {
    font-size: 3.2rem
}

@media only all and (max-width:47.938em) {
    h1 {
        font-size: 2.5rem;
        line-height: 1.2;
        margin-bottom: 2.5rem
    }
}

@media only all and (min-width:48em) and (max-width:59.938em) {
    h2 {
        font-size: 2.1rem
    }
}

@media only all and (max-width:47.938em) {
    h2 {
        font-size: 2rem
    }
}

@media only all and (min-width:48em) and (max-width:59.938em) {
    h3 {
        font-size: 1.7rem
    }
}

@media only all and (max-width:47.938em) {
    h3 {
        font-size: 1.6rem
    }
}

@media only all and (min-width:48em) and (max-width:59.938em) {
    h4 {
        font-size: 1.35rem
    }
}

@media only all and (max-width:47.938em) {
    h4 {
        font-size: 1.25rem
    }
}

h1 {
    text-align: center;
    letter-spacing: -3px
}

h2 {
    letter-spacing: -2px
}

h3 {
    letter-spacing: -1px
}

h2+h3 {
    margin: .5rem 0 2rem;
    font-size: 2rem;
    line-height: 1;
    text-align: center;
    font-family: Raleway, Helvetica, Tahoma, Geneva, Arial, sans-serif;
    font-weight: 300
}

@media only all and (min-width:48em) and (max-width:59.938em) {
    h2+h3 {
        font-size: 1.6rem
    }
}

@media only all and (max-width:47.938em) {
    h2+h3 {
        font-size: 1.5rem
    }
}

blockquote {
    border-left: 10px solid #f0f2f4
}

blockquote p {
    font-size: 1.1rem;
    color: #999
}

blockquote cite {
    display: block;
    text-align: right;
    color: #666;
    font-size: 1.2rem
}

hr {
    border-bottom: 4px solid #f0f2f4
}

input[type=email], input[type=number], input[type=text], textarea {
    background-color: transparent;
    color: #fff;
    border: 1px solid #ddd;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, .06)
}

input[type=email]:hover, input[type=number]:hover, input[type=text]:hover, textarea:hover {
    border-color: #c4c4c4
}

input[type=email]:focus, input[type=number]:focus, input[type=text]:focus, textarea:focus {
    border-color: #1bb3e9;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, .06), 0 0 5px rgba(21, 163, 214, .7)
}

.form-field .required {
    color: #f3443f;
    font-size: 3rem;
    line-height: 3rem;
    vertical-align: top;
    height: 1.5rem;
    display: inline-block
}

form .buttons {
    text-align: center
}

form input {
    font-weight: 400
}

button.button { color: white; }

.button {
    background: transparent;
    /*color: #fff;*/
    border: 1px solid #1bb3e9;
    border-radius: 3px
}

.button:hover {
    background: #1bb3e9;
    color: #fff
}

.button:active {
    box-shadow: 0 1px 0 #118ab5
}

.sb-slidebar {
    background-color: #333!important
}

#panel {
    padding-top: 1rem;
    color: #ddd
}

#panel .navigation {
    list-style: none;
    padding: 0
}

#panel .navigation li {
    border-bottom: 1px solid #3d3d3d
}

#panel .navigation li a {
    color: #ddd;
    display: block;
    padding: .5rem 1rem;
    font-weight: 600
}

#panel .navigation li a:hover {
    color: #fff;
    background-color: #262626
}

#panel .navigation li a:last-child {
    border-bottom: 0
}

#panel .navigation li.active>a {
    background: #fff;
    color: #444
}

#panel .navigation li.active>a:hover {
    color: #444
}

#panel .navigation li:first-child {
    border-top: 1px solid #3d3d3d
}

.blog-header {
    padding-top: 8rem;
    padding-bottom: 8rem
}

.blog-header.blog-header-image {
    background-size: cover;
    background-position: 50%
}

.blog-header.blog-header-image h1 {
    color: #fff
}

.blog-header h1 {
    font-size: 2rem;
    margin-top: 0;
    letter-spacing: -1px
}

@media only all and (min-width:48em) and (max-width:59.938em) {
    .blog-header h1 {
        font-size: 3rem
    }
}

@media only all and (max-width:47.938em) {
    .blog-header h1 {
        font-size: 2.5rem;
        line-height: 1.2;
        margin-bottom: 2.5rem
    }
}

.list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.list-item:last-child {
    border-bottom: 0
}

.list-item>footer {
    -ms-flex: 1;
    flex: 1;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-top: 1rem
}

.list-item>footer, .list-item>footer>div {
    -webkit-box-flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.list-item>footer>div {
    -ms-flex: 1;
    flex: 1;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.list-item>footer>div>span:first-of-type {
    margin-right: .5rem
}

.list-item .list-blog-header {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -ms-flex-preferred-size: auto;
    flex-basis: auto
}

.list-item .list-blog-header h4 {
    margin-bottom: 1rem;
    line-height: 1.4;
    font-size: 1.1rem;
    text-transform: uppercase
}

.list-item .list-blog-header h4 a {
    color: #444
}

.list-item .list-blog-header h4 a:hover {
    color: #1bb3e9
}

.list-item .list-blog-header>div:first-of-type {
    height: 300px;
    overflow: hidden
}

.list-item .list-blog-header img {
    display: block;
    margin-top: 1rem;
    border-radius: 3px;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.list-item .list-blog-date {
    float: right;
    text-align: center
}

.list-item .list-blog-padding {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -ms-flex-preferred-size: auto;
    flex-basis: auto
}

.list-blog-author:before, .list-blog-date:before {
    content: " ";
    width: .9rem;
    height: .9rem;
    display: inline-block;
    margin-right: .1rem;
    opacity: .4
}

.list-blog-author:before {
    background: url(/media/images/social-2.svg) no-repeat bottom
}

.list-blog-date:before {
    background: url(/media/images/interface.svg) no-repeat bottom
}

.blog-content-item {
    max-width: 45rem;
    margin: auto;
    padding: 0 1.5rem
}

.blog-content-item h1 {
    text-align: left;
    font-size: 2.2rem;
    letter-spacing: -1px;
    line-height: 1.5
}

.blog-tags {
    color: #ccc
}

.blog-tags a {
    display: inline-block;
    font-size: .8rem;
    margin-bottom: .2rem;
    text-transform: uppercase
}

.prev-next {
    margin-top: 5rem;
    text-align: center
}

.callout {
    background: #f6f6f6;
    padding: 6rem .938rem
}

@media only all and (max-width:59.938em) {
    .callout {
        text-align: center
    }
}

.service-section, .service-section-pano {
    position: relative;
    line-height: 0
}

.service-section {
    min-height: 60rem;
    transition: height 1s ease;
    -webkit-transition: height 1s ease
}

#home-welcome {
    background-repeat: no-repeat;
    background-position: 50%;
    background-attachment: fixed;
    background-size: cover
}

.service-section {
    overflow: hidden;
    z-index: 0;
    will-change: transform
}

.service-section>div:not(:first-of-type) {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0
}

.service-section>div:first-of-type {
    position: absolute;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: top;
    background-size: cover;
    z-index: -10;
    display: block;
    top: 0;
    left: 0;
    min-height: 130%;
    max-width: 200%;
    min-height: 40rem;
    min-width: 100%;
    margin: auto;
    transition: height 1s ease;
    -webkit-transition: height 1s ease
}

@media only screen and (orientation:landscape) {
    @media (max-device-aspect-ratio: 3/4) and (device-width: 768px) {
        #header {
            background-color: grey
        }
        .service-section>div:first-of-type {
            position: absolute;
            background-attachment: scroll;
            background-repeat: no-repeat;
            background-size: 1px 1px;
            background-position: -1px 0;
            margin: auto;
            top: 0;
            left: -1px;
            z-index: -10;
            overflow: hidden;
            display: block
        }
        .service-section>div:first-of-type:before {
            content: "";
            background-image: inherit;
            position: fixed;
            top: 0;
            left: 0;
            min-height: calc(100vw * .75 + 9%);
            min-width: calc(100vw + 9%);
            margin: auto;
            background-position: top;
            background-size: cover;
            z-index: -10;
            will-change: transform;
            pointer-events: none
        }
    }
}

.service-section>div.cta {
    height: 100%
}

.service-section>div.cta>a>img {
    max-height: 50vh
}

.service-section>div.cta>a {
    display: inline-block;
    position: absolute;
    top: 25%
}

.service-section>div.cta.left>a {
    left: 2rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.service-section>div.cta.center>a {
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.service-section>div.cta.right>a {
    right: 2rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.service-section-pano>div:first-of-type {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    z-index: 0;
    min-height: 70vh;
    background: #000 url(/media/images/Vermillion-360-bg.jpg) no-repeat;
    background-size: cover
}

.service-section-pano>div:nth-of-type(2)>div:first-of-type, .service-section>div>div:first-of-type {
    position: absolute;
    width: 100%;
    text-align: center;
    z-index: 2;
    -webkit-transform: translate3d(0, -60%, 0);
    transform: translate3d(0, -60%, 0)
}

.service-section-pano>div:nth-of-type(2)>div:first-of-type>img, .service-section>div>div:first-of-type>img {
    max-width: 5rem;
    min-width: 4rem;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #fff
}

.service-section-pano>div:nth-of-type(2)>div:last-of-type, .service-section>div>div:last-of-type {
    position: relative;
    width: 100%;
    overflow: hidden;
    bottom: 0;
    z-index: 1;
    line-height: 1.7;
    padding-top: 1.5rem;
    min-height: 25rem;
    padding: 2rem 0
}

.service-section>div>div:only-of-type {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.service-section>div>div:last-of-type.gold {
    background-color: rgba(207, 163, 65, .9)
}

.service-section>div>div:last-of-type.turq {
    background-color: rgba(159, 201, 175, .9)
}

.service-section-pano>div:nth-of-type(2)>div:last-of-type.red, .service-section>div>div:last-of-type.red {
    background-color: hsla(2, 73%, 71%, .9)
}

.service-section>div>div:last-of-type.blue {
    background-color: rgba(97, 143, 153, .9)
}

.service-section>div>div:last-of-type.purple {
    background-color: rgba(181, 135, 161, .9)
}

.service-section-pano>div:nth-of-type(2)>div:last-of-type>div, .service-section>div>div:last-of-type>div {
    width: 80%;
    max-width: 60rem;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    font-size: 1.3rem
}

.service-section-pano>div:nth-of-type(2)>div:last-of-type>div a, .service-section>div>div:last-of-type>div a {
    color: #fff;
    font-weight: 700;
    border-bottom: 1px dashed #fff;
    -webkit-transition: border-bottom .4s ease-out;
    transition: border-bottom .4s ease-out
}

.service-section-pano>div:nth-of-type(2)>div:last-of-type>div a:focus, .service-section-pano>div:nth-of-type(2)>div:last-of-type>div a:hover, .service-section>div>div:last-of-type>div a:focus, .service-section>div>div:last-of-type>div a:hover {
    border-bottom: 1px solid #333;
    color: #333
}

.service-section-pano>div:nth-of-type(2)>div:last-of-type>div>h3, .service-section>div>div:last-of-type>div>h3 {
    letter-spacing: normal;
    margin-bottom: 1.4rem;
    text-transform: uppercase
}

.service-section-pano>div:nth-of-type(2)>div:last-of-type>div>div, .service-section>div>div:last-of-type>div>div {
    margin: 2.5rem 0
}

.service-section-pano>div:nth-of-type(2)>div:last-of-type>div>div>a, .service-section>div>div:last-of-type>div>div>a {
    display: inline-block;
    border: 1px solid #fff;
    border-radius: 15px;
    padding: .7rem;
    color: #fff;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.service-section-pano>div:nth-of-type(2)>div:last-of-type>div>div>a:focus, .service-section-pano>div:nth-of-type(2)>div:last-of-type>div>div>a:hover, .service-section>div>div:last-of-type>div>div>a:focus, .service-section>div>div:last-of-type>div>div>a:hover {
    background-color: #fff;
    color: #333;
    border: 1px solid #fff
}

.service-section hr {
    border: 0;
    height: 1px;
    background-image: -webkit-linear-gradient(left, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, .75), hsla(0, 0%, 100%, 0));
    background-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, .75), hsla(0, 0%, 100%, 0))
}

#home-banner {
    position: relative;
    line-height: 1;
    background: #91cdd8;
    margin: 0 auto;
    text-align: center;
    height: calc(100vh - 5rem);
    min-height: 25rem
}

#home-banner>img {
    -o-object-fit: cover;
    object-fit: cover;
    bottom: 0;
    height: 100%
}

#home-banner-tagline, #home-banner>img {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

#home-banner-tagline {
    top: 40%;
    text-align: center;
    margin: 0 auto;
    width: calc(15rem + 20vw);
    max-width: 30rem
}

#home-banner-strap {
    position: absolute;
    bottom: 10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

#home-banner-strap>h4 {
    text-transform: uppercase;
    color: #fff;
    font-size: 1.4rem
}

#home-welcome {
    position: relative;
    background-color: #424542;
    background-size: cover
}

#home-welcome-body {
    text-align: center;
    width: 100%;
    margin: 0 auto;
    padding-top: 6rem
}

#home-welcome-text {
    text-align: center;
    margin: 5rem 0;
    max-width: 60rem;
    width: 80%;
    margin: 0 auto;
    color: #fff;
    font-size: 1.3rem
}

#home-welcome-text hr {
    border: 0;
    height: 1px;
    background-image: -webkit-linear-gradient(left, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, .75), hsla(0, 0%, 100%, 0));
    background-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, .75), hsla(0, 0%, 100%, 0))
}

#home-welcome-links {
    padding-bottom: 5rem
}

#home-welcome-links img {
    width: 100%;
    max-width: 80px;
    min-width: 4rem
}

#home-welcome-links a {
    margin: 0 3rem;
    display: inline-block
}

#home-welcome-links a:focus, #home-welcome-links a:hover {
    background-color: hsla(0, 0%, 100%, .9);
    height: 100%;
    border-radius: 50%;
    position: relative;
    max-height: 80px
}

#home-welcome-links h3 {
    color: #fff;
    margin: 4rem .4rem
}

#home-welcome-links>div {
    display: inline-block;
    margin: 1rem 0
}

#home-welcome-links>div h5 {
    color: #fff;
    text-transform: uppercase;
    margin: .1rem auto
}

.accreditations ul, .social ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none
}

.social a {
    display: inline-block;
    margin: 0 .1rem;
    border-radius: 50%;
    height: 64px;
    width: 64px
}

.social a:focus, .social a:hover {
    background-color: #6fb1ad
}

.social img {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

#footer .company-info {
    margin: 2rem 0 0;
    font-size: .7rem
}

#contact-us {
    overflow: hidden;
    background: #000 url(/media/images/contact-us-bg2.jpg) no-repeat bottom fixed;
    background-size: cover;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

#contact-us h1 {
    color: #fff
}

#contact-us form {
    padding: 3rem 1.5rem 5rem
}

#contact-us form label {
    color: #fff
}

[name*=ContactForm]>div>div {
    padding: 0 1.5rem
}

[name*=ContactForm] .buttons {
    -ms-flex-item-align: center;
    align-self: center
}

.home-carousel {
    padding: 2rem 0;
    margin: 0 auto;
    text-align: center
}

.home-carousel h2, .home-carousel h3 {
    color: #333
}

.home-carousel .owl-item>div {
    height: 200px;
    width: 200px;
    margin: 3rem 0;
    background-color: #fff
}

.home-carousel .owl-item>div>img {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-height: 150px;
    max-width: 150px
}

.home-testimonial {
    background-color: #fff;
    text-align: center;
    line-height: 0;
    padding-top: 3rem;
    background: url(/media/images/moose-testimonial-bg.jpg) no-repeat;
    background-attachment: fixed;
    background-position: 100% 100%;
    background-size: contain
}

.home-testimonial h2 {
    color: #333
}

.home-testimonial h3 {
    color: #00a99d
}

.testimonial-quote {
    line-height: normal;
    max-width: 50rem;
    margin: 3rem auto;
    text-align: center
}

.testimonial-quote:not(:last-of-type) {
    border-bottom: 1px solid hsla(0, 0%, 86%, .9)
}

.testimonial-quote>img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin: 0 auto;
    border: 1px solid #bbb;
    padding: .5rem
}

.testimonial-quote blockquote {
    border: none;
    position: relative;
    margin: 0 2rem
}

.testimonial-quote blockquote>div>p:after, .testimonial-quote blockquote>div>p:before {
    font-family: serif;
    font-style: normal;
    font-weight: 700;
    position: relative;
    font-size: 1.2rem;
    color: #bc93c8
}

.testimonial-quote blockquote>div>p {
    color: #888;
    font-style: italic;
    line-height: 1.5
}

.testimonial-quote blockquote>div>p:before {
    content: '\201C ';
    padding-right: .2rem
}

.testimonial-quote blockquote>div>p:after {
    content: '\201D';
    padding-left: .2rem
}

.testimonial-quote blockquote>footer {
    padding: 0 0 2rem
}

.testimonial-quote blockquote>footer>h4 {
    font-size: 1.1rem;
    font-weight: 700
}

.testimonial-quote blockquote>footer>cite:before {
    content: normal
}

.testimonial-quote blockquote>footer>cite {
    font-size: 1.1rem;
    text-align: center;
    font-style: normal
}

.testimonial-quote blockquote>footer>cite p {
    margin: 0;
    color: #00a99d
}

.testimonial-quote blockquote>footer>cite p:first-of-type {
    font-weight: 700
}

.text-block {
    text-align: center
}

.text-block h3 {
    text-transform: uppercase
}

.text-block p {
    max-width: 60rem;
    margin: 1.2rem auto
}

.hwhite>h3, .twhite>p, h3.twhite {
    color: #fff
}

.tblack>p {
    color: #000
}

.white {
    background-color: #fff
}

.black {
    background-color: #000
}

.gold {
    background-color: #cfa341
}

.turq {
    background-color: #9fc9af
}

.red {
    background-color: #eb837f
}

.blue {
    background-color: #618fc1
}

.purple {
    background-color: #b587a1
}

.g-recaptcha {
    margin: 0 0 2rem
}

.fgc, .fgr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    min-width: 16rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.fgc>div, .fgr>div {
    word-wrap: break-word;
    min-width: 16rem;
    padding: 1.75rem
}

.fgc>div, .fgr>div, .fgr>div:first-of-type:nth-last-of-type(1) {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.fgr>div>p, .fgr>div>ul {
    margin: .808rem auto
}

.fgr>div>h3 {
    text-align: center
}

.ga>div:nth-of-type(- n+2), .ga>div:nth-of-type(- n+2)~div {
    -webkit-box-flex: 2;
    -ms-flex: 2 1 auto;
    flex: 2 1 auto
}

.ag>div:nth-of-type(- n+2), .ag>div:nth-of-type(- n+2)~div {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto
}

.fa-bars:before {
    color: #fff
}

.resp-sharing-button {
    display: inline-block;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    -webkit-transition: background-color 25ms ease-out, border-color 25ms ease-out, opacity .25s ease-out;
    transition: background-color 25ms ease-out, border-color 25ms ease-out, opacity .25s ease-out;
    margin: .2em;
    padding: .1em .4em;
    font-family: Helvetica Neue, Helvetica, Arial, sans-serif
}

.resp-sharing-button__icon {
    display: inline-block
}

.resp-sharing-button__icon svg {
    width: 1em;
    height: 1em;
    margin-bottom: -.1em
}

.resp-sharing-button__icon {
    stroke: #fff;
    fill: none
}

.resp-sharing-button__icon--solid {
    fill: #fff;
    stroke: none
}

.resp-sharing-button__link {
    text-decoration: none;
    color: #fff
}

.resp-sharing-button--facebook {
    background-color: #3b5998;
    border-color: #3b5998
}

.resp-sharing-button--facebook:active, .resp-sharing-button--facebook:hover {
    background-color: #2d4373;
    border-color: #2d4373
}

.resp-sharing-button--twitter {
    background-color: #55acee;
    border-color: #55acee
}

.resp-sharing-button--twitter:active, .resp-sharing-button--twitter:hover {
    background-color: #2795e9;
    border-color: #2795e9
}

.resp-sharing-button--google {
    background-color: #dd4b39;
    border-color: #dd4b39
}

.resp-sharing-button--google:active, .resp-sharing-button--google:hover {
    background-color: #c23321;
    border-color: #c23321
}

.resp-sharing-button--email {
    background-color: #777;
    border-color: #777
}

.resp-sharing-button--pinterest {
    background-color: #bd081c;
    border-color: #bd081c
}

.resp-sharing-button--pinterest:active, .resp-sharing-button--pinterest:hover {
    background-color: #8c0615;
    border-color: #8c0615
}

.resp-sharing-button--linkedin {
    background-color: #0077b5;
    border-color: #0077b5
}

.resp-sharing-button--linkedin:active, .resp-sharing-button--linkedin:hover {
    background-color: #046293;
    border-color: #046293
}

.resp-sharing-button--reddit {
    background-color: #5f99cf;
    border-color: #5f99cf
}

.resp-sharing-button--reddit:active, .resp-sharing-button--reddit:hover {
    background-color: #3a80c1;
    border-color: #3a80c1
}

.resp-sharing-button--whatsapp {
    background-color: #25d366;
    border-color: #25d366
}

.resp-sharing-button--google:active, .resp-sharing-button--whatsapp:hover {
    background-color: #1da851;
    border-color: #1da851
}

@media screen and (min-width:48.125rem) {
    .fgr {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
    .service-section-pano>div:nth-of-type(2), .service-section>div {
        left: 0;
        right: 0;
        bottom: 0
    }
    .service-section-pano>div:nth-of-type(2)>div:first-of-type, .service-section>div>div:first-of-type {
        position: relative;
        width: 100%;
        text-align: center;
        z-index: 2;
        -webkit-transform: translate3d(0, 40%, 0);
        transform: translate3d(0, 40%, 0)
    }
    .service-section-pano>div:nth-of-type(2)>div:first-of-type {
        position: absolute;
        -webkit-transform: translate3d(0, -60%, 0);
        transform: translate3d(0, -60%, 0)
    }
    .service-section>div>div:only-of-type {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    .service-section-pano>div:nth-of-type(2)>div:first-of-type>img, .service-section>div>div:first-of-type>img {
        max-width: 5rem;
        min-width: 4rem;
        border-radius: 50%;
        background-color: #fff;
        border: 1px solid #fff
    }
    .feature-items {
        -ms-flex-line-pack: center;
        align-content: center
    }
    .list-item {
        max-width: 33%;
        -ms-flex-preferred-size: 33%!important;
        flex-basis: 33%!important
    }
}

.embed-block>div {
    max-width: 40rem;
    padding: 0;
    margin: 0
}

.embed-block>div>h3, .embed-block>div>p {
    margin: 0 1.75rem
}

.embed-block>div.text {
    text-align: center;
    -ms-flex-item-align: center;
    align-self: center
}

.embed-block>div.no-border {
    margin: 0;
    padding: 0;
    line-height: 0
}

.embed-block {
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-line-pack: center;
    align-content: center;
    padding: 3rem 1rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    min-height: 36rem
}

.embed-block>div:not(.text) {
    -ms-flex-item-align: center;
    align-self: center
}

.features {
    text-align: center;
    padding-top: 2.5rem
}

.features>p {
    max-width: 60rem;
    margin: 1.7rem auto
}

.feature-items {
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    -ms-grid-row-align: stretch;
    align-items: stretch
}

.feature-items img:not([width]) {
    max-width: 200px
}

.fgr>div.feature {
    min-width: 16rem;
    -webkit-flex: 1 1 16rem;
    max-width: 40rem
}

input.dial {
    width: 104px;
    height: 66px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    vertical-align: middle;
    border: 0;
    background-image: none;
    font-weight: 700;
    font-style: normal;
    font-variant-caps: normal;
    font-size: 40px;
    line-height: normal;
    font-family: Arial;
    text-align: center;
    color: #87ceeb;
    padding: 0;
    -webkit-appearance: none;
    background-position: 0 0;
    background-repeat: repeat;
    background-color: initial;
    box-shadow: none
}

.loader {
    margin: 60px auto;
    font-size: 10px;
    position: absolute;
    left: calc(50% - 10vh);
    top: 25vh;
    z-index: 1;
    text-indent: -99em;
    border-top: 1.1em solid hsla(0, 0%, 100%, .2);
    border-right: 1.1em solid hsla(0, 0%, 100%, .2);
    border-bottom: 1.1em solid hsla(0, 0%, 100%, .2);
    border-left: 1.1em solid #fff;
    -webkit-animation: a 1.1s infinite linear;
    animation: a 1.1s infinite linear
}

.loader, .loader:after {
    border-radius: 50%;
    width: 15vh;
    height: 15vh
}

@-webkit-keyframes a {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes a {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

#video-banner.service-section>div:first-of-type {
    position: relative;
    min-height: 50rem;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    z-index: auto;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    bottom: 0;
    overflow: initial;
    display: block
}

#video-banner.service-section>div>div:first-of-type {
    position: absolute;
    width: 100%;
    text-align: center;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none
}

#video-banner.service-section>div:first-of-type {
    min-height: 40rem;
    height: 100%;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: fixed
}

#video-banner.service-section>div:first-of-type>video {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -o-object-fit: cover;
    object-fit: cover;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    pointer-events: auto
}

div.blog-content-list>div.fgr {
    -webkit-box-pack: initial;
    -ms-flex-pack: initial;
    justify-content: initial
}

div.blog-content-list>div.fgr:last-of-type {
    margin-bottom: 3rem
}

div.byline {
    margin-bottom: 1rem
}

div.byline>span:last-of-type {
    float: right
}

@media only all and (max-width:48.125rem) {
    .embed-block>div:not(.text) {
        -ms-flex-item-align: initial;
        align-self: auto;
        width: 80vw
    }
    .embed-block>div.text>p {
        margin-bottom: 2rem
    }
    .embed-block>div.text>h3 {
        margin-top: 1.75rem
    }
    .fgr>div.feature {
        -wekit-flex: 1;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        min-width: 16rem;
        -ms-flex-item-align: center;
        align-self: center
    }
    .service-section-pano>div:nth-of-type(2)>div:last-of-type>div, .service-section>div>div:last-of-type>div {
        font-size: 1rem
    }
    #logo img {
        width: 100%;
        max-width: 200px
    }
    #home-banner-tagline {
        top: 30%
    }
    #home-banner-strap>h4 {
        font-size: .8rem;
        margin: .6rem .2rem
    }
    .service-section {
        overflow: initial;
        z-index: 0;
        line-height: 0;
        min-height: 0
    }
    .service-section, .service-section>div:not(:first-of-type) {
        position: relative
    }
    #video-banner.service-section>div:first-of-type {
        position: relative;
        min-height: 30rem;
        height: 90%
    }
    .service-section>div:first-of-type {
        position: relative;
        -webkit-backface-visibility: transparent;
        backface-visibility: transparent;
        background-repeat: no-repeat;
        background-attachment: scroll;
        background-size: cover;
        background-position: 50%;
        width: 100%;
        height: 100%;
        min-height: 50rem
    }
    .service-section>div>div:first-of-type {
        position: absolute;
        width: 100%;
        text-align: center;
        z-index: 2;
        -webkit-transform: translateY(-60%);
        transform: translateY(-60%)
    }
    .service-section>div>div:last-of-type {
        position: relative;
        width: 100%;
        overflow: hidden;
        bottom: 0;
        z-index: 1;
        line-height: 1.7;
        padding-top: 1.5rem;
        min-height: 25rem;
        padding: 2rem 0
    }
    .service-section>div>div:only-of-type {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@media only all and (max-width:22rem) {
    #logo img {
        max-width: 180px
    }
    #home-banner-tagline {
        top: 30%
    }
    #home-banner-strap>h4 {
        font-size: .6rem;
        margin: .5rem .1rem
    }
    #home-welcome-links>div {
        max-width: 49%;
        margin: 1rem 0
    }
    #home-welcome-links>div>h5 {
        margin: .1rem
    }
    .home-carousel .owl-item>div>img {
        max-height: 130px;
        max-width: 130px
    }
}
