@font-face {
    font-family: "Noto Sans Display";
    src: url("../css/NotoSansDisplay-VariableFont.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

body,
p,
span,
li,
ul,
h1,
h2,
h3,
h4,
h5,
label,
input {
    font-family: "Noto Sans Display", Helvetica, Arial, sans-serif !important;
}

body {
    font-family: "Noto Sans Display", Helvetica, Arial, sans-serif !important;
    overflow-y: scroll;
    max-width: 100vw;
    overflow-x: hidden;
}

#root {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

#root>section {
    flex: 1;
}

.sp-date .sp-required legend::after,
.sp-radio .sp-required div legend::after,
.sp-dropdown .sp-required label::after,
.sp-required label:first-child::after,
.sp-input .sp-required label::after {
    content: "";
    visibility: visible;
    color: rgb(218, 57, 74);
    background: rgb(218, 57, 74);
    width: 8px;
    height: 8px;
    margin-left: 6px;
    display: inline-block;
    border-radius: 50%;
    position: relative;
    top: -1px;
}

.footer-section:first-child {
    background-color: #18437c;
    text-align: center;
    color: white
}

.footer-section>.container {
    padding: 40px 0;
    display: flex;
    justify-content: space-between;
}

.footer-section:first-child>.container>div {
    flex: 1;
}

.footer-section>.container>div:not(:last-child) {
    margin-right: 15px;
}

.footer-section p {
    margin-bottom: 0;
}


.sp-navbar {
    font-weight: bold;
    font-size: 14px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 8px;
}

/*
.sp-form .sp-input label,
.sp-form .sp-dropdown label,
.sp-form .sp-date label,
.sp-form .sp-date-time-picker label,
.sp-fileupload label,
label:not(.sp-radio label, .sp-checkbox div div label),
.fakeLabel {
    position: relative;
    top: .4rem !important;
    font-size: 14px !important;
    line-height: 15px !important;
    font-weight: 500 !important;
    color: #000000 !important;
}


.sp-input input {
    display: block;
    color: rgb(51, 51, 51);
    height: 40px;
    border-radius: 8px;
}

.sp-date>div>div {
    padding: 0px;
    border-radius: 8px;
    height: 40px;
}

.DateRangePickerInput>.DateInput>input {
    font-size: 16px;
}


.sp-input,
textarea,
dropdown,
select,
checkbox,
radio {
    font-size: 14px !important;
    margin-bottom: 0px !important;
}

select {
    color: rgb(51, 51, 51) !important;
    height: 40px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
    min-height: 40px !important;
}

*/

h1 {
    font-size: 2em !important;
    margin-bottom: 16px !important;
}

h2 {
    margin-top: 24px;
    font-size: 1.5em !important;
}

h3 {
    margin-bottom: 6px !important;
    font-size: 1.17em !important;
}

h4 {
    font-size: 1em !important;
}

h5 {
    font-size: .83em !important;

}

h6 {
    font-size: .67em !important;
}

hr {
    margin-bottom: 8px;
}

.sp-accordion>div>div {
    font-weight: bold;
}

.sp-accordion .sp-summary>div>div {
    font-weight: normal;
}

.sp-summary .sp-accordion>div>div {
    font-weight: normal;
}


.sp-summary h2 {
    font-size: 1.3rem;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
    margin-bottom: 16px !important;
    padding-bottom: 4px !important;
    color: #032350 !important;
}

.sp-summary h1 {
    font-weight: bold;
    border-bottom: 1px solid #ccc;
    margin-bottom: 16px !important;
    padding-bottom: 4px !important;
    color: #032350 !important;
    margin: 30px 0px;
}

.sp-summary-form-heading {
    color: #032350 !important;
    margin-top: 32px;
}

.sp-login {
    justify-content: start !important;
}

.sp-login>div {
    padding: 0px;
    border-radius: 10px;
}

.sp-tickets-th {
    white-space: nowrap;
}

.sp-accordion h2 {
    margin-bottom: 16px !important;
}

.sp-repeat-item-label {
    margin-top: 10px;
}

.removeAddButton button {
    display: none;
}

.sp-tickets tr a {
    color: #0034ff !important;
}

.sp-summary>div .sp-repeat {
    margin: 0px !important;
}

/* For text components replacing headers */
.sp-summary p:has(strong) {
    margin-bottom: 0px;
}

.sp-summary .sp-repeat-divider {
    margin-top: 0px;
}


/* Repeat label */
.sp-summary .sp-form-label {
    font-weight: bold !important;
    margin-bottom: 0px !important;
    color: rgb(33, 37, 41);
}

.sp-form hr {
    margin-top: 0px;
}

/* Decrease margins for headers with hrs */
div:has(hr) .sp-text:has(h1),
div:has(hr) .sp-text:has(h2),
div:has(hr) .sp-text:has(h3),
div:has(hr) .sp-text:has(h4) {
    margin-bottom: 0px;
}

/* For when we need to use text components as a label */
.sp-text strong {
    font-weight: bold;
    font-size: 1rem;
}

.sp-summary .sp-text strong {
    font-weight: bold;
    font-size: 1rem;
    color: black;
}

.sp-form .sp-text p {
    /* margin-bottom: 0px;*/
}

.sp-form div.heading {
    font-weight: bold;
    font-size: 1rem;
    color: rgb(64, 78, 103);
}


.sp-form-edit .hiddenInPortal {
    height: 0;
    opacity: 0;
}

.sp-summary .receipt-summary-component {
    margin-bottom: 15px;
}

/* repeat remove button */
.sp-form-edit .sp-repeat .sp-repeat-remove-btn {
    padding: 0px;
}

/* If a repeat has an item label, we don't really need the large margin from the repeat */
.sp-repeat:has(.sp-repeat-item-label)>.sp-repeat {
    margin-top: 0px;
}

.textSubLabels div:has(.sp-lookup)>.sp-lookup {
    margin-bottom: 0px;
}

.sp-form-summary .sp-summary-heading,
.sp-form-summary .sp-summary-description {
    display: none !important;
}

.summaryHeading {
    margin: 10px 0px;
}

.marginTop20 {
    margin-top: 20px;
}

.sp-navbar {
    background-color: #FFF !important;
    border-bottom: 3px solid #215396;
}

.sp-navbar .section-logo {
    height: 70px;
    aspect-ratio: 3/1;
}

.sp-navbar .section-logo img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.sp-navbar li,
.sp-navbar li span {
    color: #005d9a !important;
    font-weight: 400;
}

.sp-navbar li:hover,
.sp-navbar li span:hover,
.sp-navbar li span:hover .nav-text {
    color: #005d9a !important;
    text-decoration: underline;
}

a:hover {
    text-decoration: underline;
}

.formName {
    /* margin-top: 50px; */
}

footer.container-fluid {
    padding-bottom: 0px;
    color: white;
}

footer.container-fluid a {
    color: white;
}

.sp-datasheet tbody td div[disabled] {
    background: #f1f1f1;
}

thead {
    background: #E5E5E5;
}

.section-indicator-text .current {
    background-color: #009284;
    color: rgb(255, 255, 255);
    border-top: 1px solid #009284;
    border-bottom: 1px solid #009284;
    border-left: 1px solid #009284;
}

.section-indicator-text .past {
    background-color: #003D4B;
    color: rgb(255, 255, 255);
    border-top: 1px solid #003D4B;
    border-bottom: 1px solid #003D4B;
    border-left: 1px solid #003D4B;
}

.section-indicator-text .coming {
    color: black !important;
}

.tackvy {
    margin-top: 50px;
}

.largerText {
    font-size: 1.375rem;
    line-height: 1.4;
    overflow-wrap: break-word;
}

section.container:has(.testEnvironmentInfo) {
    padding-bottom: 0px;
}

.testEnvironmentInfo {
    background: #ffecc4;
    display: flex;
    align-items: center;
    margin: 0px;
    padding: 0px;
    gap: 10px;
}

.testEnvironmentInfoIcon {
    background: #ffcb7a;
    align-items: center;
    height: 100%;
    font-size: 1.3em;
    padding: 10px 0px;
    width: 10%;
    text-align: center;
}

.testEnvironmentInfoIcon div {
    height: 100%;
}

.testEnvironmentInfoText {
    text-align: center;
    width: 100%;

}

.testEnvironmentInfoText p,
.testEnvironmentInfoText .sp-text,
.testEnvironmentInfoText a {
    margin: 0px auto;
    font-size: 14px;
}

.sp-wrapper-process-button button {
    border-radius: 40px;
    overflow: hidden;
    width: fit-content;
    padding: 10px 30px;
    transition: 250ms;
    min-height: 50px;
    margin-bottom: 12px;
    border: 2px solid rgb(0, 102, 153) !important;
}

.sp-wrapper-process-button button[name=_cancel] {
    background-color: rgb(64, 78, 103) !important;
    color: white;
}

.sp-wrapper-process-button button[name=_prev] {
    background-color: #1B97D5 !important;
    color: white;
    border: 2px solid #1B97D5 !important;
}

.sp-wrapper-process-button button[color=primary] {
    background-color: #0065AC;
}

.sp-wrapper-process-button button:hover {
    filter: brightness(1.1);
}

.sp-form button[color=primary] {
    background-color: #0065AC;
}

.sp-form button[color=primary]:hover {
    background-color: #1B97D5;
    border: 2px solid #1B97D5 !important;
}

/* Ge subLabels/underrubriker mer kontrast och gör dem vänsterjusterade */
.sp-sub-label,
[class*="sp-datasheet"] .sp-helpbox-wrapper p {
    color: rgba(0, 0, 0, 0.85) !important;
    text-align: left !important;
}

/* Remove the remove button from the first repeat instance */

.sp-repeat-remove-btn[data-index="0"] {
    display: none;
}

.hideInPortal {
    opacity: 0;
    height: 0;
}

.marginTop12 {
    margin-top: 12px;
}

.colorBlue {
    color: rgb(64, 78, 103);
}



.signatureWrapper .bankid div:has(button),
.signatureWrapper .frejaeid-sign:has(button) {
    justify-content: flex-start;
}

.signatureWrapper button:not(.frejaeid-sign-modal button) {
    margin-top: 30px;
    padding: 10px;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: initial;
    border-radius: 8px;
    min-width: 150px;
    width: auto;
    height: 50px;
    background-color: rgb(64, 78, 103);
    color: rgb(245, 245, 245);
}

.signatureWrapper button div {
    font-weight: normal;
}

.colorRed {
    color: red;
}

.colorOrange {
    color: orange;
}

.sp-text li {
    margin-bottom: 8px;
}

.verksamhetsmal .sp-repeat-remove-btn {
    background-color: red;
    padding: 10px !important;
    border-radius: 10px;
    color: white;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
    .sp-navbar-mobile {
        margin-bottom: 0px;
        background-color: #07244b !important;
        color: white;
    }

    .sp-navbar-mobile {
        margin-bottom: 0px;
        align-items: flex-start;
        flex-direction: column;
    }

    .sp-navbar-mobile li {
        color: white !important;
    }

    .sp-navbar-mobile div:has(> em) {
        width: 100%;
    }

    .sp-navbar-mobile div:has(> ul),
    .sp-navbar-mobile ul,
    .sp-navbar-mobile li {
        width: 100%;
    }

    .sp-navbar-mobile div:has(> ul) {
        margin-bottom: 20px;
    }

    .sp-navbar-mobile li {
        padding: 0px;
    }

    .sp-navbar-mobile ul {
        padding: 0px;
        margin-bottom: 0px;
    }

    .sp-navbar-mobile hr {
        margin: 5px 0px;
    }

    .footer-section .container {
        flex-direction: column;
        gap: 15px;
    }
}


@media (min-width: 992px) {
    .sp-navbar-desktop .container {
        max-width: 90%;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .sp-navbar-desktop {
        height: 70px !important;
    }

    .sp-navbar-desktop .section-logo {
        height: 55px;
    }

    .sp-navbar-desktop .section-nav:nth-of-type(2) {
        justify-content: center;
    }

    .sp-navbar-desktop .section-nav:nth-of-type(3) {
        justify-content: end;
    }
}