/***************************************************************
# Tags
***************************************************************/

:root {
    --green: #88CA1E;
    --blue: #006B9D;
    --dark: #012534;
    --gradient: linear-gradient(0deg, rgba(136, 202, 30, 1) 0%, rgba(0, 172, 245, 1) 100%);
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    line-height: 1.6;
    font-family: 'myriad-pro', sans-serif;
    background: #f5f5f5;
}

h1,
h2,
h3,
h4,
h5,
ol,
ul {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

p {
    margin-bottom: 1rem;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: 'filson-pro', sans-serif;
    color: var(--blue);
}

video {
    max-width: 100%;
}


/***************************************************************
# Input
***************************************************************/

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
input[type="file"],
textarea {
    font-family: inherit;
    padding: 0.5em 1em;
    border-radius: 3rem;
    width: 100%;
    border: 1px solid #f3f3f3;
    background: white;
    text-align: inherit;
}

form label {
    font-weight: bold;
}


/***************************************************************
# Common
***************************************************************/

.site {
    overflow: hidden;
}

.container {
    max-width: 92rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 7%;
    padding-right: 7%;
}

.container--lg {
    max-width: 86rem;
}

.container--md {
    max-width: 64rem;
}

.container--sm {
    max-width: 64rem;
}

.container--fluid {
    max-width: 140rem;
}

.inner-margin {
    margin-top: 20%;
    margin-bottom: 20%;
}

.inner-padding {
    padding-top: 15%;
    padding-bottom: 15%;
}


.nav-previous a,
.nav-next a,
button.button,
input[type="button"].button,
input[type="reset"].button,
input[type="submit"].button,
.button {
    background: var(--green);
    color: white;
    text-decoration: none;
    padding: 0.6em 2.1em;
    display: block;
    border-radius: 4em;
    text-align: center;
    line-height: 1.2;
    font-size: 1.25rem;
    transition: filter .2s ease;
    border: none;
}

.nav-previous a,
.nav-next a,
.button:hover {
    color: white;
    text-decoration: none;
    filter: brightness(1.1);
}

button.button--dark,
input[type="button"].button--dark,
input[type="reset"].button--dark,
input[type="submit"].button--dark,
.button--dark {
    background: var(--dark);
}

.circle-image {
    padding: 50% 0;
    background: gainsboro;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.circle-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.circle-image__overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--gradient);
    z-index: 1;
    width: 80%;
    height: 80%;
    border-radius: 50%;
    mix-blend-mode: multiply;
}

.circle-image--reverse {
    background: var(--gradient);
}

.circle-image--reverse img {
    width: 85%;
    height: 85%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    mix-blend-mode: multiply;
}

.circle-image--reverse .circle-image__overlay {
    display: none;
}

.floating-circle {
    padding: 50% 0;
    background: var(--gradient);
    border-radius: 50%;
}


.section-heading {
    color: var(--blue);
    font-size: 3em;
    line-height: 1.2;
}

.section-text {
    font-size: 1.25rem;
}

.video-wrapper {

    padding: 56.25% 0 0;
    background: gainsboro;
    position: relative;
    overflow: hidden;
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/***************************************************************
# Page header
***************************************************************/

.page-header {
    position: relative;
    z-index: 1;
    padding: 50% 0 10%;
    color: white;
    text-align: center;
    margin-bottom: 12%;
}

.page-header__row {}

.page-header__title-wrapper {}

.page-header__title {
    font-size: 3.5rem;
    line-height: 1.2;
    color: inherit;
}

.page-header__title h1 {}

.page-header__image-wrapper {
    position: relative;
}

.page-header__image {
    padding: 50% 0;
    background: var(--gradient);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -85%) scale(1.5);
    width: 100%;
    z-index: -1;
    transform-origin: 50% 100%;
    overflow: hidden;
}

.page-header__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: multiply;
}




/***************************************************************
# Header
***************************************************************/

/* Layout */

.site-header {
    padding: 1rem 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

.site-header__row {
    display: flex;
    margin: 0 -1rem;
    justify-content: space-between;
    align-items: center;
}

.site-header__col {
    padding: 0 1rem;
}

.site-header__col--logo {}

.site-header__col--menu {
    display: none;
}

.site-header__col--button {}


/* Logo */

.site-header__logo {
    position: relative;
    max-width: 12rem;
    z-index: 1;
}

.site-header__logo img {}

.site-header__logo:after {
    display: block;
    content: "";
    width: 20rem;
    height: 20rem;
    position: absolute;
    background: white;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -70%);
    border-radius: 50%;
    z-index: -1;
    box-shadow: 0rem 0.2rem 1rem rgba(0, 0, 0, 0.05);
}


/* Menu */

.site-header__navigation {
    background: white;
    border-radius: 2rem;
    box-shadow: 0rem 0.2rem 1rem rgba(0, 0, 0, 0.05);
    padding: 0.5em 1rem;
    color: black;
    font-family: 'filson-pro', sans-serif;
    padding-right: 4em;
    margin-right: -3rem;
}

.site-header__navigation a {
    display: block;
    padding: 0.5em 0.8em;
    color: inherit;
    text-decoration: none;
}

.site-header__navigation .menu {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.site-header__navigation .menu-item {
    display: inline-block;
}

.site-header__navigation .sub-menu {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: none;
}


/* Button */

.site-header__button {
    width: 4em;
    height: 4em;
    background: var(--gradient);
    color: white;
    line-height: 0;
    position: relative;
    border-radius: 50%;
    z-index: 2;
    cursor: pointer;
}

.site-header__button svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40%;
}


/* Quick quote */

.site-header__quick-quote {
    display: inline-block;
    padding: 1.5em 2em;
    background: var(--gradient);
    color: white;
    text-decoration: none;
    font-family: 'filson-pro', sans-serif;
    border-radius: 2em;
    text-align: center;
}

.site-header__quick-quote:hover {
    color: white;
}



/***************************************************************
# Footer
***************************************************************/

.site-footer {
    background: var(--dark);
    color: white;
    /* font-family: 'filson-pro', sans-serif; */
    position: relative;
    z-index: 1;
    margin-top: 9%;
    font-family: 'filson-pro', sans-serif;
}

.site-footer__wave {
    position: absolute;
    left: -2%;
    width: 104%;
    height: auto;
    bottom: 99%;
    bottom: calc(100% - 2px);
    fill: var(--dark);
}

.site-footer__top,
.site-footer__bottom {
    padding: 2rem 0;
}

.site-footer__top {
    text-align: center;
}

.site-footer__bottom {
    border-top: 2px solid white;
    padding: 1rem 0;
    line-height: 2;
}




.site-footer__tagline {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.4;
    max-width: 7em;
    margin: 1rem auto;
}

.site-footer__contact {
    font-size: 1.5rem;
}

.site-footer__contact-item {
    margin: 1.4rem 0;
}

.site-footer__contact-label {}

.site-footer__contact-value {
    display: block;
    color: inherit;
    text-decoration: none;
    font-weight: bold;
}

.site-footer__contact-value:hover {
    color: inherit;
    text-decoration: underline;
}

.site-footer__navigation a {
    color: inherit;
    text-decoration: none;
}

.site-footer__navigation a:hover {
    text-decoration: underline;
}

.site-footer__navigation .menu {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.site-footer__navigation .menu-item {
    display: inline-block;
}

.site-footer__navigation .menu-item + .menu-item:before {
    display: inline-block;
    content: "-";
    margin: 0 0.5rem;
}







/***************************************************************
# Mobile menu
***************************************************************/

.mobile-menu {
    position: fixed;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100%;
    background: var(--blue);
    z-index: 1000000;
    color: white;
    transition: transform .5s ease;
    max-width: 30rem;
    text-align: center;
    font-family: 'filson-pro', sans-serif;
    background: var(--gradient);
    overflow: auto;
}

.mobile-menu--open {
    transform: translateX(-100%);
}

.mobile-menu__close {
    text-align: center;
    text-transform: uppercase;
    background: rgba(0, 0, 0, 0.2);
    font-size: 1.2rem;
    font-weight: bold;
    padding: 1rem;
}


.mobile-menu a {
    color: inherit;
    text-decoration: none;
}

.mobile-menu .menu {
    margin: 1rem 0;
    padding: 0;
    list-style-type: none;
    font-size: 1.2rem;
    text-shadow: 0.05em 0.05em 0.05em rgba(0, 0, 0, 0.5);
}

.mobile-menu .menu-item {
    transition: background-color .5s ease;
}

.mobile-menu .menu-item:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.mobile-menu .menu-item a {
    display: block;
    padding: 0.6rem 1rem;
}




















/***************************************************************
# Page > Home
***************************************************************/

/* Hero */
.page-template-home .hero {
    position: relative;
}

.page-template-home .hero__title {
    color: var(--blue);
    font-weight: bold;
    font-size: 3.2rem;
    line-height: 1.1;
    margin: 1rem 0;
    max-width: 10em;
    font-family: 'myriad-pro', sans-serif;
}

.page-template-home .hero__text {
    color: var(--blue);
    font-size: 1.875rem;
    line-height: 1.2;
    font-weight: bold;
    margin: 1rem 0;
}

.page-template-home .hero__row {}

.page-template-home .hero__text-wrapper {}

.page-template-home .hero__image-wrapper {
    margin-top: 43%;
}

.page-template-home .hero__image {
    transform: scale(1.9);
    transform-origin: 50% 100%;
}

.page-template-home .hero__floating-circle-wrapper {
    position: absolute;
    top: 100%;
    width: 70%;
    left: 80%;
    z-index: 1;
}

.page-template-home .about .container {
    position: relative;
}




/* About  */

.page-template-home .introduction {
    position: relative;
}

.page-template-home .about__image-container {}

.page-template-home .about__text-container {}

.page-template-home .about__image {
    width: 100%;
    transform: translateX(10%);
}

.page-template-home .about__title {
    color: var(--blue);
    font-weight: bold;
    font-size: 3.125rem;
    line-height: 1.1;
    margin: 1rem 0;
}

.page-template-home .about__text {
    color: var(--blue);
    font-size: 1.5rem;
    line-height: 1.4;
    margin: 1rem 0;
}

.page-template-home .about__floating-circle-wrapper {
    position: absolute;
    top: 95%;
    width: 58%;
    right: 100%;
    z-index: 1;
    transform: translateX(18%);
}


/* Services*/

.services {
    position: relative;
}

.services__row {
    max-width: 45rem;
    margin: 0 auto;
}

.services__title {
    text-align: center;
    color: var(--blue);
    font-size: 2.2rem;
}

.services__item {
    background: black;
    padding: 50% 10% 10%;
    border-radius: 2rem;
    margin: 2rem 0;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.services__item-title {
    font-size: 1.875rem;
    color: white;
    font-weight: bold;
    margin-bottom: 1rem;
}

.services__item-text {
    display: none;
    color: white;
    margin: 1rem 0;
    max-width: 20em;
}

.services__item img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: .73;
    object-fit: cover;
}

.page-template-home .services__floating-circle-wrapper {
    display: none;
    position: absolute;
    top: 95%;
    width: 15rem;
    left: 100%;
    z-index: 1;
    transform: translateX(-45%);
}


/* Switch */
.page-template-home .switch {
    position: relative;
}

.page-template-home .switch__title {
    color: var(--blue);
    font-weight: bold;
    font-size: 3.125rem;
    line-height: 1.1;
    margin: 1rem 0;
}

.page-template-home .switch__text {
    color: var(--blue);
    font-size: 1.5rem;
    line-height: 1.4;
    margin: 1rem 0;
}

.page-template-home .switch__image {
    width: 100%;
    transform: translateX(20%);
}

.page-template-home .switch__floating-circle-wrapper {
    position: absolute;
    top: 0%;
    width: 58%;
    left: 0;
    z-index: 1;
    transform: translateX(-75%);
}










/***************************************************************
# Page > About
***************************************************************/

/* Tagline */

.page-template-about .introduction {
    position: relative;
}

.page-template-about .introduction .floating-circle-wrapper {
    display: none;
    position: absolute;
    bottom: 87%;
    width: 14em;
    left: 85%;
}

.page-template-about .tagline .container {
    position: relative;
}

.page-template-about .tagline__text {
    color: var(--blue);
    font-size: 2rem;
    line-height: 1.2;
}

.page-template-about .tagline .floating-circle-wrapper {
    position: absolute;
    top: 0%;
    width: 91%;
    right: 93%;
    transform: translateY(-70%);
}



/* Testimonials */

.page-template-about .testimonials {}

.page-template-about .testimonials__swiper {
    position: relative;
}

.page-template-about .testimonials .swiper-button-container {
    display: flex;
    justify-content: space-between;
    margin: 1rem 0;
}

.page-template-about .testimonials .swiper-button-prev:after,
.page-template-about .testimonials .swiper-button-next:after {
    content: "";
    display: none;
}

.page-template-about .testimonials .swiper-button-prev svg,
.page-template-about .testimonials .swiper-button-next svg {
    width: 1.4rem;
}

.page-template-about .testimonials .swiper-button-prev,
.page-template-about .testimonials .swiper-button-next {
    width: auto;
    height: auto;
    color: var(--blue);
    margin: 0;
    position: static;
    width: 47%;
    background: white;
    padding: 1em;
}

.page-template-about .testimonials .swiper-button-prev {
    left: 0;
}

.page-template-about .testimonials .swiper-button-next {
    right: 0;
}


.page-template-about .testimonials__item {
    background: white;
    padding: 2em;
    border-radius: 1em;
    font-size: 1.25rem;
}

.page-template-about .testimonials__name {
    margin-top: 1rem;
    font-weight: bold;
}

.page-template-about .testimonials__quote {
    font-family: 'filson-pro', sans-serif;
    width: 5em;
    margin: 0 auto;
    color: var(--blue);
}





/* Members */

.page-template-about .team {}

.page-template-about .team__member {
    margin: 2rem 0;
}

.page-template-about .team__member-image {
    padding: 33% 0;
    background: gainsboro;
    overflow: hidden;
    border-radius: 2em;
    position: relative;
}

.page-template-about .team__member-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-template-about .team__member-name {
    color: var(--blue);
    font-size: 2em;
    font-weight: bold;
    line-height: 1.2;
    margin-top: 1rem;
}

.page-template-about .team__member-title {
    font-size: 1.5rem;
    color: var(--blue);
    line-height: 1.2;
}

.page-template-about .team__member-bio {
    display: block;
    margin-top: 1rem;
}







/***************************************************************
# Page > Quick Quote
***************************************************************/


.page-template-quick-quote .form-wrapper__row {
    max-width: 35rem;
    margin: 0 auto;
}


/***************************************************************
# Page > Service
***************************************************************/

.page-template-service {}

.page-template-service .introduction .container {
    position: relative;
    z-index: 2;
}

.page-template-service .introduction__floating-circle-wrapper {
    display: none;
    position: absolute;
}

.page-template-service .introduction__floating-circle-wrapper--1 {
    right: 105%;
    bottom: -10%;
}

.page-template-service .introduction__floating-circle-wrapper--2 {
    bottom: -7rem;
    left: 100%;
    width: 17rem;
    transform: translateX(-5rem);
}

/* Introduction */
.page-template-service .introduction__col {
    margin: 3rem 0;
}

.page-template-service .introduction__quick-quote-wrapper {
    margin-top: -25%;
    z-index: 1;
    position: relative;
}


/* Banner */
.page-template-service .banner {
    text-align: center;
    background: var(--gradient);
    color: white;
    margin-bottom: -10%;
    position: relative;
    z-index: 1;
    padding: 10% 0 6%;
}

.page-template-service .banner__heading {
    color: inherit;
    font-size: 2rem;
}

.page-template-service .banner__text {}

.page-template-service .banner__background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    object-fit: cover;
}

.page-template-service .banner__wave {
    position: absolute;
    top: -2px;
    left: -1%;
    width: 102%;
    height: auto;
    fill: #f5f5f5;
}







/***************************************************************
# Page > Switching
***************************************************************/

/* Introduction */
.page-template-switching .introduction {}

.page-template-switching .introduction .container {
    position: relative;
}

.page-template-switching .introduction__inner {}

.page-template-switching .introduction__image {
    margin-top: 3rem;
}

.page-template-switching .video {}

.page-template-switching .video .container {
    position: relative;
    z-index: 1;
}

.page-template-switching .video__floating-circle-wrapper {
    display: none;
    position: absolute;
    top: 0%;
    width: 22rem;
    right: 90%;
    z-index: -1;
    transform: translateY(-6rem);
}



/* Contact */
.page-template-switching .contact .container {
    position: relative;
}

.page-template-switching .contact__heading {
    font-size: 2rem;
    line-height: 1.2;
    font-weight: bold;
    color: var(--blue);
    margin-bottom: 2em;
}

.page-template-switching .contact__image {
    display: none;
    position: absolute;
    top: 15%;
    left: 70%;
    width: 25rem;
}







/***************************************************************
# Page > Contact
***************************************************************/


.page-template-contact .details__col {
    color: var(--dark);
}











/***************************************************************
# Posts > Default
***************************************************************/


.excerpt {}

.excerpt__image {
    padding: 35% 0;
    background: gainsboro;
    position: relative;
    border-radius: 1em;
    overflow: hidden;
}

.excerpt__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.excerpt__text {}

.excerpt__title {
    color: var(--dark);
}





.posts-container {}

.posts-container article {
    margin: 3rem 0;
}

.posts-container article + article {
    border-top: 1px solid #707070;
    padding-top: 3rem;
}

.posts-container .entry-title a {
    color: inherit;
    text-decoration: none;
}

.post-thumbnail {
    display: block;
    border-radius: 1rem;
    overflow: hidden;
    line-height: 0;
    margin: 1rem 0;
}

article .entry-title {
    color: var(--dark);
}




.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
    display: block;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous,
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    margin: 1rem 0;
}


/***************************************************************
# Element > Quick quote
***************************************************************/

.quick-quote {
    background: var(--gradient);
    line-height: 1.2;
    position: relative;
    margin-top: 20%;
    padding: 10% 0;
    text-align: center;
    margin-bottom: -10%;
    text-align: center;
}

.quick-quote__col--2 {
    margin-top: 2rem;
}

.quick-quote__wave {
    fill: #00acf5;
    position: absolute;
    left: 0;
    width: 100%;
    height: auto;
    bottom: 99%;
    bottom: calc(100% - 1px);
}


.quick-quote__circle-wrapper {
    max-width: 23rem;
    margin: 0px 8%;
}

.quick-quote__circle {
    background: var(--dark);
    color: white;
    text-align: center;
    padding: 50%;
    border-radius: 50%;
    position: relative;
    font-size: 4vw;
    line-height: 1.2;
    font-family: 'filson-pro', sans-serif;
}

.quick-quote__circle-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
}

.quick-quote__circle-title {
    font-weight: bold;
    font-size: 1.4em;
}

.quick-quote__circle-text {
    margin: 1em 0;
}

.quick-quote__circle-sub-text {
    font-size: 0.8em;
}

.quick-quote .nf-form-fields-required {
    display: none;
}

.quick-quote input.button {
    display: inline-block;
}



/***************************************************************
# Responsive
***************************************************************/

@media (min-width: 576px) {

    /* Common */
    .nav-previous a,
    .nav-next a,
    .button {
        display: inline-block;
    }

    /* Page header */

    .page-header {
        padding: 21% 0 9%;
    }

    .page-header__row {}

    .page-header__title-wrapper {}

    .page-header__image-wrapper {}

    .page-header__image {}

    .page-header__image img {
        top: initial;
        bottom: 0%;
        height: 40%;
    }

    /* Home */
    .page-template-home .hero__title {
        font-size: 3.125rem;
    }

    /* Quick Quote */
    .quick-quote__circle {
        font-size: 1.2rem;
    }

    /* Posts default */

    .comment-navigation .nav-links,
    .posts-navigation .nav-links,
    .post-navigation .nav-links {
        display: flex;
    }

    .comment-navigation .nav-previous,
    .posts-navigation .nav-previous,
    .post-navigation .nav-previous,
    .comment-navigation .nav-next,
    .posts-navigation .nav-next,
    .post-navigation .nav-next {}


}


@media (min-width: 768px) {

    /* Common */

    .container {
        padding-left: 4rem;
        padding-right: 4rem;
    }

    .inner-margin {
        margin-top: 5rem;
        margin-bottom: 5rem;
    }

    .inner-padding {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .section-heading {}


    /* Header */
    .site-header__logo {
        max-width: 15rem;
    }

    .site-header__logo:after {
        width: 25rem;
        height: 25rem;
    }



    /* Footer */

    .site-footer {}

    .site-footer__wave {}


    .site-footer__top {
        padding: 3rem 0 6rem;
    }

    .site-footer__tagline {
        max-width: none;
    }

    .site-footer__contact {
        display: flex;
        justify-content: center;
        margin: 1rem auto;
        max-width: 45rem;
    }

    .site-footer__contact-item {
        padding: 0 1rem;
        width: 50%;
    }

    .site-footer__bottom {
        padding: 1rem 0;
        margin-left: 10em;
        padding-left: 4em;
    }

    .site-footer__copyright {
        position: absolute;
        z-index: -1;
        left: 0;
        bottom: 0;
        padding: 1em 2em;
    }

    .site-footer__copyright:after {
        display: block;
        content: "";
        position: absolute;
        width: 16rem;
        height: 16rem;
        background: var(--gradient);
        border-radius: 50%;
        z-index: -1;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -30%);
    }



    /* Home */

    .page-template-home .hero {
        padding: 15% 0;
    }

    .page-template-home .hero__row {
        display: flex;
        align-items: center;
    }

    .page-template-home .hero__text-wrapper {
        margin-left: 5rem;
    }

    .page-template-home .hero__text {}

    .page-template-home .hero__image-wrapper {
        flex: 1;
        position: relative;
        margin: 0;
    }

    .page-template-home .hero__image {
        margin: 0;
        width: 70rem;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        max-width: 66rem;
    }

    .page-template-home .hero__floating-circle-wrapper {
        width: 14rem;
        left: 100%;
        transform: translateX(-40%);
        top: initial;
        bottom: 0%;
    }


    .page-template-home .about {
        padding: 10% 0;
    }

    .page-template-home .about__row {
        display: flex;
        flex-flow: row-reverse;
        align-items: center;
    }

    .page-template-home .about__image-container {
        flex: 1;
        position: relative;
    }

    .page-template-home .about__image {
        margin: 0;
        width: 35rem;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        max-width: 66rem;
    }

    .page-template-home .about__text-container {
        width: 24rem;
        margin-right: 7rem;
    }

    .page-template-home .about__floating-circle-wrapper {
        width: 22rem;
        right: 100%;
        transform: translateX(30%);
        top: initial;
        top: 72%;
    }

    .page-template-home .services__item {
        padding: 3rem 2rem;
    }

    .page-template-home .services__item-text {
        display: block;
    }

    .page-template-home .services__floating-circle-wrapper {
        display: block;
    }


    .page-template-home .switch {
        padding: 10% 0;
    }

    .page-template-home .switch__row {
        display: flex;
        align-items: center;
    }

    .page-template-home .switch__image-container {
        flex: 1;
        position: relative;
    }

    .page-template-home .switch__image {
        margin: 0;
        width: 37rem;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        max-width: 66rem;
    }

    .page-template-home .switch__text-container {
        width: 29rem;
        margin-left: 8rem;
    }

    .page-template-home .switch__floating-circle-wrapper {
        left: 90%;
        transform: none;
        width: 23rem;
        top: 62%;
    }








    /* About */

    .page-template-about .introduction .floating-circle-wrapper {
        display: block;
    }

    .page-template-about .tagline .floating-circle-wrapper {
        right: initial;
        width: 23rem;
        top: 70%;
        transform: translateY(-50%);
        left: 91%;
    }

    .page-template-about .team__member {
        display: flex;
        margin: 2rem -1rem;
    }

    .page-template-about .team__row {}

    .page-template-about .team__col {}


    .page-template-about .team__image-container {
        width: 36%;
        padding: 1rem;
        max-width: 25rem;
    }

    .page-template-about .team__text-container {
        flex: 1;
        padding: 1rem;
    }

    .page-template-about .team__member-image {
        padding: 50% 0;
    }

    .page-template-about .team__member-bio {
        display: block;
    }




    .page-template-about .testimonials__swiper {
        padding: 0 4rem;
    }

    .page-template-about .testimonials__item {
        position: relative;
        padding: 3rem;
        padding-left: 11rem;
    }

    .page-template-about .testimonials__quote {
        position: absolute;
        top: 50%;
        left: 3rem;
        width: 6rem;
        transform: translateY(-50%);
        text-align: center;
        font-size: 5em;
        margin: 0;
        line-height: 0;
    }

    .page-template-about .testimonials .swiper-button-container {
        margin: 0;
    }

    .page-template-about .testimonials .swiper-button-prev,
    .page-template-about .testimonials .swiper-button-next {
        position: absolute;
        background: none;
        width: auto;
        transform: translateY(-50%);
    }




    /* Page > Switching */
    .page-template-switching .introduction__inner {
        width: 52%;
    }

    .page-template-switching .introduction__image {
        position: absolute;
        top: 45%;
        left: 60%;
        width: 33rem;
        transform: translateY(-50%);
        margin: 0;
    }

    .page-template-switching .video__floating-circle-wrapper {
        display: block;
    }

    .page-template-switching .contact__form {
        max-width: 65%;
    }

    .page-template-switching .contact__image {
        display: block;
    }

    .page-template-switching .contact__form input.button {
        margin-left: auto;
    }


    /* Page > Quick Quote */
    .page-template-quick-quote .form-wrapper input.button {
        margin-left: auto;
    }





    /* Block > Quick Quote */

    .quick-quote {
        padding: 0 0 10%;
        text-align: initial;
    }

    .quick-quote__row {
        display: flex;
        margin: 0 -1rem;
        justify-content: center;
    }

    .quick-quote__col {
        margin: 0;
        padding: 0 1rem;
    }

    .quick-quote__col--1 {
        width: 23rem;
    }

    .quick-quote__col--2 {
        max-width: 33rem;
        flex: 1;
    }

    .quick-quote__circle-wrapper {
        margin: 0 auto;
        max-width: 19rem;
    }


}


@media (min-width: 992px) {

    /* Page > Service */

    .page-template-service .introduction {
        padding-bottom: 4rem;
    }

    .page-template-service .introduction__row {
        display: flex;
        margin: -1rem 0;
        flex-flow: row-reverse;
    }

    .page-template-service .introduction__col {
        padding: 0 1rem;
        width: 50%;
        margin: 0;
        position: relative;
    }

    .page-template-service .introduction__circle-wrapper {
        position: absolute;
        top: -2rem;
        right: 3rem;
        width: 37rem;
    }

    .page-template-service .introduction__quick-quote-wrapper {
        margin-top: 28rem;
        margin-left: auto;
        width: 19rem;
    }

    .page-template-service .introduction__floating-circle-wrapper--1 {}

    .page-template-service .introduction__floating-circle-wrapper--2 {
        display: block;
    }





    /* Page > Switching */

    .page-template-switching .contact__heading {
        font-size: 2.5rem;
        max-width: 20em;
		
    }






    /* Page > Contact */

    .page-template-contact .details {
        font-size: 1.6rem;
        font-family: 'filson-pro', sans-serif;
        line-height: 1.4;
    }

    .page-template-contact .details__row {
        display: flex;
        flex-flow: wrap;
        margin: -2rem 0;
    }

    .page-template-contact .details__col {
        width: 50%;
        padding: 0 2rem;
    }

    .page-template-contact .details__col--1 {
        width: 100%;
    }

    .page-template-contact .details__col--2 {}

    .page-template-contact .details__col--3 {}



    /* Posts > Default */
    .excerpt {}

    .excerpt__row {
        display: flex;
        margin: 0 -1rem;
    }

    .excerpt__col {
        padding: 0 1rem;
        width: 50%;
    }

    .excerpt__image {}

    .excerpt__text {}

    .excerpt__title {}








}


@media (min-width: 1200px) {

    /* Header */

    .site-header__col--menu {
        display: flex;
        align-items: center;
    }

    .site-header__col--button {
        display: none;
    }



    /* Page header */
    .page-header {
        padding: 14rem 0 8rem;
        text-align: initial;
        margin-bottom: 6rem;
    }

    .page-header__row {
        display: flex;
    }

    .page-header__title-wrapper {
        width: 50%;
        position: relative;
    }

    .page-header__title-wrapper::after {
        display: block;
        content: "";
        background: var(--gradient);
        width: 70rem;
        height: 70rem;
        border-radius: 50%;
        z-index: -1;
        position: absolute;
        top: 50%;
        left: 20%;
        transform: translate(-44%, -83%);
    }

    .page-header__image-wrapper {
        width: 50%;
    }

    .page-header__image {
        position: absolute;
        transform: translate(-50%, -85%) scale(2.2);
        transform-origin: 25% 90%;
    }

    .page-header__image img {
        height: 36%;
    }


    /* Home */

    .page-template-home .hero {
        padding: 13rem 0;
    }

    .page-template-home .hero__title {
        font-size: 4rem;
    }

    .page-template-home .hero__floating-circle-wrapper {
        transform: translateX(-60%);
        bottom: 25%;
    }

    .page-template-home .about {
        padding: 5rem 0;
    }

    .page-template-home .about__image {
        width: 53rem;
    }

    .page-template-home .about__text-container {
        width: 38rem;
        margin-right: 14rem;
    }

    .page-template-home .about__floating-circle-wrapper {
        transform: none;
        top: 100%;
        bottom: initial;
        right: 127%;
    }

    .page-template-home .services__item {
        padding: 18rem 2rem 3rem;
        margin: 1rem 0;
    }

    .page-template-home .services__row {
        display: flex;
        margin: 0 -1rem;
        flex-flow: wrap;
        justify-content: center;
        max-width: none;
    }

    .page-template-home .services__col {
        padding: 0 1rem;
        width: 33.3333%;
    }

    .page-template-home .services__col:nth-child(even) .services__item {
        margin-top: 5rem;
    }

    .page-template-home .services__floating-circle-wrapper {
        top: 50%;
        transform: translate(0%, -50%);
        width: 30rem;
        left: 91%;
    }

    .page-template-home .switch {
        padding: 6rem 0;
    }

    .page-template-home .switch__image {
        width: 48rem;
    }

    .page-template-home .switch__text-container {
        width: 30rem;
        margin-left: 21rem;
    }

    .page-template-home .switch__floating-circle-wrapper {
        left: 83%;
    }




    /* About */

    .page-template-about .introduction__text {
        column-count: 2;
        column-gap: 2rem;
    }

    .page-template-about .tagline .floating-circle-wrapper {
        left: initial;
        right: 100%;
        transform: translate(0, -50%);
        top: 10%;
    }

    .page-template-about .team__member {
        display: block;
        margin: 0;
    }

    .page-template-about .team__image-container,
    .page-template-about .team__text-container {
        width: initial;
        max-width: initial;
        padding: 0;
    }

    .page-template-about .team__row {
        display: flex;
        margin: 0 -2rem;
        flex-flow: wrap;
    }

    .page-template-about .team__col {
        padding: 2rem;
        width: 33.3333%;
    }

    .page-template-about .team__col:nth-child(even) {
        margin-top: 4rem;
    }

    .page-template-about .team__member-image {
        padding: 40% 0;
    }

    .page-template-about .introduction .floating-circle-wrapper {
        left: 100%;
        transform: translateX(-9rem);
    }


    .page-template-about .testimonials__item {
        padding-left: 21rem;
    }

    .page-template-about .testimonials__quote {
        left: 5rem;
        width: 12rem;
    }



    /* Page > Service */

    .page-template-service .introduction__floating-circle-wrapper--1 {
        display: block;
        width: 23rem;
    }

    .page-template-service .introduction__floating-circle-wrapper--2 {
        left: 115%;
    }





    /* Page > Switching */
    .page-template-switching .introduction__image {
        width: 40rem;
        left: 90%;
        top: 50%;
    }

    .page-template-switching .video__floating-circle-wrapper {
        right: 106%;
    }

    .page-template-switching .contact__form {}

    .page-template-switching .contact__image {
        width: 53rem;
        top: 60%;
        transform: translateY(-50%);
    }




    /* Page > Quick Quote */

    .page-template-quick-quote .form-wrapper {}

    .page-template-quick-quote .form-wrapper__row {
        display: flex;
        margin: 0 -1rem;
        justify-content: space-between;
        max-width: initial;
    }

    .page-template-quick-quote .form-wrapper__col {
        padding: 0 1rem;
        width: 50%;
    }

    .page-template-quick-quote .form-wrapper__col--1 {
        width: 24rem;
    }

    .page-template-quick-quote .form-wrapper__col--2 {}




    /* Page > Contact */

    .page-template-contact .details__col {
        width: 35%;
    }

    .page-template-contact .details__col--1 {
        width: auto;
        flex: 1;
    }

    .page-template-contact .details__col--2 {
		width: auto;
	}

    .page-template-contact .details__col--3 {}






    /* Quick Quote */
    .quick-quote__col {
        margin-top: -10%;
    }

    .quick-quote__circle-wrapper {
        margin-top: -6rem;
    }


}