/*
Theme Name: VCT Theme
Theme URI: http://thecode.co/
Version: 1.0
Description: Custom Child theme for VCT Website
Author: The Code Company
template: bb-theme
*/

/* Add your custom styles here... */ 

:root {
    /* Colours */
    --dark: #111;
    --darker-blue: #356a8f;
    --teal: #00ABA5;
    --new-teal: #42bce6;
    /* Gap */
    --py: 3.2rem;
    --half-py: 1.6rem;
    --half-px: 1.6rem;
    --px: 3.2rem;
    /* Fonts */
    --text-base: 1.8rem;
    --text-menu: 1.6rem;
    --bold: 700;
    --regular: 400;
    /* Transitions */
    --trans-button: background-color 0.25s, color 0.25s;
    --trans-text: color 0.25s;
}

/* Helpers */

.flex {
    display: flex;
}

.flex-col {
    flex-direction: column;
}

.grid {
    display: grid;
}

.grid-cols-12 {
    grid-template-columns: repeat(12,minmax(0,1fr));
    gap: var(--px);
}

.align-start {
    align-items: flex-start;
}

.direction-column {
    flex-direction: column;
}

.align-center {
    align-items: center;
}

.align-end {
    align-items: flex-end;
}

.justify-start {
    justify-content: flex-start;
}

.justify-center {
    justify-content: center;
}

.justify-end {
    justify-content: flex-end;
}

.justify-between {
    justify-content: space-between;
}

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

/* Footer */

.footer-bg {
    background-image: url(images/footer-swoosh.svg);
    background-size: 25% auto;
    background-position: 102% center;
    background-repeat: no-repeat;
}

.fl-rich-text ol, .fl-rich-text ul {
    padding: 0 0 0 22px;
}

.fl-rich-text li {
    padding: 8px 0;
}

.fl-rich-text .gform_wrapper.gravity-theme .gfield input.large, .fl-rich-text .gform_wrapper.gravity-theme .gfield select.large, .fl-rich-text .gform_wrapper.gravity-theme .gfield textarea.large {
    border: 2px solid var(--darker-blue) !important;
    padding: 14px 18px;
    border-radius: 32px;
    font-size: 18px;
    margin: 4px 0;
}

.fl-rich-text .gform_wrapper.gravity-theme #field_submit input, .gform_wrapper.gravity-theme .gform_footer input {
    padding: 14px 18px;
    border-radius: 32px;
    font-size: 18px;
}

.product.type-product {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
}

.gfield--type-consent label {
    font-size: 16px;
}

.product.type-product .woocommerce-product-gallery, .product.type-product .entry-summary {
    flex: 1 0 50%;
    padding: 0 16px;
}

.display-address {
    font-size: 32px;
    color: #fff;
    margin: 0;
}

.dark-blue-font .display-address {
    color: #0D0B3F;
}

.fl-module-vct-certificate-options-module {
    font-size: 18px;
    line-height: 28px;
}

.fl-module-vct-certificate-options-module p {
    margin: 24px 0 4px;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
}

.fl-module-vct-addressify-add-to-cart-module a {
    font-weight: 600;
    font-size: 16px;
    border: 1px solid var(--darker-blue);
    background-color: var(--darker-blue);
    border-radius: 44px;
    padding: 16px 20px;
    color: #fff;
    transition: border 0.25s, background-color 0.25s;
    text-decoration: none;
}

.fl-module-vct-addressify-add-to-cart-module a:hover {
    border: 1px solid var(--new-teal);
    background-color: var(--new-teal);
}

.fl-module-vct-certificate-options-module input[type="radio"] {
    margin-right: 8px;
}

.gform_wrapper .prod-image-column {
    grid-column: span 2 !important;
    -ms-grid-column-span: 2 !important;
}

.gform_wrapper .prod-name-col {
    grid-column: span 7 !important;
    -ms-grid-column-span: 7 !important;
}

#gform_fields_2 {
    align-items: center;
    grid-row-gap: 24px;
}

.gform_wrapper .prod-qual-col {
    grid-column: span 2 !important;
    -ms-grid-column-span: 2 !important;
}

.gform_wrapper .remove-col {
    grid-column: span 1 !important;
    -ms-grid-column-span: 1 !important;
}

.fl-content .gotrgf_form_container {
    align-items: flex-start;
}

.fl-content .gotrgf_form_overview_container {
    border: 0;
}

.fl-content .gotrgf_form_overview_container>.gotrgf_summary_title>h5 {
    padding: 0;
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 600;
}

.fl-content .gotrgf_summary_lines {
    padding: 0 !important;
    margin: 12px 0;
}

.fl-content .gotrgf_summary_total {
    margin: 16px 0 0;
    padding: 8px 0 0 !important;
}

.fl-content .gotrgf_summary_total div {
    padding-left: 0;
    padding-right: 0;
}

.fl-content .gotrgf_form_overview_container>.gotrgf_summary_lines>.gotrgf_summary_line {
    flex-direction: column;
    font-size: 16px;
    margin: 8px 0;
}

.fl-content legend {
    border: 0;
}

.fl-content .gform_wrapper.gravity-theme .ginput_container_address span:not(.ginput_full):not(:last-of-type):not(:nth-last-of-type(2)), .fl-content .gform_wrapper.gravity-theme .ginput_full:not(:last-of-type) {
    margin-bottom: 16px;
}

.fl-content .gotrgf_line_part_right {
    text-align: left !important;
}

.fl-content .gotrgf_form_wrapper {
    border: 0;
    padding: 0;
}

.remove-col a {
    font-size: 14px;
    margin-top: 45px;
}

.fl-content .gsection_title {
    font-size: 24px;
    margin-top: 32px;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-quarter.cart-cert {
    -ms-grid-column-span: 2;
    grid-column: span 2;
    padding-right: 16px;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-quarter.cart-cert img {
    margin-top: 8px;
}

@media screen and (min-width: 767px) {
    .no-background-desktop .fl-col-content {
        background-image: none;
    }
}


@media screen and (max-width: 1140px) {
    .footer-bg {
        background-size: 35% auto;
        background-position: 125% center;
    }
}

.gfield_required.gfield_required_text {
    display: none !important;
}

legend.gform-field-label {
    font-family: "Montserrat",sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.gform_wrapper.gravity-theme .gfield_header_item, .gform_wrapper.gravity-theme .gform_fileupload_rules, .gform_wrapper.gravity-theme .ginput_complex label {
    font-size: 16px !important;
}

.gform_wrapper.gravity-theme input.ginput_total {
    font-size: 16px !important;
}

.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
    font-size: 16px;
}

#card-number-wrapper #cardNumber {
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    .footer-bg {
        background-image: none;
    }
    .fl-rich-text .gform_wrapper.gravity-theme #field_submit input, .gform_wrapper.gravity-theme .gform_footer input {
        padding: 12px 16px;
        border-radius: 32px;
        font-size: 16px;
    }
    .fl-module-vct-certificate-options-module {
        font-size: 16px;
    }
    .display-address {
        font-size: 24px;
        color: #fff;
        line-height: 32px;
    }
    .gform_wrapper .prod-name-col, .gform_wrapper.gravity-theme .gfield.gfield--width-quarter.cart-cert {
        grid-column: span 12 !important;
        -ms-grid-column-span: 12 !important;
        padding-right: 0;
    }
    .gform_wrapper .prod-qual-col {
        grid-column: span 6 !important;
    }
    .remove-col a {
        margin-top: 35px;
        margin-left: 16px;
    }
}


.vct-order-product img {
    float: left;
    margin-right: 20px;
}

.vct-order-product-type,
.vct-order-application-id,
.vct-order-address {
    display: block;
}

.gform_confirmation_message table table tr:not(:last-child) td {
    padding: 10px;
}

.gform_confirmation_message table table tr:last-child table {
    margin-top: 20px;
}

.gform_wrapper.gravity-theme .ginput_complex span {
    flex: 1 0 100%;
}

.gform_wrapper.gravity-theme fieldset.ginput_cardinfo_left legend {
    margin-bottom: 9px !important;
}

.ginput_container_coupon {
    display: flex;
}

#gf_coupon_spinner {
    align-self: center;
}

@media screen and (max-width: 640px) {
    .gform_wrapper.gravity-theme fieldset.ginput_cardinfo_left {
        width: 100% !important;
        flex: 1 1 auto !important;
    }
    
    .gform_wrapper.gravity-theme .ginput_complex span {
        width: auto !important;
        flex: 1 1 auto !important;
    }
    .ginput_card_expiration_year_container {
        padding-left: 10px !important;
    }
    .ginput_container_consent {
        display: flex !important;
        align-items: flex-start !important;
    }
    .gfield_consent_label {
        margin-left: 6px !important;
        line-height: 1.4;
    }
}