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

.spinner {
    width: 40px;
    height: 40px;
    border: 5px solid var(--blue);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
    text-indent: 100%;
    overflow: hidden;
    margin-left: 1em;
}

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

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


/* Forums */
div.bbp-breadcrumb,
div.bbp-topic-tags {
    font-size: 14px;
}

#bbpress-forums,
div.bbp-template-notice li,
div.bbp-template-notice p {
    font-size: 16px;
}

#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-lead-topic,
#bbpress-forums ul.bbp-replies,
#bbpress-forums ul.bbp-search-results,
#bbpress-forums ul.bbp-topics {
    font-size: 1rem;
}

span.bbp-admin-links a {
    font-size: 0.9em;
}

.bbpress-wrapper .bbp-header,
.bbpress-wrapper .bbp-body,
.bbpress-wrapper .bbp-body li,
.bbpress-wrapper .bbp-footer {
    max-width: none;
}

#bbpress-forums fieldset.bbp-form input[type="password"],
#bbpress-forums fieldset.bbp-form input[type="text"],
#bbpress-forums fieldset.bbp-form select {
    height: 2.6em;
}

.pmpro_bbp_membership_msg {
    clear: both;
    padding: 0 2em;
    font-weight: bold;
}

/* Knowledge base */

.eckb-article-read-more-text,
.eckb-article-read-more-icon {
    color: var(--dark-green)
}

.gfield_label {
    margin-top: 2em;
}


/* Woocommerce */
.item--wc_cart .cart-icon .cart-qty .customify-wc-total-qty {
    background-color: var(--green)
}

#membership_checkout_fields .form-radio .woocommerce-input-wrapper {
    display: flex;
    flex-wrap: wrap;
}

#membership_checkout_fields .form-radio .woocommerce-input-wrapper input {
    width: 1em;
    margin-right: 5px;
}

#membership_checkout_fields .form-radio .woocommerce-input-wrapper label {
    width: calc(100% - 1em - 5px);
}

#membership_checkout_fields .other-text .optional {
    display: none;
}

#my_pmpro_directory_widget ul,
#my_pmpro_directory_widget li {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

#my_pmpro_directory_widget strong {
    margin-top: 1em;
    display: inline-block;
}

#my_pmpro_directory_widget .filter-submit {
    margin-top: 2em;
}

.directory-search .search-submit {
    margin-top: 0.5em;
    display: inline-block;
}

.wp-block-group .wp-block-columns .woocommerce .customify-grid {
    display: block;
}

.wp-block-group .wp-block-columns .woocommerce .customify-grid .customify-col-6_md-6_sm-12_xs-12 {
    max-width: 100%;
}

.wp-block-group .woocommerce .product_title {
    font-size: 1.3em;
}

.wp-block-group .woocommerce .product_meta {
    display: none;
}

.page div.wp-block-group form.cart {
    margin-bottom: 0;
}

.gift-certificate.sc_info_box {
    width: 40% !important;
    float: right !important;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 0 1px rgba(0, 0, 0, .08);
    padding: 1.8em 2em 2em 2em;
    border-radius: 2px;
}

.tribe-checkout-backlinks {
    display: none;
}

#order_review {
    clear: right;
}

.woocommerce-checkout #payment ul.payment_methods>li p {
    padding: 0.5em 3px !important;
}

/* Job board styling */
ul.job_listings li.job_listing {
    max-width: 100%;
}

ul.job_listings li.job_listing a {
    display: flex !important;
    justify-content: space-between;
}

ul.job_listings li.job_listing h3 {
    margin-bottom: 0;
}

ul.job_listings li.job_listing a img.company_logo {
    width: 200px !important;
    height: auto !important;
    max-height: 200px !important;
    object-fit: contain;
    object-position: center top;
    position: static !important;
}

ul.job_listings li.job_listing a div.location,
a .meta,
ul.job_listings li.job_listing a .meta {
    color: black !important;
    flex-basis: calc((100% - 300px) / 2.9);
    text-align: left !important;
}

.type-job_listing .has-thumb {
    display: none;
}

.single_job_listing .meta .full-time,
.job_listing .full-time {
    background-color: var(--green) !important;
    color: black !important;
    padding: 5px 10px;
    width: fit-content;
    margin: 3px;
}

.single_job_listing .meta .freelance,
.job_listing .freelance {
    background-color: #007E9E !important;
    color: white !important;
    padding: 5px 10px;
    width: fit-content;
    margin: 3px;

}

.single_job_listing .meta .internship,
.job_listing .internship {
    color: white !important;
    background-color: #6033CC;
    padding: 5px 10px;
    width: fit-content;
    margin: 3px;
}

.single_job_listing .meta .temporary,
.job_listing .temporary {
    color: white !important;
    background-color: #D22869 !important;
    padding: 5px 10px;
    width: fit-content;
    margin: 3px;
}

.single_job_listing .meta .part-time,
.job_listing .part-time {
    color: black !important;
    background-color: #F08D3C !important;
    padding: 5px 10px;
    width: fit-content;
    margin: 3px;
}

.single_job_listing .meta li {
    color: black !important;
}

.single_job_listing div.company {
    display: flex;
}

.single_job_listing .company img {
    width: 300px !important;
    height: auto !important;
    object-fit: contain;
    object-position: center top;
    position: static !important;
}

.single_job_listing .company .name {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    flex-grow: 1;
    width: calc(100% - 300px);

}

.single_job_listing .company .name a {
    margin: 0 !important;
}

.single_job_listing .company .name strong {
    font-size: 1.5em;
}

@media only screen and (max-width: 767px) {

    ul.job_listings li.job_listing a img.company_logo,
    ul.job_listings li.no_job_listings_found a img.company_logo {
        visibility: visible !important;
        margin-bottom: 1em;
    }

    ul.job_listings li.job_listing a {
        flex-direction: column;

    }

    ul.job_listings li.job_listing a .meta,
    ul.job_listings li.no_job_listings_found a .meta {
        width: 100% !important;
    }

    .single_job_listing div.company {
        flex-direction: column;
    }

    .single_job_listing .company .name {

        margin: 1em 0 !important;
        width: 100%;
    }
}

@media(hover:none) {
    #job-manager-job-dashboard table ul.job-dashboard-actions {
        visibility: visible !important;
    }
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    padding-left: 20px !important;
}

/* Custom credits tab in my account */
.row {
    display: flex;
    flex-wrap: wrap;
}

.select-year {
    width: 7em;
    margin-right: 1em;
}

.download-credits-btn {
    margin-left: auto;
    display: flex;
    align-items: center;
}

.lds-ring {
    display: none;
    position: relative;
    width: 40px;
    height: 40px;
}

.lds-ring div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 24px;
    height: 24px;
    margin: 5px;
    border: 5px solid #1D486F;
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #1D486F transparent transparent transparent;
}

.lds-ring div:nth-child(1) {
    animation-delay: -0.45s;
}

.lds-ring div:nth-child(2) {
    animation-delay: -0.3s;
}

.lds-ring div:nth-child(3) {
    animation-delay: -0.15s;
}

@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }

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


/* Top Members style */

.top-members li {
    display: flex;
    justify-content: space-between;
    max-width: 50ch;
}

.top-members .member-name {
    font-size: 1.1em;
    font-weight: bold;
    text-align: left;
}

.top-members th {
    font-weight: bold;
}

.top-members .member-credits {
    flex-grow: 1;
    text-align: right;
    display: flex;
}

.top-members .member-credits::before {
    content: '';
    background: currentColor;
    height: 1px;
    flex-grow: 1;
    display: inline-block;
    margin: 1.2em 1em 0 1em;
}

.top-members th .member-credits::before {
    background-color: transparent;
}

.top-members td:first-child {
    width: 1%;
    white-space: nowrap;
}


/* Membership pages */
div#wpadminbar~span.select2-container,
body.admin-bar>span.select2-container {
    padding-top: 32px !important;
}

@media screen and (max-width: 782px) {

    div#wpadminbar~span.select2-container,
    body.admin-bar>span.select2-container {
        padding-top: 46px !important;
    }
}

.select2-search input[type="search"] {
    height: auto;
}

.entry-content .select2-selection__rendered li {
    margin: 0;
}

div form.pmpro_form input[type="text"],
div form.pmpro_form input[type="password"],
div form.pmpro_form input[type="email"],
div form.pmpro_form input[type="number"],
div form.pmpro_form textarea,
div form.pmpro_form select,
#loginform input[type="text"],
#loginform input[type="password"] {
    max-width: 80ch;
}

div form.pmpro_form .pmpro_checkout-field.pmpro_payment-expiration select {
    max-width: 6em;
}

.member-data table td:last-of-type {
    text-align: center;
}

#user_avatar_div button.pmprorh_delete_restore_file,
#user_avatar_div button.pmprorh_delete_restore_file:hover {
    color: white;
    padding: 0 1.3em;
    background-color: var(--dark-blue);
}

form.pmpro_form select[multiple] {
    min-height: 7em;
}

/* Notices */
.notice-list {
    display: flex;
    flex-wrap: wrap;
}

.notice-list .notice {
    flex-basis: 25%;
    padding: 1em 2em 1em 0
}

.notice h2 {
    margin-bottom: 0;
}

@media(max-width: 810px) {
    .notice-list .notice {
        flex-basis: 33%;
    }
}

@media(max-width: 600px) {
    .notice-list .notice {
        flex-basis: 50%;
    }
}

@media(max-width: 450px) {
    .notice-list .notice {
        flex-basis: 100%;
    }
}

/* Events */
.tribe-events-c-subscribe-dropdown__button-text:hover {
    box-shadow: none !important;
}

.tribe-common-c-btn-icon {
    line-height: 0 !important;
}

.tribe-events-c-top-bar__datepicker-button,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next {
    display: flex !important;
}

.tribe-events .datepicker .day:hover {
    background: #d3f7ff;
}

.tribe-editor__btn--label {
    background-color: var(--light-gray) !important;
    color: black !important;
}

.tribe-events-c-subscribe-dropdown__button-text {
    background-color: transparent !important;
}

.tribe-events-c-subscribe-dropdown__button {
    display: inline-flex !important;
    align-items: center;
}

div.single-tribe_events .tribe-events-c-subscribe-dropdown__button,
div.tribe-block__events-link .tribe-events-c-subscribe-dropdown__button,
div.single-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__container,
div.tribe-block__events-link .tribe-events .tribe-events-c-subscribe-dropdown__container {
    width: auto;
}

.tribe-common .tribe-common-h3 {
    color: white;
    font-size: 90%;
}

.tribe-common .tribe-common-h3:hover {
    color: var(--dark-blue)
}

.tribe-common--breakpoint-medium.tribe-common .tribe-common-h3 {
    font-size: 1rem;
}

.tribe-events-c-top-bar__datepicker-button .tribe-common-c-svgicon__svg-fill {
    fill: white;
}

.tribe-events-c-top-bar__datepicker-button:hover .tribe-common-c-svgicon__svg-fill {
    fill: var(--dark-blue);
}

.tribe-tickets__rsvp-ar-guest-list-item-button {
    line-height: 1.2 !important;
    padding: 15px !important;
    color: white !important;
}

.tribe-tickets__rsvp-ar-guest-list-item-button:hover {
    background-color: var(--tec-color-button-primary-hover) !important;
}

svg.tribe-tickets__rsvp-ar-guest-icon path {
    fill: white !important;
    stroke: white !important;
}

/* File document icons */
.wp-block-file a.wp-block-file__button,
.widget-area .wp-block-search__button {
    background-color: var(--dark-blue);
}

a[href$='.pdf']:not(.wp-block-file__button)::before,
a[href$='.pptx']:not(.wp-block-file__button)::before,
a[href$='.xlsx']:not(.wp-block-file__button)::before,
a[href$='.docx']:not(.wp-block-file__button)::before,
a[href$='.doc']:not(.wp-block-file__button)::before {
    content: "";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    margin-right: 8px;
    font-size: 1.5em;
}

a[href$='.pdf']:not(.wp-block-file__button)::before {
    content: "\f1c1";
}

a[href$='.pptx']:not(.wp-block-file__button)::before {
    content: "\f1c4";
}

a[href$='.xlsx']:not(.wp-block-file__button)::before {
    content: "\f1c3";
}

a[href$='.docx']:not(.wp-block-file__button)::before,
a[href$='.doc']:not(.wp-block-file__button)::before {
    content: "\f1c2";
}


/* Show/hide login/account icons */
.icon-box .icon-box-item:nth-child(1) {
    display: none;
}

body.logged-in .icon-box-item:nth-child(2) {
    display: none;
}

body.logged-in .icon-box-item:nth-child(1) {
    display: block;
}

@media(max-width:568px) {
    .icon-box .icon-box-item .icon-box-label span {
        display: none;
    }
}

/* Fix issue with transparent menu */
/* .header--row.header--transparent .light-mode .nav-menu > li > a:hover, .header--row.header--transparent .light-mode .nav-menu > li.current-menu-ancestor > a, .header--row.header--transparent .light-mode .nav-menu > li.current-menu-item > a{
	color: var(--light-blue) !important;
} */

/* Newsletter */
.site-footer,
.site-footer label {
    color: white;
}

.site-footer button,
.site-footer input[type="submit"] {
    background-color: var(--green) !important;
    color: black !important;
}

.ctct-form-wrapper .ctct-message.ctct-success {
    background-color: white;
}

/* eap address */

@media(min-width: 800px) {
    .eap-billing-name {
        display: flex;
        gap: 1em;
    }

    .eap-billing-name p {
        flex: 1;
    }
}

abbr.required {
    color: red;
}

.woocommerce-input-wrapper {
    display: block;
}