@import 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css';

@media (max-width: 600px) {
    .header-custom-div + div {
        display: none;
    }

    .header-nav .navmenu-icon {
        top: 7px !important;
        right: 0 !important;
    }

    .header-nav .sitenav {
        position: absolute;
        text-align: right;
        top: 42px;
        left: -1.5rem;
        width: 100vw;
    }

    .header-link {
        display: block;
        text-align: left;
        width: 100%;
    }

    .left-content {
        display: none;
    }

    .right-content {
        display: none;
    }

    .main-content {
        min-width: calc(100% - 4em) !important;
        width: unset;
        margin-left: 2em;
        margin-right: 2em;
    }

    .content-box-wrapper {
        margin: 1rem 0 !important;
    }
}

.header-nav .sitenav {
    background-color: var(--neutral-fill-stealth-rest);
}

.header-nav .navmenu-icon * {
    fill: var(--neutral-foreground-rest) !important;
}

.header-custom {
    background-color: #F4A460 !important;
    background-image: linear-gradient(135deg, rgba(250, 0, 118, 1) 0%, rgba(60, 8, 118, 1) 100%) !important;
}

.header-custom:has(.header-nav) {
    background-color: var(--neutral-fill-stealth-rest) !important;
}

    .header-custom:has(.header-nav) .header-title {
        color: lightgrey;
    }

    .header-custom:has(.header-nav) .sitenav {
        background: unset;
    }

    .header-custom:has(.header-nav) .navmenu-icon * {
        fill: var(--neutral-fill-rest) !important;
    }

.header-nav .link, .header-title .link {
    background: transparent !important;
    color: var(--neutral-fill-rest) !important;
    text-decoration: none;
}

.header-link {
    color: var(--neutral-fill-rest);
    font-family: var(--body-font);
    font-size: var(--type-ramp-base-font-size);
    font-weight: initial;
    padding: 0 calc((10 + (var(--design-unit) * 2 * var(--density))) * 1px);
    text-decoration: none;
}

.main-content {
    padding-bottom: 40px;
}

    .main-content .header-banner {
        background: url(/images/web-design_1920.jpg) no-repeat 0 center;
        background-size: cover;
        height: 275px;
    }
    @media (max-width: 600px) {
        .main-content .header-banner {
            height: 150px;
        }
    }

    .main-content h1, .main-content h2, .main-content h3 {
        margin-top: 1rem;
    }

.footer {
    position: fixed;
    left: 0; right: 0;
    bottom: 0;
}

.footer-link {
    text-decoration: none;
    color: var(--neutral-foreground-rest);
    font-family: var(--body-font);
    font-size: inherit;
    font-weight: initial;
    padding: 0 calc((10 + (var(--design-unit) * 2 * var(--density))) * 1px);
}

fluent-breadcrumb-item svg {
    vertical-align: text-top;
}

.nav-item-active .positioning-region::before {
    content: "";
    display: block;
    position: absolute;
    right: unset;
    width: 3px;
    height: calc(((var(--base-height-multiplier) + var(--density)) * var(--design-unit) / 2) * 1px);
    background: var(--accent-fill-rest);
    border-radius: calc(var(--control-corner-radius) * 1px);
    margin: calc(var(--design-unit) * 2px) 2px;
    z-index: 5;
}

.app-header {
    background-color: #F0FFFF;
    display: flex;
    align-items: end;
    padding: 0.75em 1.72em;
}

    .app-header h2, .app-header h3, .app-header h4 {
        margin: 0;
    }

.body-content {
    background-color: #F8F8FF;
}

.box-wrapper {
    background-color: white;
    border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);
    border-radius: calc(var(--control-corner-radius) * 1px);
    padding: 1.3em;
    margin-top: 1em;
}

.content-box-wrapper {
    margin: 1rem 1.5rem;
}

.content:has(.layout3) {
    padding: 0 !important;
}

.calendar-grid {
    border-top: #696969 1px solid;
    border-left: #696969 1px solid;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14.2857%, 1fr));
}

    .calendar-grid .calendar-day {
        border-bottom: #696969 1px solid;
        border-right: #696969 1px solid;
        overflow: hidden;
    }

    .calendar-grid .sunday {
        background: #faf;
    }

    .calendar-grid .last-month {
        background: #afa;
    }

    .calendar-grid .next-month {
        background: #afa;
    }

.calendar-day {
    display: grid;
    grid-template-rows: 20px auto;
    height: 100%;
}

.form-grid {
    display: grid;
    row-gap: 10px;
    column-gap: 15px;
    grid-template-columns: repeat(auto-fit, minmax(25%, 1fr));
    margin-bottom: 15px;
}
@media (max-width: 600px) {
    .form-grid {
        grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
    }
}
@media (min-width: 601px) and (max-width: 959px) {
    .form-grid {
        grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
    }
}
@media (min-width: 960px) and (max-width: 1279px) {
    .form-grid {
        grid-template-columns: repeat(auto-fit, minmax(33%, 1fr));
    }
}

    .form-grid .form-input-item {
        display: grid;
        grid-template-columns: 35% auto;
    }

    .form-grid .form-label {
        align-self: center;
    }

    .form-grid .form-label:has(+ div.required)::after {
        content: " *";
        color: red;
    }

.form-field {
    width: 50%;
    margin-bottom: 1em;
}

.form-field3 {
    width: 33%;
    margin-bottom: 1em;
}

.grid-box {
    display: grid;
}

    .grid-box .grid-item * {
        overflow: hidden;
    }

.validation-errors {
    background-color: #F08080;
    padding: 1em 3em;
}
