:root {
    /*general*/
    --spacing: 8px;
    --border-radius: 4px;
    /*colors*/
    --primary-dark: #27004C;
    --primary-main: #5900C1;
    --primary-light: #873BFF;
    --secondary-dark: #B87DD6;
    --secondary-main: #E2AFF9;
    --secondary-light: #F0D7FC;
    --action-hover: #5900C11A;
    --action-selected: #5900C133;
    --color-indigo-dark: #27004C;
    --color-indigo-main: #5900C1;
    --color-indigo-light: #873BFF;
    /*typography*/
    --font-family: "Open Sans", sans-serif;
    --font-size: 16;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 600;
    --font-weight-bold: 700;
}

body {
    font-family: var(--font-family);
}

/*typography*/
.MuiTypography-root {
    margin: 0;
    font-family: var(--font-family);
    color: var(--color-indigo-dark);
    font-weight: 400;
    line-height: 1.5;
    text-decoration: none;
}

.MuiTypography-h1 {
    font-size: 2.5rem;
}

.MuiTypography-h2 {
    font-size: 2rem;
}

.MuiTypography-h3 {
    font-size: 1.75rem;
}

.MuiTypography-h4 {
    font-size: 1.5rem;
}

.MuiTypography-h5 {
    font-size: 1.25rem;
}

.MuiTypography-h6 {
    font-size: 1.125rem;
}

.MuiTypography-body1 {
    font-size: 1rem;
}

.MuiTypography-body1Bold {
    font-size: 1rem;
    font-weight: 600;
}

.MuiTypography-small {
    font-size: 0.75rem;
}

.MuiTypography-smallBold {
    font-size: 0.75rem;
    font-weight: 600;
}

@media (min-width: 850px) {
    .MuiTypography-h1 {
        font-size: 3.222rem;
    }

    .MuiTypography-h2 {
        font-size: 2.666rem;
    }

    .MuiTypography-h3 {
        font-size: 2.222rem;
    }

    .MuiTypography-h4 {
        font-size: 1.777rem;
    }

    .MuiTypography-h5 {
        font-size: 1.333rem;
    }

    .MuiTypography-h6 {
        font-size: 1.166rem;
    }

    .MuiTypography-body1 {
        font-size: 1rem;
    }

    .MuiTypography-body1Bold {
        font-size: 1rem;
        font-weight: 600;
    }

    .MuiTypography-small {
        font-size: 0.833rem;
    }

    .MuiTypography-smallBold {
        font-size: 0.833rem;
        font-weight: 600;
    }
}

/*Utils*/
.MuiSrOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.MuiList-root {
    list-style: none;
    margin: 0;
}

.MuiListItem-root {
    margin: 0;
}

.MuiStack-root {
    display: flex;
    flex-direction: column;
}

.MuiButton-root {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: border-box;
    cursor: pointer;
    vertical-align: middle;
    appearance: none;
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    line-height: 1.5;
    min-width: calc(8 * var(--spacing));
    text-transform: none;
    box-shadow: none;
    background-color: transparent;
    font-size: 1.125rem;
    min-height: calc(7 * var(--spacing));
    outline: 0;
    margin: 0;
    text-decoration: none;
    border-radius: var(--border-radius);
    padding: calc(1.5 * var(--spacing)) calc(2 * var(--spacing));
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
}

.MuiButton-icon .MuiSvgIcon-root {
    font-size: 32px;
    user-select: none;
    width: 1em;
    height: 1em;
    display: inline-block;
    flex-shrink: 0;
    fill: currentcolor;
}

.MuiButton-startIcon {
    display: inherit;
    margin-right: 8px;
    margin-left: -4px;
}

/*Header*/
.MuiBox-header.MuiAppBar-root {
    width: 100%;
    background-color: var(--primary-main);
    color: white;
    display: flex;
    flex-direction: column;
    margin-bottom: calc(4 * var(--spacing));
}

@media (min-width: 850px) {
    .MuiBox-header.MuiAppBar-root > .MuiContainer-root {
        display: flex;
        flex-direction: column-reverse;
    }
}

@media (min-width: 850px) {
    .MuiBox-header .MuiToolbar-root {
        padding-left: calc(3 * var(--spacing));
        padding-right: calc(3 * var(--spacing));
        min-height: calc(13 * var(--spacing));
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: calc(3 * var(--spacing));
    }
}

.MuiBox-header .MuiToolbar-header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-left: calc(3 * var(--spacing));
    padding-right: calc(3 * var(--spacing));
    width: 100%;
    min-height: calc(8 * var(--spacing));
}

@media (min-width: 850px) {
    .MuiBox-header .MuiToolbar-header {
        width: auto;
        padding-left: 0;
        padding-right: 0;
    }
}

.MuiBox-header .MuiStack-primaryMenu {
    display: none;
    background: white;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.MuiBox-header .MuiStack-primaryMenu.open {
    display: flex;
}

.MuiBox-header .MuiStack-primaryMenu .MuiLink-root {
    color: var(--color-indigo-dark);
    padding: calc(1.5 * var(--spacing)) calc(2 * var(--spacing));
    display: block;
    font-weight: 700;
    font-size: 1.5rem;
}

.MuiBox-header .MuiStack-primaryMenu .MuiLink-root:hover,
.MuiBox-header .MuiStack-primaryMenu .MuiLink-root:active {
    text-decoration: none;
    background-color: var(--action-hover);
}

@media (min-width: 850px) {
    .MuiBox-header .MuiStack-primaryMenu {
        display: flex;
        flex-flow: wrap;
        align-items: center;
        gap: calc(4 * var(--spacing));
        background: transparent;
        color: white;
        border: 0;
        padding-top: calc(4 * var(--spacing));
        padding-bottom: calc(4 * var(--spacing));
    }

    .MuiBox-header .MuiStack-primaryMenu .MuiLink-root {
        color: white;
        padding: 0;
        font-size: 1rem;
        font-weight: 600;
    }

    .MuiBox-header .MuiStack-primaryMenu .MuiLink-root:hover,
    .MuiBox-header .MuiStack-primaryMenu .MuiLink-root:active {
        text-decoration: underline;
        background-color: transparent;
        color: var(--secondary-main);
    }
}

.MuiBox-header .MuiStack-logos {
    flex-direction: row;
    gap: calc(3 * var(--spacing));
}

.MuiBox-header .MuiBox-logo {
    height: 25px;
}

@media (min-width: 850px) {
    .MuiBox-header .MuiBox-logo {
        height: 30px;
    }
}

.MuiBox-header .MuiBox-secondaryMenu {
    display: none;
    background-color: white;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.MuiBox-header .MuiBox-secondaryMenu.open {
    display: block
}

.MuiBox-header .MuiBox-secondaryMenu .MuiLink-root {
    color: var(--color-indigo-dark);
    padding: calc(1.5 * var(--spacing)) calc(2 * var(--spacing));
    display: block;
    font-weight: 400;
    font-size: 1.25rem;
}

.MuiBox-header .MuiBox-secondaryMenu .MuiLink-root:hover,
.MuiBox-header .MuiBox-secondaryMenu .MuiLink-root:active {
    text-decoration: none;
    background-color: var(--action-hover);
}

@media (min-width: 850px) {
    .MuiBox-header .MuiBox-secondaryMenu {
        display: block;
        border: 0;
        padding: calc(1.5 * var(--spacing)) calc(5 * var(--spacing));
        min-height: calc(6 * var(--spacing));
    }

    .MuiBox-header .MuiBox-secondaryMenu .MuiLink-root {
        color: var(--color-indigo-dark);
        padding: 0;
        font-size: 0.75rem;
    }

    .MuiBox-header .MuiBox-secondaryMenu .MuiLink-root:hover,
    .MuiBox-header .MuiBox-secondaryMenu .MuiLink-root:active {
        text-decoration: underline;
        background-color: transparent;
    }

}

@media (min-width: 850px) {
    .MuiBox-header .MuiBox-secondaryMenu .MuiList-root {
        flex-direction: row;
        gap: calc(2 * var(--spacing));
        align-items: center;
        justify-content: flex-end;
    }
}

.MuiBox-header .MuiStack-menuButton {
    flex-grow: 1;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

.MuiBox-header .MuiStack-menuButton .MuiSvgIcon-close,
.MuiBox-header .MuiStack-menuButton .MuiButton-textClose,
.MuiBox-header .MuiStack-menuButton .MuiButton-root.open .MuiSvgIcon-open,
.MuiBox-header .MuiStack-menuButton .MuiButton-root.open .MuiButton-textOpen {
    display: none;
}

.MuiBox-header .MuiStack-menuButton .MuiButton-root.open .MuiSvgIcon-close,
.MuiBox-header .MuiStack-menuButton .MuiButton-root.open .MuiButton-textClose {
    display: inline-block;
}

@media (min-width: 850px) {
    .MuiBox-header .MuiStack-menuButton {
        display: none;
    }
}

/*Footer*/
.MuiBox-footer {
    background-color: var(--primary-main);
    color: white;
}

.MuiBox-footer .MuiTypography-root {
    color: white;
}

.MuiBox-footer .MuiLink-root {
    color: white;
}

.MuiBox-footer .MuiLink-root:hover {
    color: var(--secondary-main);
}

.MuiBox-footer .MuiContainer-root {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: calc(3 * var(--spacing));
}

@media (min-width: 850px) {
    .MuiBox-footer .MuiContainer-root {
        padding: calc(5 * var(--spacing)) calc(10 * var(--spacing));
    }
}

.MuiBox-footer .MuiList-root {
    padding: var(--spacing) 0 calc(5 * var(--spacing));
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: calc(2 * var(--spacing));
}

.MuiBox-footer .MuiDivider-vertical {
    margin: 0;
    flex-shrink: 0;
    border-width: 0 2px 0 0;
    border-style: solid;
    border-color: white;
    height: 1.25rem;
    align-self: center;
}