/* Inter Font CSS */
/* static fonts */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100; font-display: swap; src: url("/public/rettsdata/fonts/Inter-Thin.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 100; font-display: swap; src: url("/public/rettsdata/fonts/Inter-ThinItalic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 200; font-display: swap; src: url("/public/rettsdata/fonts/Inter-ExtraLight.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 200; font-display: swap; src: url("/public/rettsdata/fonts/Inter-ExtraLightItalic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 300; font-display: swap; src: url("/public/rettsdata/fonts/Inter-Light.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 300; font-display: swap; src: url("/public/rettsdata/fonts/Inter-LightItalic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("/public/rettsdata/fonts/Inter-Regular.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 400; font-display: swap; src: url("/public/rettsdata/fonts/Inter-Italic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("/public/rettsdata/fonts/Inter-Medium.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 500; font-display: swap; src: url("/public/rettsdata/fonts/Inter-MediumItalic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("/public/rettsdata/fonts/Inter-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 600; font-display: swap; src: url("/public/rettsdata/fonts/Inter-SemiBoldItalic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url("/public/rettsdata/fonts/Inter-Bold.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 700; font-display: swap; src: url("/public/rettsdata/fonts/Inter-BoldItalic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 800; font-display: swap; src: url("/public/rettsdata/fonts/Inter-ExtraBold.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 800; font-display: swap; src: url("/public/rettsdata/fonts/Inter-ExtraBoldItalic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 900; font-display: swap; src: url("/public/rettsdata/fonts/Inter-Black.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 900; font-display: swap; src: url("/public/rettsdata/fonts/Inter-BlackItalic.woff2") format("woff2"); }
/* End Inter Font CSS */

/*
CSS ordering convention:
1) Sections: tokens -> base -> layout -> components -> responsive
2) Inside a section: base selector -> child selectors -> modifiers/states
3) Property order: position -> layout -> size -> spacing -> typography -> visuals -> interaction
*/

:root {
    --main-bg-color: white;
    --main-image-bg-color: #1A196B;
    --text-color: #1f2633;
    --provider-blue-bg: #5555FF;
    --provider-blue-bg-hover: #4348E6;
    --provider-blue-bg-active: #24289C;
    --input-bg: #F1F1F9;
    --input-border: #8D8C95;
    --input-text-color: #17151A;
    --label-text-color: #535158;
}

/* Base */
body {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    margin: 0;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    color: var(--text-color);
    background-color: var(--main-bg-color);
}

p {
    font-size: 15px;
}

main {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

main h1 {
    margin-bottom: 32px;
    font-size: 28px;
    font-weight: 400;
    line-height: 36px;
}

/* Layout */
.container {
    display: flex;
    align-self: flex-start;
    width: 100%;
    background: var(--main-bg-color);
}

.left-column {
    display: flex;
    flex-direction: column;
    align-self: flex-start;
    width: 500px;
}

.left-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: center;
    width: 414px;
    padding: 0 48px;
}

.logo--box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: auto;
    height: 36px;
    padding-top: 60px;
    padding-bottom: 33px;
}

.logo--image {
    max-width: 160px;
    max-height: 46px;
}

.right-column {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: #f4f4f4;
}

.image-container {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    background-color: var(--main-image-bg-color);
}

.image-container img {
    width: 100%;
    height: 100%;
    max-width: 360px;
    max-height: 105px;
}

.legal-links {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    gap: 16px;
    margin: 16px;
}

.legal-links a {
    font-size: 12px;
    text-decoration: none;
    color: white;
}

/* Providers */
.providers--list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0;
    padding: 20px 0 0 0;
    list-style-type: none;
}

.providers--list > li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 406px;
    height: 46px;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    letter-spacing: 0.16px;
    border-radius: 0;
}

.providers--list > li > a {
    display: flex;
    align-items: flex-start;
    width: 100%;
    padding: 8px 15px;
    text-decoration: none;
    color: inherit;
}

.providers--list > li p {
    margin: 0;
}

.providers--list > li.entra,
.providers--list > li.internal,
.providers--list > li.feide {
    flex-direction: column;
    align-items: flex-start;
    height: auto;
}

.providers--list > li.feide button {
    all: unset;
    display: flex;
    align-self: normal;
    cursor: pointer;
}

.providers--list > li.entra a,
.providers--list > li.internal a,
.providers--list > li.feide button {
    align-self: flex-start;
    width: auto;
    padding-left: 0;
    color: #5555FF;
}

.providers--list > li.entra a:hover,
.providers--list > li.internal a:hover,
.providers--list > li.feide button:hover {
    text-decoration: underline;
}

.providers--list > li.entra a:active,
.providers--list > li.internal a:active,
.providers--list > li.feide button:active {
    color: #363ccd;
}

.providers--list > li.entra a img,
.providers--list > li.internal a img,
.providers--list > li.feide button img {
    margin-left: 8px;
}

.providers--list > li.feide {
    position: relative;
}

/* Smooth color transition for the SVG when the parent link is hovered */
.providers--list > li.feide svg * {
    transition: fill 150ms ease-in-out;
}

/* Let the SVG inherit the current color so it changes on hover. */
.providers--list > li.feide svg path {
    fill: currentColor;
}

/* Ensure inlined SVGs in the providers list match the size and spacing of raster imgs */
.providers--list svg,
.providers--list img {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: auto;
}

/* Feide Toggletip */
.feide-toggletip {
    position: absolute;
    top: -20px;
    left: 164px;
    display: flex;
    flex-direction: column;
    width: 346px;
    padding: 16px;
    line-height: 20px;
    letter-spacing: 0.16px;
    color: #FFFFFF;
    background: #39383E;
}

.feide-toggletip.hidden {
    display: none;
}

.feide-toggletip::before {
    content: '';
    position: absolute;
    top: 20px;
    left: -7px;
    border-style: solid;
    border-width: 8px;
    border-color: transparent #333 transparent transparent;
    transform: translateX(-50%);
}

.feide-toggletip h3 {
    font-size: 14px;
    font-weight: 700;
}

.feide-toggletip p {
    font-size: 14px;
    font-weight: 400;
}

.feide .feide-toggletip a:not(.feide-toggletip-login) {
    all: unset;
    color: #989EFB;
    cursor: pointer;
}

.feide-toggletip-login {
    display: flex;
    align-items: flex-start;
    align-self: flex-end;
    width: auto;
    margin-top: 16px;
    padding: 8px 15px;
    text-decoration: none;
    color: white;
    background-color: var(--provider-blue-bg);
    border: 1px solid var(--provider-blue-bg);
}

.feide-toggletip-login:hover {
    background-color: var(--provider-blue-bg-hover);
    border-color: var(--provider-blue-bg-hover);
}

.feide-toggletip-login:active {
    background-color: var(--provider-blue-bg-active);
    border-color: var(--provider-blue-bg-active);
}

/* Forms */
.change-password-form,
.input-group {
    display: flex;
    flex-direction: column;
}

.change-password-form {
    gap: 16px;
}

.input-group {
    gap: 8px;
}

.input-group label {
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.32px;
    color: var(--label-text-color);
}

.input-group input {
    padding: 8px;
    font-size: 14px;
    color: var(--input-text-color);
    background-color: var(--input-bg);
    border: none;
    border-bottom: 1px solid var(--input-border);
    border-radius: 0;
}

.submit-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 46px;
    padding: 8px 15px;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    letter-spacing: 0.16px;
    text-decoration: none;
    color: white;
    background-color: var(--provider-blue-bg);
    border: 1px solid var(--provider-blue-bg);
    border-radius: 0;
}

.logg-inn-header{
    margin-bottom: 0;
}

/* Responsive */
@media (max-width: 900px) {
    .right-column {
        display: none;
    }

    .left-column {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .feide-toggletip {
        top: 25px;
        left: auto;
    }

    .feide-toggletip::before {
        top: -16px;
        left: 30px;
        border-color: transparent transparent #333 transparent;
        transform: translateX(-50%);
    }
}

@media (max-width: 500px) {
    .left-content {
        width: 80%;
    }

    .feide-toggletip {
        width: 100%;
    }

    .feide-toggletip::before {
        left: 60px;
    }
}
