:root {
    --primary-color: #211f60;
    --secondary-color: #404146;
    --tertiary-color: #f4f4f5;
    --primary-font: "Cinzel", serif;
    --secondary-font: "Montserrat", sans-serif;
    --mobile: 20rem;
    --tablet: 40rem;
}

html, body {
    height: 100%;
    width: 100%;
}

body {
    font-family: var(--primary-font);
    font-size: 16px;
	overflow-x: hidden;
}

.post, .page {
    margin: 0;
}

.header-logo {
    width: 275px;
}

.page-logo {
    width: 416px;
}

.main-navigation {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 75rem;

    #primary-menu {
        li {
            margin-left: 3.5rem;
            font-family: var(--primary-font);
            @media (max-width: 36rem) {
                margin-left: 0;
                text-align: center;
            }
        }

        a {
            color: var(--primary-color);
            font-family: var(--primary-font);
            font-size: 1rem;
            letter-spacing: 0.05rem;
            text-transform: uppercase;
            
        }
    }
}

.site-footer .site-info {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 75rem;

    #primary-menu {
        li {
            margin-left: 3.5rem;
            font-family: var(--secondary-font);
            @media (max-width: 36rem) {
                margin-left: 0;
                text-align: center;
            }
        }

        a {
            color: var(--primary-color);
            font-family: var(--secondary-font);
            font-size: 1rem;
            letter-spacing: 0.05rem;
            text-transform: uppercase;
            
        }
    }
}

h2.gform_submission_error {
	font-size: 1rem;
	font-weight: 500;
}

.wp-block-button, .wp-block-button a, #primary.contact-page .wpforms-submit-container .wpforms-submit, .nf-field-element input[type=submit], .gform_wrapper.gravity-theme .gform_footer input[type=submit] {
    background: var(--primary-color);
    border: 0;
    border-radius: 0;
    color: #fff;
    font-family: var(--secondary-font);
    font-size: 0.875rem;
    padding: 0.3675rem 1.5rem;
}

.entry-title {
    color: var(--primary-color);
    font-family: var(--primary-font);
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 3.75rem;
}

.site {
    height: 100vh;
    position: relative;
    width: 100vw;
}

.site-branding {
    display: none;
}

.site-content {
    position: relative;
    width: 75rem;
    z-index: 10;

    @media (max-width: 75rem) {
        width: 100%;
    }
}

.site-footer {
    background: rgba(255, 255, 255, 0.65);
    bottom: 0;
    color: var(--primary-color);
    font-family: var(--primary-font);
    height: 3.5rem;
    text-transform: uppercase;

    @media (max-width: 75rem) {
        height: auto;
        padding: 0.5rem 0;
    }

    .site-info {
        font-family: var(--secondary-font);
        @media (max-width: 75rem) {
            flex-direction: column;
            width: 100%;
        }
    }

    ul {
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;

        @media (max-width: 36rem) {
            flex-direction: column;
            padding-top: 1rem;
        }

        li {
            margin-right: 1.5rem;
            font-family: var(--secondary-font);
            &:last-of-type {
                margin-right: 0;
            }

            @media (max-width: 36rem) {
                margin-bottom: 0.75rem;
                margin-right: 0;
                text-align: center;
            }
        }

        a {
            color: var(--primary-color);
            text-decoration: none;
            font-family: var(--secondary-font);
        }
    }
}

.page-footer {
    .site-footer {
        background: var(--tertiary-color);
    }
}

.site-header, .site-footer {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    left: 0;
    position: absolute;
    width: 100vw;
    z-index: 10;

    @media (max-width: 75rem) {
        position: relative;
    }
}

.site-header {
    background: #fff;
    top: 0;
 padding: 0.75rem 0;
    position: fixed;
    top: 0;

    .main-navigation {
        @media (max-width: 40rem) {
            flex-direction: column;
        }

        ul {
            @media (max-width: 40rem) {
                display: block;
            }
        }
    }

    .menu-toggle {
        display: none;
    }

    &.front-page-header {
        padding: 0.75rem 0;

        @media (max-width: 75rem) {
            padding-left: 2rem;
            padding-right: 2rem;
        }

        img {
            @media (max-width: 40rem) {
                width: 100%;
            }
        }
    }
	@media (max-width: 75rem) {
		  position: relative;
	}
}

.site-main {
    .header, .content {
        width: 75rem;

        @media (max-width: 75rem) {
            width: 100%;
        }
    }

    .site-content {
        align-items: center;
        display: flex;
        justify-content: center;
        padding: 1rem 0 0;
        width: 100%;

        p {
            color: #77777c;
            font-size: 1rem;
        }
    }
}

.content-area {
    align-items: center;
    display: flex;
    flex: 1 0 auto;
    justify-content: center;
    height: 100vh;
    position: relative;
    width: 100vw;
    z-index: 2;

    &.home-page {
        text-align: center;

        .entry-title {
            font-size:4.375rem;
            line-height: 5rem;

            @media (max-width: 75rem) {
                font-size: 4.5rem;
                line-height: 4rem;
            }

            @media (max-width: 40rem) {
                font-size: 3rem;
                line-height: 3rem;
            }

            span {
                display: block;
            }
        }

        p {
            color: var(--secondary-color);
            font-family: var(--secondary-font);
            font-optical-sizing: auto;
            font-weight: normal;
            font-style: normal;
            font-size: 1.50rem;

            @media (max-width: 75rem) {
                font-size: 1.5rem;
            }

            @media (max-width: 40rem) {
                font-size: 1.25rem;
            }
        }
    }
}

.front-page-background {
    background-image: url('./assets/images/front-page.png');
    background-size: cover;
    background-position: center;
    min-height: 100%;
    position: absolute;
    width: 100%;
    z-index: 1;

    &:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.45);

    }
}

#primary.home-page {
    .site-content {
        @media (max-width: 80rem) {
            padding-left: 2rem;
            padding-right: 2rem;
        }
    }
}

#primary.main-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    section {
        flex: 1 0 auto;
    }

    .top-content {
        align-items: center;
        background: var(--tertiary-color);
        display: flex;
        justify-content: center;
        padding: 3rem 0 0.5rem;

        @media (max-width: 75rem) {
            display: block;
            padding: 1.5rem 2rem 0.5rem;
            width: 100%;
        }

        @media (max-width: 40rem) {
            padding: 1.5rem 1rem 0.5rem;
        }

        .header {
            align-items: center;
            display: flex;
            justify-content: space-between;

            @media (max-width: 40rem) {
                flex-direction: column;
            }

            a {
                color: var(--primary-color);
                font-family: var(--secondary-font);
                font-weight: bold;
                text-decoration: none;
                text-transform: uppercase;
            }
        }

        hr {
            background: #fff;
            border: 0;
            height: 0.35rem;
            margin: 1rem 0;
        }

        .content {
            text-align: right;

            @media (max-width: 40rem) {
                text-align: center;
            }

            .entry-title {
                margin: 0;
            }
        }
    }

    .site-content {
        @media (max-width: 75rem) {
            padding: 2rem;
        }

        @media (max-width: 40rem) {
            padding: 1rem 1rem 2rem;
        }
    }

    .site-footer {
        position: relative;
    }
}

#primary.contact-page {
    display: flex;
    flex-direction: column;
    position: relative;

    .image-container {
        background-attachment: fixed;
        background-image: url('./assets/images/contact-us.png');
        background-size: cover;
        background-position: center;
        bottom: 0;
        left: 0;
        /*min-height: 200vh;*/
/*         position: fixed; */
        right: 0;
        top: 0;
        z-index: 1;
    }

    .site-content {
        display: flex;
        flex: 1 0 auto;
        justify-content: center;
        padding-top: 3rem;

        @media (max-width: 75rem) {
            padding-top: 1.5rem;
        }

        .content {
            box-sizing: border-box;

            @media (max-width: 75rem) {
                width: 90%;
            }
        }
    }

    .contact-header {
        align-items: center;
        display: flex;
        justify-content: center;

        img {
            width: 100px;

            @media (max-width: 75rem) {
                width: 65px;
            }
        }

        h1 {
            color: var(--primary-color);
            font-family: var(--primary-font);
            font-size: 4rem;
			margin:0;

            @media (max-width: 75rem) {
                font-size: 1.5rem;
            }
        }
    }

    .content-section {
        display: flex;
        justify-content: center;
        padding-top: 1rem;

        @media (max-width: 75rem) {
            padding-top: 0;
        }
    }

    .nf-form-cont, .gf_browser_chrome.gform_wrapper.gravity-theme.gform-theme--no-framework, .wpforms-container {
        width: 48rem;

        @media (max-width: 75rem) {
            width: 90%;
        }
    }

    .nf-form-title, .nf-before-form-content, .gform_title {
        display: none;
    }

    .nf-field-label, .gfield label {
        font-family: var(--secondary-font);
    }

    .nf-field-element input, .gfield input, .wpforms-field input {
        border: 0;
        padding: 0.75rem 0.35rem;

        @media (max-width: 75rem) {
            padding: 0.25rem;
            max-width: 100%;
            min-width: 100%;
            width: 100%;
        }
    }

    .wpforms-field input {
        max-width: 100%;
        min-width: 100%;
        width: 100%;
    }

    .field-wrap.submit-wrap .nf-field-element, .gform_wrapper.gravity-theme .gform_footer {
        display: flex;
        justify-content: center;
    }

    .nf-field-element input[type=submit], .gform_wrapper.gravity-theme .gform_footer input[type=submit] {
        font-size: 1rem;
        height: auto;
        padding: 1.3675rem 3.5rem;

        @media (max-width: 75rem) {
            width: 100%;
        }
    }

    .wpforms-submit-container {
        display: flex;
        justify-content: center;

        .wpforms-submit {
            font-size: 1rem;
            height: auto;
            padding: 1.3675rem 3.5rem;

            @media (max-width: 75rem) {
                width: 100%;
            }
        }
    }

    .site-footer, .site-content {
        position: relative;
        z-index: 10;
    }

    .site-footer {
        padding: 1rem 0;
    }
	@media (max-width: 75rem) {
		    height: auto;
	}
}

#primary.main-template {
    .content-section {
/*         padding-bottom: 4rem; */
    }

    h2, h4, p {
        margin-left: auto;
        margin-right: auto;
        width: 65rem;

        @media (max-width: 65rem) {
            padding: 0 1rem;
            width: 100%;
        }
    }
	
	h2.gform_submission_error {
		font-size: 1rem;
		font-weight: 500;
	}

    h2 {
        color: var(--primary-color);
        font-family: var(--primary-font);
        font-size: 3.5rem;
        font-weight: 300;
        margin-bottom: 0;
        text-transform: uppercase;

        @media (max-width: 40rem) {
            margin-top: 0;
        }

        @media (max-width: 36rem) {
            font-size: 1.75rem;
        }
    }

    h4 {
        font-family: var(--primary-font);
        font-size: 1.5rem;
        font-weight: normal;
        margin-top: 0;
        text-transform: uppercase;

        @media (max-width: 36rem) {
            font-size: 1.125rem;
        }
    }

    p {
        font-family: var(--secondary-font);
        width: 45rem;

        @media (max-width: 45rem) {
            width: 100%;
        }

        &.section-title {
            color: var(--primary-color);
            font-family: var(--primary-font);
            text-decoration: underline;
            text-transform: uppercase;
        }
    }

    .team-grid {
        margin: 2rem auto;
        width: 75rem;

        @media (max-width: 75rem) {
            padding: 0 1rem;
            width: 100%;
        }

        figure {
            border-radius: 50%;
            height: 96px;
            width: 96px;
            overflow: hidden;

            img {
                min-height: 100%;
                width: 100%;
            }
        }

        p {
            width: 100%;
        }

        ul {
            list-style-type: none;
            padding: 0;

            li:nth-of-type(2), li:nth-of-type(1) {
                color: var(--primary-color);
                font-family: var(--primary-font);
                text-transform: uppercase;
            }

            li:nth-of-type(1) {
                font-size: 1.125rem;
            }

            li:nth-of-type(2) {
                font-size: 0.875rem;
                margin-bottom: 15px;
            }
        }
    }

    .wp-block-buttons {
        @media (max-width: 50rem) {
            margin-top: 1rem;
        }
    }

    .wp-block-cover {
        height: 700px;
		&.services-banner{ height: 390px;}
        @media (max-width: 40rem) {
            height: auto;
        }

        .wp-block-cover__inner-container {
            align-items: flex-end;
            display: flex;
            flex-direction: column;
            width: 75rem;

            @media (max-width: 75rem) {
                /*background: #000;*/
            }

            p {
                margin: 0;
                font-size: 1.275rem;
                width: 35%;

                @media (max-width: 75rem) {
                    width: 50%;
                }

                @media (max-width: 50rem) {
                    font-size: 1rem;
                }

                @media (max-width: 40rem) {
                    width: 100%;
                }

                &.has-large-font-size {
                    color: var(--primary-color);
                    font-family: var(--primary-font);
                    font-size: 4.4375rem !important;

                    @media (max-width: 75rem) {
                        font-size: 3rem !important;
                    }

                    @media (max-width: 40rem) {
                        font-size: 3rem !important;
                    }
                }
            }
        }
    }

    .main-cta {
        background-color: var(--primary-color);
        color: #fff;
        font-family: var(--primary-font);
        font-size: 3rem;
        font-weight: normal;
        margin: 0;
        padding: 1rem 0;
        text-transform: uppercase;
        width: 100%;

        @media (max-width: 36rem) {
            font-size: 1.75rem;
        }
    }

    .wp-block-columns {
        margin: 0 auto;
        padding: 4rem 0;
        width: 75rem;

        @media (max-width: 75rem) {
            padding: 0 1rem;
            width: 100%;
        }

        &.team-cta {
            h4 {
                color: var(--primary-color);
            }

            p {
                font-size: 1.125rem;
                line-height: 1.75;
                margin-bottom: 1rem;

                @media (max-width: 36rem) {
                    font-size: 1rem;
                }
            }
        }

        figure.wp-block-image {
            height: 800px;
            opacity: 0.5;
            overflow: hidden;

            @media (max-width: 40rem) {
                height: 400px;
            }

            &.full-image {
                height: auto;
                opacity: 1;

                img {
                    height: auto;
                }
            }

            img {
                height: 100%;
                object-fit: cover;
                width: 100%;
            }
        }

        p {
            font-family: var(--secondary-font);
            font-size: 1rem;
            margin: 0;
            width: auto;
        }

        .template-column-title {
            color: var(--primary-color);
            font-family: var(--primary-font);
            font-size: 2rem;
            margin: 0 0 1rem;
            text-transform: uppercase;
        }

        .template-column-content {
            font-size: 1.125rem;
            line-height: 2;
            padding: 0 3rem;

            @media (max-width: 40rem) {
                font-size: 1rem;
                margin-bottom: 1rem;
                padding: 0 1rem;
            }
        }

        .wp-block-buttons {
            margin-top: 3rem;
        }
    }
}
.our-vision-banner{background-color: #b6cbe0;}
.wp-block-cover.our-vision-banner img.wp-block-cover__image-background {    width: 50%;margin-top: 77px; left:10%;
     @media (max-width: 75rem) {
            width: 100%;
			left:0%;
	margin-top: 0px;
        }

}
 @media (max-width: 1600px) {
.page-id-92105 .page-footer{
/* 	padding-top:36px; */
	 }
}