.shu-forms-pt-16 {
    padding-top: 4rem
}

.shu-forms-py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}

@media (min-width: 1024px) {
    .shu-forms-lg\:pt-28 {
        padding-top: 7rem
    }

    .shu-forms-lg\:pt-6 {
        padding-top: 1.5rem
    }

    .shu-forms-lg\:pb-0 {
        padding-bottom: 4rem
    }

    .shu-forms-px-8 {
        padding-left: 2rem;
        padding-right: 2rem
    }

    .shu-forms-lg\:mb-28 {
        margin-bottom: 7rem
    }

    .shu-forms-mx-auto {
        margin-left: auto;
        margin-right: auto
    }

    .shu-forms-lg\:px-10 {
        padding-left: 2.5rem;
        padding-right: 2.5rem
    }

}

.shu-forms-form {
    display: flex;
    flex-direction: column;
    color: #ffffff;
    position: relative;
}

.shu-forms-form-background::before {
    content: "";
    z-index: -1;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: inherit;
}

.shu-forms-form h2 {
    padding-top: 1.5rem;
    font-weight: 700;
    color: rgb(255 255 255 / 1);
}

.shu-forms-form p {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.25;
}

.shu-forms-form .input-group {
    display: flex;
    flex-direction: row;
}

.shu-forms-form .input-group .field {
    width: 100%;
}

.shu-forms-form input,
select {
    height: 50px;
    border-radius: 10px;
    border: 2px solid #ccc;
    width: 100%;
    color: #000000;
}

.shu-forms-form input:disabled,
.shu-forms-form select:disabled,
.shu-forms-form textarea:disabled {
    background-color: rgba(255, 255, 255, 0.8) !important;
}

/* Handle autofilled fields in WebKit browsers (like Chrome) */
.shu-forms-form input:-webkit-autofill:disabled,
.shu-forms-form textarea:-webkit-autofill:disabled {
    -webkit-box-shadow: 0 0 0px 1000px #f0f0f0 inset;
    -webkit-text-fill-color: #888 !important;
}

.shu-forms-form input::placeholder,
.shu-forms-form input {
    color: #000000;
    text-indent: 10px;
}

.shu-forms-form select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6' /%3E%3C/svg%3E") no-repeat right 10px center;
    background-position: calc(100% - 0.75rem) center !important;
    background-color: #ffffff;
    background-size: 28px;
    text-indent: 10px;
}

.shu-forms-form .field {
    padding-bottom: 15px;
    max-width: 420px;
    width: 100%;
}

.shu-forms-form .input-group .field:first-child {
    padding-right: 15px;
}

.shu-forms-form .checkbox-wrapper {
    display: flex;
    align-items: center;
    margin-left: 5px;
}

.shu-forms-form .checkbox-wrapper input {
    width: 20px;
    margin-right: 10px;
}

.shu-forms-form .checkbox-wrapper label {
    margin-left: 5px;
}

.shu-forms-form input[type=submit] {
    padding: .75rem 2.5rem 1rem;
    font-family: ff-meta-web-pro, sans-serif, serif;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 700;
    border-radius: 3px;
    height: auto;
    cursor: pointer;
    border-width: 0;
    text-transform: none;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(186 0 70 / var(--tw-text-opacity));
    color: #672146;
    box-shadow: -1px 21px 18px -10px rgba(0, 0, 0, .17);
    -webkit-box-shadow: -1px 21px 18px -10px rgba(0, 0, 0, .17);
    -moz-box-shadow: -1px 21px 18px -10px rgba(0, 0, 0, .17);
    width: auto;
    margin: 0 auto;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    display: flex;
}

.shu-forms-form input[type=submit]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(82 26 56 / var(--tw-bg-opacity));
    color: #fff !important;
}

@media (max-width: 768px) {
    .shu-forms-form-background {
        padding: 0;
    }

    .shu-forms-form {
        padding-right: 30px;
        padding-left: 30px;
        padding-bottom: 75px;
    }

    .shu-forms-form .input-group {
        flex-direction: column;
    }

    .shu-forms-form .input-group .field:first-child {
        padding-right: 0px;
    }

    .shu-forms-form .checkbox-wrapper label {
        margin-left: 10px;
    }
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10;
    align-items: center;
    justify-content: center;
}

.loader {
    width: fit-content;
    font-weight: bold;
    font-family: monospace;
    font-size: 30px;
    clip-path: inset(0 3ch 0 0);
    animation: l4 1s steps(4) infinite;
}

.loader:before {
    content: "Submitting..."
}

@keyframes l4 {
    to {
        clip-path: inset(0 -1ch 0 0)
    }
}

.shu-forms-success {
    display: flex;
    align-items: center;
    padding: 0.5em 1em;
    background-color: #e6ffe6;
    color: #28a745;
    font-weight: 600;
    border: 1px solid #b2f0b2;
    border-radius: 4px;
    font-size: 0.95rem;
    justify-content: center;
}

.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0/var(--tw-bg-opacity))
}

.bg-blue-light {
    --tw-bg-opacity: 1;
    background-color: rgb(3 124 194/var(--tw-bg-opacity))
}

.bg-grey {
    --tw-bg-opacity: 1;
    background-color: rgb(54 54 53/var(--tw-bg-opacity))
}

.bg-grey-lighter {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 248/var(--tw-bg-opacity))
}

.bg-grey-lightest {
    --tw-bg-opacity: 1;
    background-color: rgb(248 248 248/var(--tw-bg-opacity))
}

.bg-orange {
    --tw-bg-opacity: 1;
    background-color: rgb(245 207 87/var(--tw-bg-opacity))
}

.bg-pink {
    --tw-bg-opacity: 1;
    background-color: rgb(223 100 141/var(--tw-bg-opacity))
}

.bg-primary {
    --tw-bg-opacity: 1;
    background-color: rgb(68 80 99/var(--tw-bg-opacity))
}

.bg-red {
    --tw-bg-opacity: 1;
    background-color: rgb(185 9 69/var(--tw-bg-opacity))
}

.bg-secondary {
    --tw-bg-opacity: 1;
    background-color: rgb(86 189 238/var(--tw-bg-opacity))
}

.bg-shu-crimson {
    --tw-bg-opacity: 1;
    background-color: rgb(172 20 90/var(--tw-bg-opacity))
}

.bg-shu-darkgrey {
    --tw-bg-opacity: 1;
    background-color: rgb(51 51 51/var(--tw-bg-opacity))
}

.bg-shu-lightgrey {
    --tw-bg-opacity: 1;
    background-color: rgb(247 247 247/var(--tw-bg-opacity))
}

.bg-shu-maroon {
    --tw-bg-opacity: 1;
    background-color: rgb(103 33 70/var(--tw-bg-opacity))
}

.bg-shu-pink {
    --tw-bg-opacity: 1;
    background-color: rgb(227 28 121/var(--tw-bg-opacity))
}

.bg-shu-postoffice-grey {
    --tw-bg-opacity: 1;
    background-color: rgb(214 210 196/var(--tw-bg-opacity))
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity))
}

.bg-yellow {
    --tw-bg-opacity: 1;
    background-color: rgb(246 208 88/var(--tw-bg-opacity))
}

.bg-white .text-white,
.bg-white>* {
    color: #000;
}

.bg-img.default-position {
    position: absolute;
    z-index: 1;
    width: 100%;
    overflow: hidden;
    height: auto;
    max-height: 495px;
    object-fit: cover;
}

.bg-img.left-position {
    position: absolute;
    z-index: 1;
    left: 0px;
}

.bg-img.right-position {
    position: absolute;
    z-index: 1;
    right: 0px;
}

@media (max-width: 768px) {
    .newsletter .bg-img {
        display: none;
    }
}

.newsletter .input-group,
.newsletter .field input {
    position: relative;
    z-index: 5;
    max-width: 420px;
    width: 100%;
}

.newsletter .shu-forms-form {
    align-items: center;
}

.newsletter .shu-forms-form .field p,
.newsletter .shu-forms-form .field h2 {
    max-width: 375px;
    z-index: 5;
    position: relative;
}

.newsletter .shu-forms-form input[type=submit] {
    position: relative;
}

.field-secret-class{
    position: absolute; opacity: 0; top: -999px; left: -5000px;
}