:root{
    --Charcoal: #212B2F;
    --BlueBubble: #A3D7EC;
    --BlueMediterranean: #227CA1;
    --Frost: #D1EBF6;

    --MainHeight: calc(100vh - var(--HeaderHeight) - var(--FooterHeight));

    /* overrides */
    --cmplz_button_border_radius: 33px !important;
}

@font-face {
    font-family: FigTree;
    src: url(../fonts/Figtree-VariableFont_wght.ttf);
    font-weight: normal;
}

@font-face {
    font-family: Poppins;
    src: url(../fonts/Poppins-Regular.ttf);
    font-weight: normal;
}

html{
    overflow-x: hidden;
}

body {
    background-color: #EDF7FB;
    overflow-x: hidden;
}

body:not(.wp-admin){
    margin-top: var(--HeaderHeight);
}

main{
    min-height: var(--MainHeight);
}

main .animate{
    visibility: hidden;
}

div[class^='col']{
    margin: 0;
    padding: 0 21px;
}

main *,
.edit-post-visual-editor .is-root-container * {
    color: var(--Charcoal, #212B2F);
    
    /* Text */
    font-family: Poppins;
    font-style: normal;
    line-height: normal;
    scroll-margin-top: 150px;
}

main p, main span{
    font-size: 18px;
}

main *.small,
.edit-post-visual-editor .is-root-container *.small {
    color: var(--Charcoal, #212B2F);

    /* Text */
    font-family: Poppins;
    font-size: 15px;
    font-style: normal;
    line-height: normal;
    scroll-margin-top: 150px;
}

main .dark *,
.edit-post-visual-editor .is-root-container .dark * {
    color: #FFF;
}

a {
    color: var(--BlueMediterranean);
    transition: color 200ms;
}

.info-line > a {
    text-decoration: underline;
    color: var(--BlueMediterranean);
}

a:hover:not(.cgsi-button) {
    color: var(--BlueMediterranean, #227CA1);
}

main h1, 
.edit-post-visual-editor .is-root-container h1{
    color: var(--Charcoal, #212B2F);
    font-family: 'Figtree', sans-serif;
    font-size: 45px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

main h2,
.edit-post-visual-editor .is-root-container h2 {
    color: var(--Charcoal, #212B2F);
    font-family: Figtree, sans-serif;
    font-size: 35px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 29px;
}

main h3,
.edit-post-visual-editor .is-root-container h3 {
    color: var(--Charcoal, #212B2F);
    font-family: Figtree, sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

main h4{
    color: var(--Charcoal, #212B2F);

    /* H4 */
    font-family: Figtree, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

main .cgsi-section {
    background-size: cover;
}

main input::file-selector-button{
    display: none;
}

main input[type="file"] {
    width: 100%;
}

main label.file-upload,
.cgsi-button{
    display: inline-block;
    min-height: 48px;
    padding: 12px 50px;
    text-align: center;
    border-radius: 44.5px;
    text-decoration: none;
    font-family: 'Figtree', sans-serif;
    box-shadow: 0px 6px 7px 0px rgba(163, 215, 236, 0.30);
    line-height: 20px;
    font-size: 20px;
    border: none;

    transition: all 200ms;
}
main label.file-upload,
.cgsi-button-small {
    padding: 12px 25px;
}

.cgsi-button.is-primary{
    background: var(--Charcoal, #212B2F);
    color: #FFF;
}

main label.file-upload,
.cgsi-button.is-secondary{
    cursor: pointer;
    border: 2px solid var(--Charcoal, #212B2F);
    color: var(--Charcoal, #212B2F);
}

main label.file-upload:hover,
.cgsi-button:hover{
    border-radius: 100px;
    background: var(--BlueBubble, #A3D7EC);
    border-color: var(--BlueBubble, #A3D7EC);
    color: var(--Charcoal, #212B2F);
    /* ButtonShadow */
    box-shadow: 0px 6px 7px 0px rgba(163, 215, 236, 0.30);
}

.cgsi-section .card {
    border-radius: 30px;
    border: none;
    /* CardShadow */
    box-shadow: 6px 8px 6px 0px rgba(163, 215, 236, 0.2);
} 

/* SITE EDITOR */
.edit-post-visual-editor [class$='post-title-wrapper'] {
    border-bottom: 1px solid #b3b3b3;
    display: flex;
    margin-top: 0 !important;
}

.edit-post-visual-editor .block-editor-writing-flow {
    padding-top: 0 !important;
}

.edit-post-visual-editor .is-root-container{
    display: flex;
    flex-direction: column;
    background-color: #EDF7FB;
}

.edit-post-visual-editor .wp-block {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 3px;
    transition: border 200ms;
}

.edit-post-visual-editor .wp-block:not(:has(.wp-block:hover)):hover {
    border: 2px solid var(--wp-admin-theme-color);
}
.edit-post-visual-editor .wp-block .delete-button{
    visibility: hidden;
}
.edit-post-visual-editor .wp-block:not(:has(.wp-block:hover)):hover  .delete-button {
    visibility: visible;
}

.edit-post-visual-editor .is-root-container > .wp-block-create-block-cgsi-section{
    width: 100%;
}

.loader{
    display: flex;
    align-items: center;
}

.loader::before {
    content: "";
    border: 6px solid #f3f3f3;
    border-radius: 50%;
    border-top: 6px solid var(--BlueMediterranean, #227CA1);
    width: 40px;
    height: 40px;
    margin-right: 20px;
    -webkit-animation: spin 2s linear infinite;
    /* Safari */
    animation: spin 2s linear infinite;
}

/* Contact Form 7 */
.wpcf7-form{
    padding: 30px;
}

.wpcf7-form input:not([type="submit"]):not([type="file"]),
.wpcf7-form textarea{
    padding: 6px;
    border-radius: 3px;
    border: 1px solid var(--Charcoal, #212B2F);
}

.wpcf7-form label{
    width: 100%;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"]{
    max-width: 100%;
}

.wpcf7-form textarea{
    width: 100%;
}

/* Badge reCaptcha */
.grecaptcha-badge {
    display: none !important;
}

/* Safari */
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@media (max-width: 992px) {
    .wp-block-columns {
        align-items: normal !important;
            box-sizing: border-box;
            display: flex;
            flex-wrap: wrap !important;
    }

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

    main *,
    .edit-post-visual-editor .is-root-container * {
        font-size: 16px;
    }

    main h1{
        font-size: 30px;
    }
    main h2{
        font-size: 26px;
    }
    main h3{
        font-size: 24px;
    }
    main h4{
        font-size: 18px;
    }

    .cgsi-section{
        padding: 0 10px;;
    }
}

@media (min-width: 992px) {
    .wp-block-columns {
        flex-wrap: nowrap !important;
    }
}

@media (min-width: 992px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 0;
        flex-grow: 1;
    }
}

@media (max-width: 991px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 100% !important;
        max-width: 100%;
    }
}