/* 
* File: rise.css
* Layer: Rise (Brand Style Sheet)
* Client: OIC of South Florida
*/

/* - 1.0  TYPOGRAPHY - */

/* -- 1.1  Global Typography -- */
body {
    font-family: var(--ff-primary) !important;
    font-size: var(--fs-body) !important;
    /* 14px */
}

.overline {
    font-family: var(--ff-primary) !important;
    font-size: var(--fs-overline) !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    /* 16px → 18px */
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--ff-primary) !important;
}

h1 {
    font-size: var(--fs-h1) !important;
}

/* 32px → 40px */
h2 {
    font-size: var(--fs-h2) !important;
}

/* 28px → 34px */
h3 {
    font-size: var(--fs-h3) !important;
}

/* 24px → 28px */
h4 {
    font-size: var(--fs-h4) !important;
}

/* 20px → 24px */
h5 {
    font-size: var(--fs-h5) !important;
}

/* 18px → 20px */
h6 {
    font-size: var(--fs-h6) !important;
}

/* 16px → 18px */

/* - 2.0  MENUS - */
/* -- 2.1  DTB Menu -- */

/* Layout & Spacing */
.dtb-menu .oic-primaryNav-desktop {
    margin-top: 10px;
}

/* Hover */
.toolbox_menu4 #top-menu>li>a>span,
.toolbox_menu4 .dtb-menu ul.et-menu>li>a>span .oic-primaryNav-desktop {
    transition: all 0.3s ease-in-out;
    padding: 8px 20px;
    border-radius: 0rem;
}

/* Dropdown */
#top-menu li ul,
#et-secondary-nav li ul,
.dtb-menu ul.et-menu li ul,
.et-db #et-boc .et-l .dtb-menu .nav li ul .oic-primaryNav-desktop {
    padding: 10px;
}

/* --- 2.1.2  DTB Utility Menu (Desktop) --- */

/* Layout & Spacing */
.dtb-menu .oic-utilityNav-desktop {
    margin-top: 10px;
}

/* Hover */
.toolbox_menu4 #top-menu>li>a>span,
.toolbox_menu4 .dtb-menu ul.et-menu>li>a>span .oic-utilityNav-desktop {
    transition: all 0.3s ease-in-out;
    padding: 8px 20px;
    border-radius: 0rem;
}

/* - 3.0  TYPOGRAPHY - */

/* -- 3.1  UI Font Colors -- */
.fc-body {
    color: var(--fc-body);
}

.fc-body-light {
    color: var(--fc-body-light);
}

.fc-white {
    color: var(--pureWhite);
}

.fc-primary {
    color: var(--marinaBay);
}

/* -- 3.2  Brand Font Colors -- */
.fc-marinaBay {
    color: var(--marinaBay);
}

.fc-marinaBay80 {
    color: var(--marinaBay80);
}

.fc-marinaBay60 {
    color: var(--marinaBay60);
}

.fc-marinaBay40 {
    color: var(--marinaBay40);
}

.fc-marinaBay20 {
    color: var(--marinaBay20);
}

.fc-marinaBay10 {
    color: var(--marinaBay10);
}

.fc-marinaBay-s1 {
    color: var(--marinaBay-shade1);
}

.fc-marinaBay-s2 {
    color: var(--marinaBay-shade2);
}

/* -- 3.3  Program Font Colors -- */

/* --- 3.3.1  Workforce Development --- */
.fc-keyLime {
    color: var(--keyLime);
}

.fc-keyLime80 {
    color: var(--keyLime80);
}

.fc-keyLime60 {
    color: var(--keyLime60);
}

.fc-keyLime40 {
    color: var(--keyLime40);
}

.fc-keyLime20 {
    color: var(--keyLime20);
}

.fc-keyLime10 {
    color: var(--keyLime10);
}

.fc-keyLime-s1 {
    color: var(--keyLime-shade1);
}

.fc-keyLime-s2 {
    color: var(--keyLime-shade2);
}

/* --- 3.3.2  Youth & Family Services --- */
.fc-seaStar {
    color: var(--seaStar);
}

.fc-seaStar80 {
    color: var(--seaStar80);
}

.fc-seaStar60 {
    color: var(--seaStar60);
}

.fc-seaStar40 {
    color: var(--seaStar40);
}

.fc-seaStar20 {
    color: var(--seaStar20);
}

.fc-seaStar10 {
    color: var(--seaStar10);
}

.fc-seaStar-s1 {
    color: var(--seaStar-shade1);
}

.fc-seaStar-s2 {
    color: var(--seaStar-shade2);
}

/* --- 3.3.3  Training & Education --- */
.fc-keyLargo {
    color: var(--keyLargo);
}

.fc-keyLargo80 {
    color: var(--keyLargo80);
}

.fc-keyLargo60 {
    color: var(--keyLargo60);
}

.fc-keyLargo40 {
    color: var(--keyLargo40);
}

.fc-keyLargo20 {
    color: var(--keyLargo20);
}

.fc-keyLargo10 {
    color: var(--keyLargo10);
}

.fc-keyLargo-s1 {
    color: var(--keyLargo-shade1);
}

.fc-keyLargo-s2 {
    color: var(--keyLargo-shade2);
}

.fc-keyLargo-alt {
    color: var(--keyLargo-alt);
}

.fc-keyLargo-alt80 {
    color: var(--keyLargo80-alt);
}

.fc-keyLargo-alt60 {
    color: var(--keyLargo60-alt);
}

.fc-keyLargo-alt40 {
    color: var(--keyLargo40-alt);
}

.fc-keyLargo-alt20 {
    color: var(--keyLargo20-alt);
}

.fc-keyLargo-alt10 {
    color: var(--keyLargo10-alt);
}

.fc-keyLargo-alt-s1 {
    color: var(--keyLargo-shade1-alt);
}

.fc-keyLargo-alt-s1 {
    color: var(--keyLargo-shade2-alt);
}

/* --- 3.3.4  Employment Services --- */
.fc-miamiBerry {
    color: var(--miamiBerry);
}

.fc-miamiBerry80 {
    color: var(--miamiBerry80);
}

.fc-miamiBerry60 {
    color: var(--miamiBerry60);
}

.fc-miamiBerry40 {
    color: var(--miamiBerry40);
}

.fc-miamiBerry20 {
    color: var(--miamiBerry20);
}

.fc-miamiBerry10 {
    color: var(--miamiBerry10);
}

.fc-miamiBerry-s1 {
    color: var(--miamiBerry-shade1-alt);
}

.fc-miamiBerry-s2 {
    color: var(--miamiBerry-shade2-alt);
}

/* --- 3.3.5  Social Enterprise (Strategic Integration) --- */
.fc-royalOrchid {
    color: var(--royalOrchid);
}

.fc-royalOrchid80 {
    color: var(--royalOrchid80);
}

.fc-royalOrchid60 {
    color: var(--royalOrchid60);
}

.fc-royalOrchid40 {
    color: var(--royalOrchid40);
}

.fc-royalOrchid20 {
    color: var(--royalOrchid20);
}

.fc-royalOrchid10 {
    color: var(--royalOrchid10);
}

.fc-royalOrchid-s1 {
    color: var(--royalOrchid-shade1);
}

.fc-royalOrchid-s2 {
    color: var(--royalOrchid-shade2);
}

.fc-royalOrchid-accent {
    color: var(--royalOrchid-accent);
}

.fc-royalOrchid-accent80 {
    color: var(--royalOrchid-accent80);
}

.fc-royalOrchid-accent60 {
    color: var(--royalOrchid-accent60);
}

.fc-royalOrchid-accent40 {
    color: var(--royalOrchid-accent40);
}

.fc-royalOrchid-accent20 {
    color: var(--royalOrchid-accent20);
}

.fc-royalOrchid-accent10 {
    color: var(--royalOrchid-accent10);
}

/* -- 3.4  Accent Colors -- */
.fc-blueHeron {
    color: var(--blueHeron);
}

.fc-blueHeron80 {
    color: var(--blueHeron80);
}

.fc-blueHeron60 {
    color: var(--blueHeron60);
}

.fc-blueHeron40 {
    color: var(--blueHeron40);
}

.fc-blueHeron20 {
    color: var(--blueHeron20);
}

.fc-blueHeron10 {
    color: var(--blueHeron10);
}

.fc-dolphinBay {
    color: var(--dolphinBay);
}

.fc-dolphinBay80 {
    color: var(--dolphinBay80);
}

.fc-dolphinBay60 {
    color: var(--dolphinBay60);
}

.fc-dolphinBay40 {
    color: var(--dolphinBay40);
}

.fc-dolphinBay20 {
    color: var(--dolphinBay20);
}

.fc-dolphinBay10 {
    color: var(--dolphinBay10);
}

.fc-dolphinBay5 {
    color: var(--dolphinBay5);
}

/* - 4.0  FORMS - */

/* -- 4.1  CF7 -- */

/* Placeholder */
::placeholder,
:-ms-input-placeholder,
::-ms-input-placeholder {
    color: var(--dolphinBay60);
    opacity: 1;
}

/* Form Header */
.form-header {
    width: 100%;
    max-width: 31.25rem;
    margin-inline: auto;
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Global Field Structure */
form textarea {
    resize: none;
}

.form-group,
form input,
form textarea,
.wpcf7 .form-row p,
.wpcf7 input.wpcf7-form-control,
.wpcf7 textarea.wpcf7-form-control {
    width: 100%;
}

/* Form Part Spacing */
form .form__part:not(:last-of-type) {
    margin-bottom: 0.75rem;
}

/* Headings & Helpers */
.form-part__title,
.form-part__heading,
.form-part__heading-first,
.form-part__helper,
.form-part__description {
    font-family: var(--ff-primary);
    color: var(--marinaBay);
}

.form-part__title {
    font-family: var(--ff-primary);
    font-size: clamp(1.25rem, 1.071rem + 0.536vw, 1.5rem);
    /* 20px → 24px */
}

.form-part__heading,
.form-part__heading-first {
    font-size: clamp(1.125rem, 1rem + 0.357vw, 1.25rem);
    /* 18px → 20px */
    ;
}

.form-part__helper {
    font-family: var(--ff-primary);
    font-size: 1rem;
}

.form-part__description {
    font-style: italic;
    font-size: 0.875rem;
    /* 14px */
    color: var(--fc-body);
}

.form-part__heading:not(:empty) {
    margin-bottom: 0;
}

.form-part__heading-first:not(:empty) {
    margin-bottom: 1.25rem;
    /* 20px */
}

.form-part__helper:not(:empty) {
    margin-top: 0.3125rem;
    /* 5px */
}

/* Form Rows */
form .form__part .form-row,
.wpcf7 form .form-row {
    margin-bottom: 0rem;
    /* consistent spacing between form rows */
}

form .form__part .form-row:last-child,
.wpcf7 form .form-row:last-child {
    margin-bottom: 0;
}

form .form__part .form-row.flex,
.wpcf7 form .form-row.flex {
    display: flex;
    gap: 1.25rem;
    /* 20px */
}

/* Acceptance Row */
.form-row--acceptance {
    display: flex;
    justify-content: flex-start;
    text-align: left;
}

/* Checkbox & Label Alignment */
.form-row--acceptance .wpcf7-acceptance,
.form-row--acceptance .wpcf7-list-item,
.form-row--acceptance .wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    max-width: 100%;
    margin-top: 0;
    gap: 0;
}

/* Label Styles */
.form-row--acceptance .wpcf7-list-item label {
    font-family: var(--ff-primary);
    font-size: 1em;
    color: var(--fc-body);
    line-height: 1.4;
    cursor: pointer;
    padding-left: 0;
}

/* Remove Default Margin */
.form-row--acceptance span.wpcf7-list-item {
    margin: 0;
}

/* Checkbox Styling */
.wpcf7-acceptance input[type="checkbox"] {
    position: relative;
    cursor: pointer;
    padding: 0;
    margin-right: 0.938rem;
    width: 1.25rem;
}

/* Checkbox Base Box */
.wpcf7-acceptance input[type="checkbox"]::before {
    content: '';
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 0.625rem;
    margin-top: -0.125rem;
    background: #fcfcfc;
    border: 1px solid #aaa;
    border-radius: 0rem;
}

/* Checked State */
.wpcf7-acceptance input[type="checkbox"]:checked::before {
    background: #000;
    border-color: #000;
}

/* Disabled State */
.wpcf7-acceptance input[type="checkbox"]:disabled {
    color: #b8b8b8;
    cursor: auto;
}

.wpcf7-acceptance input[type="checkbox"]:disabled::before {
    box-shadow: none;
    background: #ddd;
}

/* Checkmark */
.wpcf7-acceptance input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 0.313rem;
    top: 0.5rem;
    width: 0.125rem;
    height: 0.125rem;
    background: white;
    box-shadow:
        2px 0 0 white,
        4px 0 0 white,
        4px -2px 0 white,
        4px -4px 0 white,
        4px -6px 0 white,
        4px -8px 0 white;
    transform: rotate(45deg);
}

/* Inline Submit Buttons */
/* Shared styles for inline forms with button */
.form-row--inline-submit,
.form-row--inline-add-to-cart {
    display: grid;
    grid-template-columns: 1fr 200px;
    gap: 0.75rem;
}

.form-row--inline-submit button[type="submit"],
.form-row--inline-add-to-cart button[type="submit"] {
    flex-shrink: 0;
    margin-top: 0;
}

/* Responsive: stack on smaller screens */
@media (max-width: 767px) {

    .form-row--inline-submit,
    .form-row--inline-add-to-cart {
        grid-template-columns: 1fr;
    }
}

/* Labels & Inputs */
label,
label>span.input-label {
    font-family: var(--fc-body);
    font-size: 0.875rem;
    color: var(--marinaBay);
}

label>span.input-label {
    margin-bottom: 0.25rem;
    padding: 0.938rem 1.875rem;
    padding-block: 0;
}

label span,
.wpcf7 span.wpcf7-form-control-wrap {
    width: 100%;
    display: block;
    position: relative;
}

input,
textarea,
.wpcf7 input.wpcf7-form-control,
.wpcf7 textarea.wpcf7-form-control {
    padding: 0.938rem 1.875rem;
    font-family: var(--ff-primary);
    font-size: 1rem;
    color: var(--fc-body);
    background-color: white;
    border: 1px solid var(--dolphinBay40);
    border-radius: 0rem;
    transition: var(--trans);
}

select[name="contact-location"] {
    padding: 0.938rem 1.25rem 0.938rem 0.938rem;
    max-width: 80%;
    font-family: var(--ff-primary);
    font-size: clamp(0.813rem, 0.661rem + 0.403vw, 1rem);
    /* 13px → 16px */
    color: var(--fc-primary);
    background-color: white;
    border-radius: 0rem;
    border: 1px solid var(--dolphinBay40);
    transition: var(--trans);
}

/* Submit Button */
button[type="submit"],
.wpcf7 input.wpcf7-submit {
    width: auto;
    margin-top: 2rem;
    font-family: var(--ff-primary);
    font-size: 0.938rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    background-color: var(--marinaBay);
    border: 0 solid var(--marinaBay);
    border-radius: 0rem;
    padding: 0.625rem 1.25rem;
    color: white;
    cursor: pointer;
    transition: var(--trans);
}

button[type="submit"]:hover,
button[type="submit"]:focus,
.wpcf7 input.wpcf7-submit:hover,
.wpcf7 input.wpcf7-submit:focus {
    background-color: var(--marinaBay80);
    border-color: var(--marinaBay80);
    transform: scale(1.1);
}

/* Form Responses */
/* All Responses */
.wpcf7 form .wpcf7-response-output {
    margin: 2em 0em 1em;
    padding: 1em;
    border: 0px;
    border-radius: 0em;
    background-color: rgb(209 225 255 / 0.3);
    ;
}

/* Success Message */
.wpcf7 form.sent .wpcf7-response-output {
    background-color: var(--keyLime);
    color: #ffffff;
    font-size: var(--fs-formSubmitResponse);
    font-weight: 500;
}

/* Success Message Icon */
.wpcf7 form.sent .wpcf7-response-output::before {
    font-family: 'FONTAWESOME';
    content: "\f058";
    font-size: 1.1em;
    margin-right: 0.5em;
    vertical-align: -0.05em;
    /* tiny nudge */
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

/* - 5.0  Buttons - */
.button-rise:hover {
	transform: translateY(-6px);
	transition: transform 0.2s ease;
}

.grow-button:hover {
	transform: scale(1.10);
	transition: transform 0.2s ease;
}

/* -- 5.1  Donate Button */
.button-donate:after {
	margin-right: 0.6rem !important;
	margin-top: -0.03rem !important;
	filter: drop-shadow(0 0 0px #fff);
	transition: transform 0.2s ease;
}

.button-donate:hover {
	transform: translateY(-6px);
	transition: transform 0.2s ease;
}

/* - 6.0  Headers - */
#oic-header-logo {
	width: clamp(12rem, 10.826rem + 4.565vw, 15rem) 
}