.speaker-archive {
    display: flex;

    gap: 18px;
}

.speaker-listing {    
    display: grid;
    grid-template-columns: 1fr;

    gap: 25px;
}

.speaker-col, .speaker-single {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    padding: 26px 32px;
    background-color: white;
    border-radius: 0px;
    box-shadow: 0 0 0.6rem 0.15rem rgba(1,75,136,0.2);
}

.speaker-col {
    .speaker-img-container {
        margin-left: auto;
        margin-right: auto;
    }
}

.speaker-single .speaker-img-container, .speaker-col .speaker-img-container {
    width: 250px;
    height: 250px;
}

.speaker-col {
    position: relative;
    gap: 18px 8px;

    transition: 175ms ease-in-out;
    cursor: pointer;
}

.speaker-col:hover {
    box-shadow: 0 0 0.3rem 0.3rem rgba(1,75,136,0.3);
}

.speaker-col:hover .speaker-img {
    transform: scale(1.05);
}

.speaker-col:hover .speaker-cta {
    background-color: #CF592B;
}

.speaker-col-top {
    gap: 8px;
}

.speaker-single {
    align-items: center;
    gap: 32px 8px;
    
    margin-bottom: 24px;
}

.speaker-single-header {
    gap: 12px 16px;
}

.speaker-single-footer {
    display: flex;
    flex-direction: column;

    gap: 32px;
    
    width: 100%;
    max-width: 500px;
}

.speaker-single-fee-container {
    display: flex;
    flex-direction: column;

    justify-content: space-between;
    
    gap: 24px;
}

.speaker-img-container {
    margin-bottom: 16px;

    border-radius: 50%;

    overflow: hidden;
}

.speaker-img {
    width: 100%;
    height: 100%;

    transition: 175ms ease-in-out;
}

.speaker-cta {
    display: inline-block;

    width: 100%;
    text-align: center;

    transition: 175ms ease-in-out;
}

.speaker-header {
    align-items: flex-end;
    gap: 8px 48px;

    margin-bottom: 32px;
}

.speaker-heading {
    font-weight: 800 !important;
    padding-bottom: 0 !important;
}

.speaker-header-left {
    text-align: center;
}

.speaker-logo {
    width: 100%;
    max-width: 300px;
}

.speaker-logo-container {
    display: inline-flex;
    flex-direction: column;

    gap: 8px;

    position: relative;
}

.speaker-logo-container::after {
    content: '';

    background-image: url('../images/speaker-part.png');
    width: 66px;
    display: block;
    height: 55px;
    position: absolute;
    top: 5px;
    right: 2px;
    transform: translate(50%, -50%);
    background-repeat: no-repeat;
    background-size: cover;
}

@media all and (min-width: 981px) {
    .speaker-single-fee-container {
        align-items: flex-end;
    }

    .speaker-header-left:not(.align-left) {
        text-align: right;
    }

    .speaker-header-left.align-left {
        text-align: left;
    }
}

@media all and (max-width: 981px) {
    .speaker-heading {
        font-size: 24px !important;
        text-align: center;
    }
}

@media all and (min-width: 768px) {
    .speaker-listing {
        grid-template-columns: 1fr 1fr;
    }

    .speaker-col .speaker-img-container {
        width: 180px;
        height: 180px;
    }
}

@media all and (min-width: 1100px) {
    .speaker-listing {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .speaker-header {    
        margin-bottom: 52px;
    }

    .speaker-col .speaker-img-container {
        width: 200px;
        height: 200px;
    }
}


/* Speaker Form */
.speaker-form {
    --gf-label-width: 25%;
}

.speaker-form input[type="text"], .speaker-form input[type="email"], .speaker-form textarea {
    border: 0 !important;
    box-shadow: 0 0 0.3rem 0.15rem rgba(1,75,136,0.2);
}

.speaker-form input[type="checkbox"] {
    width: 18px;
    height: 18px;

    background-color: transparent;
    border: 1px solid #0472B6;

    cursor: pointer;
}

.speaker-form .gfield_checkbox .gchoice label {
    margin-left: 8px;
}

.speaker-form .gfield_checkbox {
    gap: 6px !important;
}

.speaker-form .gchoice label {
    font-size: 16px;
}

.speaker-form .gfield > label, .speaker-form .gfield > legend {
    display: inline-block !important;

    font-family: "Raleway", sans-serif !important;
    color: #0472B6 !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;

    line-height: 0.8!important;

    padding-right: 12px !important;
}

.speaker-form .gfield_description {
    color: #0472B6 !important;
}

.speaker-form .gfield--type-number input[type="text"]::placeholder {
    font-size: 22px;
}

.speaker-form input[type="submit"] {
    width: 100% !important;
    background-color: #0472B6 !important;

    font-size: 1.4rem !important;
}

.speaker-form input[type="submit"]:hover {
    background-color: #005A8C !important;
}

.speaker-form .ginput_container_post_image .gform_fileupload_rules {
    display: none;
}

.gform_heading {
    margin-bottom: 12px;
}

.gfield_required_asterisk {
    font-size: 22px !important;
    color: var(--dark-blue) !important;
}

.speaker-form .gform_fields {
    row-gap: 24px !important;
}

.gform_heading {
    margin-bottom: 24px;
}

.gform_heading .gform_description {
    display: none;
}

.gform_heading .gform_required_legend {
    color: #0472B6;
    font-size: 13px;
}


/* Speaker Filter */
.filter-wrapper {
    display: flex;
    align-items: baseline;
    
    gap: 32px;

    margin-bottom: 32px;

    .filter-container {
        width: 50%;

        background-color: white;
        padding: 24px;
    
        box-shadow: 0 0 0.6rem 0.15rem rgba(1,75,136,0.2);

        .filter-list-container {
            margin-top: 16px;
        }

        &.open {
            h3 {
                .caret {
                    &::after {
                        content: '\f0d7';
                        font-family: "FontAwesome";
                    }
                }
            }
        }

        h3 {
            padding-bottom: 0;
            margin-bottom: 0;

            cursor: pointer;

            .caret {
                margin-left: 8px;
                &::after {
                    content: '\f0da';
                    font-family: "FontAwesome";
                }
            }
        }

        .filter-list {
            margin-bottom: 16px;

            label {
                margin-left: 8px;
            }
        }

        button {
            text-transform: uppercase;
            border: 0;
        }
    }
}