/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

html,
main,
:root {
    --darkblue: #0B1740;
    --midblue: #3458D2;
    --lightblue: #2C98FF;
    --lightgrey: #f0f4ff;
    --gradient: linear-gradient(45deg, var(--lightblue), var(--midblue));

    --radius: 1.5rem;

    --wp--preset--font-size--small: 1.3rem;
    --wp--preset--font-size--medium: 2.0rem;
    --wp--preset--font-size--large: 3.6rem;
    --wp--preset--font-size--x-large: 4.2rem;
}

footer {
    border-top: 2px solid var(--lightgrey);
}

/* #content, */
div#wrapper,
main#main {
    background-color: var(--darkblue);
    color: var(--lightgrey);
}

#wrapper h1,
#wrapper h2,
#wrapper h3,
#wrapper h4,
#wrapper h5,
#wrapper h6,
#wrapper .heading-font {
    color: inherit;
    line-height: 1.2;
}

.has-medium-font-size,
.has-large-font-size,
.has-x-large-font-size {
    line-height: 1.2;
    /* margin: 2em 0; */
}

#top-bar {
    background-color: var(--lightblue);
}

/* .is-divider.divider.clearfix {
    margin-left: 600px;
} */

#wrapper .text-box-content h1 {
    /* color: var(--lightgrey); */
    font-size: 1.8em;
}

#wrapper .text-box-content h1 strong {
    color: var(--midblue);
}

#wrapper .text-inner * {
    font-weight: 700;
}

#wrapper h2 {
    font-size: 2rem;
}

.col-inner ul li::marker {
    color: var(--lightblue);
}

.border {
    background-color: var(--white);
}

header #top-bar {
    display: none;
}

.nav-column>li>a, .nav-dropdown>li>a, .nav-vertical-fly-out>li>a, .header-nav >li>a {
    color: var(--darkblue) !important;
}

.banner-layers.container .text-box-1881524967 {
    background-color: var(--darkblue);
}

/* #masthead {
    border-bottom: 3px solid var(--lightblue);
}
 */

.select-resize-ghost, 
.select2-container .select2-choice, 
.select2-container .select2-selection, input[type=date], 
input[type=email], input[type=number], input[type=password], 
input[type=search], input[type=tel], input[type=text], 
input[type=url], select, textarea, .wpcf7-captchar, 
.wpcf7-form .wpcf7-date, .wpcf7-form .wpcf7-number, 
.wpcf7-form .wpcf7-quiz, .wpcf7-form .wpcf7-select, 
.wpcf7-form .wpcf7-text, .wpcf7-form textarea {
    border: 1px solid var(--lightblue) !important;
    border-radius: 20px !important;
    /* background-color: var(--darkblue) !important; */
    color: var(--darkblue)!important;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}


header .header-main,
header .header-main > * {
    min-height: 80px;
    height: auto;
}

.header-nav  > li > a {
    text-transform: none;
    background-color: var(--darkblue);
    color: #fff !important;
    padding: 1.5rem;
    margin-bottom: -1rem;
    height: calc(100% + 1rem) ;
    background-image: var(--gradient);
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    transition: all .3s ease;
}

.header-nav  > li > a:hover {
    margin-bottom: -1.5rem;
    height: calc(100% + 1.5rem) ;
}

.header-inner {
    align-items: stretch;
}

.header-nav {
    height: 100%;
    align-items: stretch;
    gap: 1rem;
}

#logo {
    align-self: center;
}

header .nav-spacing-xlarge>li {
    margin: 0;
}

main .page-wrapper {
    padding-top: 0;
    padding-bottom: 0;
}

/************************/

.block_wrapper {
    margin-top: 5rem;
    margin-bottom: 5rem;
    position: relative;
}

.block_wrapper:after {
    content: none !important;
}

.acf_blocks {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

.has-background {
    border-radius: var(--radius);
    color: var(--darkblue);
    box-shadow: 0 3px 6px -4px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
}

.wp-block-column {
    position: relative;
    z-index: 1;
}


@media screen and (min-width: 782px) {
    
    .wp-block-column.has-background {
        margin-top: -2.5em;
    }
    
    .wp-block-column.is-vertically-aligned-bottom.fullwidth.has-lightgrey-background-color.has-background.is-layout-flow.wp-block-column-is-layout-flow {
        margin-bottom: -2.5em;

    }

    .move_right {
        transform: translateX(5rem) translateY(-1rem);
        position: relative;
        z-index: 1;
    }

    .wp-block-column:last-child:nth-child(3) {
        z-index: 0;
    }
}

.has-background.fullwidth {
    border-radius: 0;
    box-shadow: none;
    position: relative;
    z-index: 0;
    padding-left: 0;
    padding-right: 0;
}

.has-background.fullwidth:before {
    content: '';
    background: inherit;
    height: 100%;
    width: 200vw;
    left: -100vw;
    z-index: -1;
    display: block;
    top: 0;
    position: absolute;
}

.banner + .core_blocks > .has-background:first-child {
    margin-top: -10rem;
    max-width: 60rem;
    width: 100%;
}

hgroup {
    display: flex;
    flex-direction: column;
    gap: 0;
    justify-content: flex-start;
    border-bottom: 2px solid;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    gap: .25rem
}

hgroup:last-child {
    margin-bottom: 0;
}

hgroup > * strong {
    font-weight: inherit;
    color: var(--lightgrey)
}

hgroup > p strong {
    font-weight: inherit;
    color: var(--lightblue)
}

#wrapper hgroup > * {
    margin: 0;
    display: block;
    font-size: 2.5rem;
    color: var(--lightblue);
    font-weight: 700;
}

/* #wrapper hgroup > p {
    font-size: 2rem;
    color: var(--lightgrey);
} */

#wrapper hgroup > p {
    font-size: 2rem;
    color: inherit;
    line-height: 1.2;
}

button {
    padding: .5em 1em;
    font-weight: 900;
    margin: 0;
    overflow: hidden;
    z-index: 1;
    background-image: var(--gradient);
    border-radius: 1rem;
    box-shadow: 0 3px 6px -4px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
}

blockquote {
    border: none;
    padding: 0;
    margin: 0;
    font-style: normal;
    color: var(--lightgrey);
    font-size: 1em;
}

.has-background blockquote {
    color: var(--darkblue);
}

:root :where(div.has-background) {
    padding: 2.5em 2.375em;
}

.wp-block-column > p:last-child {
    margin-bottom: 0;
}

:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img) {
    border-radius: var(--radius) !important;
}

.wp-block-heading:not(:first-child) {
    margin-top: 2em;
}

.wp-block-image + .wp-block-heading:not(:first-child) {
    margin-top: 1em;
}

a:where(:not(.wp-element-button)) {
    color: inherit;
}

.has-lightblue-background-color {
    background-image: var(--gradient);
}

.has-lightblue-background-color .wp-block-heading:after {
    background-color: var(--lightgrey);
}

.wp-block-heading.has-text-align-center::after {
    content: none;
}

.has-medium-font-size strong,
.has-large-font-size strong,
.has-x-large-font-size strong {
    font-weight: inherit;
    color: var(--lightblue);
}

.wp-block-heading:after {
    content: '';

    display: block;
    height: 3px;
    margin: 1em 0;
    max-width: 30px;
    width: 100%;

    border-radius: 99px;

    margin-top: 0.4em;
    margin-bottom: 0.4em;
    background-color: var(--lightblue);
}


@media screen and (min-width: 1281px) {
    .wp-block-columns:not(:first-child),
    .wp-block-columns + * {
        margin-top: 7rem;
    }
    
    .wp-block-column > .wp-block-image:only-child {
        max-height: 100%;
        height: 100%;
        position: relative;
        margin: 0;
        width: 100%;
        display: block;
        min-height: 20vw;
    }
    
    .wp-block-column > .wp-block-image:only-child img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        position: absolute;
        left: 0;
        top: 0;
    }
    
    :where(.wp-block-columns.is-layout-flex) {
        gap: 3rem !important;
    }

    /* .wp-block-column.is-vertically-aligned-bottom img {
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
    } */

}

:root :where(.wp-element-button, .wp-block-button__link),
.wp-block-button__link,
html .wp-block-button__link {
    background-color: var(--lightblue);
    background-image: var(--gradient);
    color: var(--lightgrey);
    font-size: 1.25em;
    border-radius: 1rem;
}

.wp-block-button a > img {
    display: inline-block;
    width: 3rem;
    height: 3rem;
    object-fit: contain;
    margin-right: 1em;
    vertical-align: middle;
}


/*************/

footer .menu-sticky-menue-container {
    position: fixed;
    right: 1rem;
    top: 50%;
    max-height: 50%;
    transform: translateY(-50%);
    z-index: 10;
}

footer .menu-sticky-menue-container ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: 0;
    margin: 0;
    font-size: 1rem;
    opacity: 1;
}

footer .menu-sticky-menue-container li {
    margin: 0;
    padding: 0;
}

footer .menu-sticky-menue-container ul a {
    width: 3.5rem;
    aspect-ratio: 1;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5rem;
    background: var(--gradient);
    box-shadow: 0 3px 6px -4px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
    position: relative;
    overflow: hidden;
    color: transparent;
    font-size: 0.01px;
}

footer .menu-sticky-menue-container ul a img {
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
    object-fit: contain;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}


/**********/

.page-id-220 main .section {
    color: var(--darkblue);
}

@media (max-width: 781px) {
    html, main, :root {
        --wp--preset--font-size--small: 1.3rem;
        --wp--preset--font-size--medium: 1.5rem;
        --wp--preset--font-size--large: 2.5rem;
        --wp--preset--font-size--x-large: 3.5em;
    }

    #wrapper hgroup > *,
    #wrapper h2 {
        font-size: var(--wp--preset--font-size--medium);
        hyphens: auto;
    }

    #wrapper hgroup > p {
        font-size: 1.25rem;
    }

    .wp-block-columns.mobile_reverse  {
        flex-direction: column-reverse;
    }

    .text-box {
        width: 100% !important;
        padding-left: 15px;
        padding-right: 15px;
    }

    #wrapper .text-box-content h1{
        font-size: 2rem !important;
        hyphens: auto;
    }

    footer .menu-sticky-menue-container {
        right: .5rem;
    }

    footer .menu-sticky-menue-container {
        bottom: 6rem;
        top: auto;
        transform: none;
    }

    footer .menu-sticky-menue-container ul a {
        width: 2.5rem;
    }

    .wp-block-columns {
        margin: 2rem 0;
    }

    :root :where(div.has-background) {
        padding: 1.5rem;
    }

}

/* 
@media screen and (min-width: 1281px) {
    .gallery_text .grid > div.large {
        grid-column-end: span 2 !important;
    }
}

@media screen and (min-width: 1281px) {
    .gallery_text .grid > div:nth-of-type(1) {
        grid-row-start: 1 !important;
    }
}

@media screen and (min-width: 1281px) {
    .gallery_text .grid > img:nth-of-type(4) {
        grid-row-end: span 1 !important;
        grid-row-start: 2;
    }
} */

.wp-block-image.alignright.size-full.is-style-rounded {
    background-image: var(--gradient);
    box-shadow: 0 3px 6px -4px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
}
.wp-block-column .wp-block-image.alignright.size-full.is-style-rounded:first-child {
    transform: translate(40%, -30%);
    margin-top: -1rem;
    margin-right: -1rem;
    border-radius: 50%;
    padding: 1rem;
    box-sizing: border-box;
}

.wp-block-image.wp-block-image.alignright.size-full.is-style-rounded + .wp-block-heading:not(:first-child) {
    margin-top: 0;
}

@media (max-width: 781px) {
    .wp-block-column .wp-block-image.alignright.size-full.is-style-rounded:first-child {
        transform: none;
        margin-right: -2rem;
        margin-top: -3rem;
    }
    
    .wp-block-image.alignright.size-full.is-style-rounded img {
        width: 20vw !important;
        height: 20vw !important;
        max-width: 20vw;
        max-height: 20vw;
    }
}

@media (max-width: 1280px) {
.has-text-align-center.has-medium-font-size {
    margin-top: 4rem;
}
}