:root {
    --primary-color: #0f8dcb;
    --hover-color: #57c8ff;
    --border-color: #eaeaea;
    --background-color: #f5f5f5;
    --label-color: black;
    --disabled-background-color: #eaeaea;
    --disabled-color: #b3b3b3;
    --popup-background-color: white;
    --popup-border-color: #6f6f6f;
    --popup-shadow-color: rgba(0, 0, 0, 0.12);
    --popup-shadow-color-2: rgba(0, 0, 0, 0.24);
}

/*  Suggested Styles for the Form Component:
    -------------------------
*/

/**
* ======================================================================
* Modal Styles
* ======================================================================
**/

.form-modal-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.form-modal-container h1 {
    margin: 0px;
}

.form-modal-container button {
    font-size: 1rem;
    background-color: var(--primary-color);
    padding: 10px 20px;
    color: white;
    border: 0px solid black;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.form-modal-container button:hover {
    transition: background 0.2s ease;
    background: var(--hover-color);
}

/**
* ======================================================================
* Form Input Styles
* ======================================================================
**/

.contact-form__component_container .form__input-group input,
.contact-form__component_container .form__input-group select,
.contact-form__component_container .form__input-group textarea {
    width: 100%;
    position: relative;
    border-radius: 4px;
    border: 1px solid var(--border-color);
    padding: 6px 10px;
    font-size: 1rem;
    font-weight: 200;
    box-sizing: border-box;
    height: initial;
    background-color: var(--background-color);
    border-radius: 0px;
}

/* Input */
.contact-form__component_container .form__input-group label {
    position: relative;
    display: block;
    margin: 0px 0px 6px 0px;
    font-size: 0.8rem;
    color: var(--label-color);
}

.contact-form__component_container .row {
    margin-left: 0px !important;
}

/*textarea */
.contact-form__component_container .form__input-group textarea {
    height: 250px;
    resize: none;
}

.referral-form__component_container #comments {
    border-top: 0px solid black !important;
    margin-top: initial !important;
    padding-top: initial !important;
}

.contact-form__component_container .content-form__form-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
}

/* submit button */
.form__submit-section {
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: flex-start;
}

.form__submit-section .form-submit-button {
    font-size: 1rem;
    background-color: var(--primary-color);
    padding: 10px 20px;
    color: white;
    border: 0px solid black;
    border-radius: 0px;
    cursor: pointer;
    transition: background 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
}

.form__submit-section .form-submit-button:hover {
    transition: background 0.2s ease;
    background: var(--hover-color);
}

.form__submit-section .form-submit-button:disabled {
    background-color: var(--disabled-background-color);
    color: var(--disabled-color);
}

.form-submit-button path {
    fill: white;
}

.form-submit-button svg {
    height: 1rem;
}

.form__submit-section .icon-component-container {
    width: 1rem;
}

/**
* ======================================================================
* Animations
* ======================================================================
**/

.spin {
    animation: spin 1s linear infinite;
}

/* Spin Animation */
@keyframes spin {
    from {
        transform: rotateZ(0deg);
    }
    to {
        transform: rotateZ(360deg);
    }
}


/** 
====================================================================== 
* Popup Message Reccomended Styles
======================================================================
**/

.pm-component-container {
    position: fixed;
    background-color: transparent;
    width: 100%;
    top: 40px;
    left: 0px;
    height: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pm-component-container .pm-component-content-container {
    display: grid;
    grid-template-columns: 11fr auto;
    align-items: center;
    width: 500px;
    background-color: var(--popup-background-color);
    border: 1px solid var(--popup-border-color);
    padding: 8px;
    border-radius: 2px;
    box-shadow: 0 1px 3px var(--popup-shadow-color), 0 1px 2px var(--popup-shadow-color-2);
}