/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

 /* Container Styles */
.adm_form_container {
    display: grid;
    grid-template-areas:
        "cta"
        "giving_matrix";
    gap: 50px;
}

.adm_cta_container {
    grid-area: cta;

    margin: 0;
    padding: 0;

    font-family: "Gotham";
    font-style: normal;
    font-weight: 700;
    font-size: 2.8rem;
    line-height: 1.25;

    color: #228597;
    text-decoration: none;
    text-align: center;
}

.adm_giving_matrix_container {
    grid-area: giving_matrix;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, auto);
    gap: 15px;

    max-width: 650px;
    width: 100%;
    margin: 0 auto;
}

.adm_giving_matrix_header_container {
    grid-column: span 3;
    text-align: center;
}

.adm_giving_matrix_button_row_container {
    grid-column: span 3;

    display: grid;
    grid-template: 1fr / 1fr 1fr;
    gap: 15px;
}

.adm_input_container {
    width: 100%;
    max-width: 100%;

    display: grid;
    grid-template-rows: 1fr auto;
}

.adm_custom_amount_container {
    display: grid;
    row-gap: 15px;
    align-items: center;

    max-width: 650px;
    width: 100%;
    margin: 0 auto;
}

.adm_custom_amount_header_container {
    text-align: center;
}

.adm_custom_amount_input_container {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;

    font-family: "Gotham";

}

.adm_standard_form_container {
    display: grid;
    gap: 50px;
    max-width: 650px;
    width: 100%;
    margin: 0 auto;
}

.adm_your_information_container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.adm_benefits_radio_container {
    grid-column: span 2;

    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-template: 1fr 1fr / 1fr;

    border: 2px solid #1A889A;
    border-radius: 3px;
}

.adm_payment_method_container {
    display: grid;
    gap: 15px;
}

.adm_credit_card_fields_container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
}

.adm_bank_account_fields_container {
    display: grid;
    gap: 15px;
}

.adm_charge_me_today_checkbox_container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%; /* Adjust this based on your container's needs */
}

.adm_shipping_address_container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
}

.adm_security_question_container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}
.adm_comments_container {
    display: grid;
    gap: 15px;
}

.adm_submission_message_container {
    display: grid;
    gap: 15px;
}


/* Heading Styles */

.adm_subheading {
    font-family: "Gotham";
    font-style: normal;
    font-weight: 700;
    font-size: 1.9rem !important;

    color: #16425b;
    text-transform: uppercase;
}

.adm_bold_serif {
    font-family: ITCBerkeleyOldStyle, "Times New Roman", serif;
    font-weight: 700;
}

/* Button Styles */
.adm_giving_matrix_button {

    margin: 0;

    font-family: "Gotham";
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;

    color: #16425b;
    text-align: center;
    text-transform: uppercase;
    line-height: 3rem;


    padding: 10px 15px;
    border-radius: 3px;
    box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.2);

    outline: none !important;
}

.adm_giving_matrix_button:hover {
    background-color: #16425b;
    color: #fff;
}

.adm_giving_matrix_button:active {
    background-color: #146977;
    color: #fff;
}

.adm_giving_matrix_button.adm_selected {
    background-color: #1C879A;
    color: #fff;
}
.adm_giving_matrix_button.adm_selected:hover {
    background-color: #16425b;
    color: #fff;
}

.adm_giving_matrix_button.adm_selected:active {
    background-color: #146977;
    color: #fff;
}

.adm_custom_amount_continue_button {
    justify-self: center;

    background-color: #1C879A;
    color: #fff;

    margin: 0;

    font-family: "Gotham";
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;

    text-align: center;
    text-transform: uppercase;
    line-height: 3rem;


    padding: 10px 15px;
    border-radius: 3px;

    outline: none !important;
}

.adm_custom_amount_continue_button:hover {
    background-color: #16425b;
}

.adm_custom_amount_continue_button:active {
    background-color: #146977;
}

.adm_submit_button {
    border-radius: 3px;
    padding: 10px 15px;

    background-color: #1E869B;
    color: #fff;
    
    font-family: "Gotham";
    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;

    display: grid;
    grid-template-columns: auto auto;
    place-items: center;
    justify-content: center;
    gap: 10px;
}

.adm_submit_button:hover {
    background-color: #16425b;
}

.adm_submit_button:active {
    background-color: #146977;
}

.adm_submit_button_icon {
    width: 18px;
    height: 18px;
    fill: #fff;
}

/* Input Styles */

.adm_input {
    font-family: ITCBerkeleyOldStyle, "Times New Roman", serif;
    font-style: normal;
    border: 2px solid #1C879A;

    width: 100%;
    max-width: 100%;
    max-height: 53px;
}

.adm_custom_amount_input {
    font-weight: 700;
    text-align: center;
    color: #16425b;    
}

.adm_custom_amount_label {
    margin: 0;
    font-weight: 700;
    font-size: 2.3rem;
    color: #16425b;
}

input.adm_custom_amount_input[type="number"]::-webkit-outer-spin-button,
input.adm_custom_amount_input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input.adm_custom_amount_input[type=number] {
    -moz-appearance: textfield;
}

/* Text Area Styles */
.adm_textarea {
    min-height: 115px;
}

/* Radio Button Styles */
.adm_benefits_radio_option {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 10px 15px;

    background-color: #fff; /* Default background */
    color: #000; /* Default text color */

}

.adm_benefits_radio_option.adm_radio_selected {
    background-color: #1A889A;
    color: #fff;
    transition: none;
}

/* Hide the default radio button */
.adm_benefits_radio_option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* Flexbox layout for label */
.adm_benefits_radio_option label {
    display: flex;
    align-items: center;
    justify-content: space-between; /* Ensures text is left and icon is right */
    cursor: pointer;
    width: 100%; /* Make the label take full width */
    line-height: 1.5; /* Adjust this based on your design */
}

/* Style for the custom icon */
.adm_benefits_radio_option label .adm_custom_icon {
    margin-left: 10px; /* Space between the text and the icon */
    width: 24px;
    height: 24px;
}

/* Default empty circle icon */
.adm_benefits_radio_option label .adm_custom_icon:before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="%231A889A" d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}

/* Change to filled circle when radio is checked */
.adm_benefits_radio_option input[type="radio"]:checked + label .adm_custom_icon:before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="%23ffffff" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}

/* Checkbox Styles */

/* Hide the default checkbox */
.adm_checkbox {
  display: none;
}

/* Create a custom square checkbox */
.adm_checkbox_label {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.adm_checkbox_box {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #1E869B;
  border-radius: 3px;
  position: relative;
  margin-right: 8px;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Style the box when the checkbox is checked */
.adm_checkbox:checked + .adm_checkbox_label .adm_checkbox_box {
  background-color: #1E869B;
  border-color: #1E869B;
}

.adm_checkbox_check_icon {
    width: 12px;
    height: 12px;
    fill: #fff;
}

/* Error Classes */
.adm_error_message {
    color: #b53737;
    font-family: "Gotham";
    font-style: normal;
    font-weight: 400;
    font-size: 1.5rem;
    padding-left: 10px;
}

/* Loading Spinner */

.adm_loading_overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black */
    z-index: 999; /* Higher than everything else */
    display: flex;
    justify-content: center;
    align-items: center;
}

.adm_loading_card {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    z-index: 1000; /* Higher than the overlay */
}
.adm_loading_spinner {
    width: 30px !important;
    height: 30px !important;
    animation: adm_spin 1s linear infinite;
    margin: 0 auto;
}

.adm_loading_spinner path {
    fill: #0073aa;
}

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


/* Submission Message */
.adm_submission_success_block {
    display: grid;
    grid-template-columns: auto 1fr;
    
    font-family: "Gotham";
    font-style: normal;
    font-size: 1.5rem;

    background-color: #EFEFEF;
    border-radius: 3px;

    display: grid;
    grid-template-columns: auto 1fr;
    gap: 15px;
    align-items: center;
    padding: 10px 15px;
}

.adm_submission_error_block {
    display: grid;
    grid-template-columns: auto 1fr;
    
    font-family: "Gotham";
    font-style: normal;
    font-size: 1.5rem;

    background-color: #EFEFEF;
    border-radius: 3px;

    display: grid;
    grid-template-columns: auto 1fr;
    gap: 15px;
    align-items: center;
    padding: 10px 15px;
}

.adm_submission_success_block i {
    color: #4CAF50 !important;
    font-size: 2rem !important;
}

.adm_submission_error_block i {
    color: #b53737 !important;
    font-size: 2rem !important;
}




/* Utilities */

.adm_col_span_1 {
    grid-column: span 1;
}

.adm_col_span_2 {
    grid-column: span 2;
}


.adm_col_span_3 {
    grid-column: span 3;
}

.adm_text_center {
    text-align: center;
}

.adm_split_row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.adm_error_border {
    border-color: #b53737;
}