@import url(_reset.css);
@import url(_fonts.css);
@import url(_typo.css);
@import url(_types.css);
@import url(_form.css);
@import url(_animation.css);
@import url(_login.css);
@import url(_modal.css);
@import url(_calendar.css);
@import url(_colors.css);

body {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
    min-height: 100vh;

    @media screen and (min-width: 75em){
        grid-template-columns: auto 1fr;
    }
}

body.navi-hidden {
    #page-header>div {
        display: block;
    } 
   
    @media screen and (min-width: 75em){
        grid-template-columns: 3rem 1fr;
        #page-header>div {
            display: none;
        } 
        #page-header {
            padding: 0;
        }
    }
    
}

#page-header {
    z-index: 10;
    padding: 5rem 0 5rem 5rem;
    position: fixed;
    left: 0;
    top: 0;
    min-height: 100vh;
    padding: 0;
    z-index: 1000;
    display: grid;
    &>div {
        display: none;
        max-height: 100dvh;
        overflow-y: auto;
    }

    @media screen and (min-width: 75em){
        position: relative;
        top: auto;
        left: auto;
        &>div {
            padding: 5rem 0 5rem 10rem;
            display: block;
           
        }
       
    }

    #navi-main li {
        list-style-type: none;
    }
    
    #navi-main>li {
        padding: 1.5rem 4rem 1.5rem 2rem;
        
        
    }
    #navi-main>li>a {
        display: block;
    }
    #navi-main>li:not(:first-child)>a:not(.active)::after {
        content: "";
        position: absolute;
        left: 0;
        top: -1.5rem;
        width: 100%;
        height: 2px;
    }
    #navi-main>li.active+li>a::after {
        display: none;
    }
    #navi-main>li ul {
        display: none;
        margin: 2rem 0 2rem 2rem;
        >li {
            list-style-type: disc;
        }
    }
    #navi-main a[aria-expanded="true"]+ul {
        display: block;
    }
    


    #toggle-search {
        margin: 0 0 5rem 2rem;

        @media screen and (min-width: 75em){
            margin: 0 auto 5rem;
        }
    }



    #toggle-navi {
        position: absolute;
        top: 9rem;
        right: 0;
        transform: translateX(100%);
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        padding-bottom: .3rem;
    }
}

#home-link {
    display: block;
    margin: 2rem auto 2rem;
    max-width: 20rem;

    @media screen and (min-width: 75em){
        margin: 0 8rem 2rem 0;
        text-align: right;
        max-width: none;
    }
}

main {
    padding: 8rem 0;
}

main>header {
    display: grid;
    
    padding: 0.5rem 2rem 0 7rem;
    margin-bottom: 10rem;

    @media screen and (min-width: 75em){
        padding: 0 15rem 0 9rem;
        grid-template-columns: auto 1fr;
        gap: 3rem;
        align-items:first baseline;
    }
}

.ce {
    &:not(:has(div.element)){
        display: none;
    }
    padding: 0 2rem;

    @media screen and (min-width: 40em){
        padding: 0 2rem 0 7rem;
    }
    
    @media screen and (min-width: 75em){
        padding: 0 2rem 0 15rem;
    }

    margin-bottom: 9rem;
    header {
        border-bottom: 2px solid #E3E3E3;
        margin-bottom: 6rem;
    }

    h4 {
        margin-bottom: 4rem;
    }

    div.part {
        margin-bottom: 8rem;
    }

    p,
    ul,
    ol {
        margin-bottom: 2rem;
    }
    ul, 
    ol {
        margin-left: 2rem;
    }
}
.ce:nth-child(even){
    padding-top: 10rem;
    padding-bottom: 10rem;
    header {
        border-bottom: 2px solid white;
    }
}

ul#breadcrumbs {
    display: flex;
    gap: 1rem;
    list-style: none;
    li, a {
        white-space: nowrap;
    }
}

button,
a.button {
    display: inline-block;
    border-radius: 5px;
    padding: 1rem 4rem;
    border: none;
    cursor: pointer;
    text-decoration: none;
    line-height: 100%;
}
a.button.icon,
button.icon {
    padding-left: 6rem;
}

a.button.icon-only,
button.icon-only {
    padding: 1rem;
    line-height: 100%;
    span {
        display: none;
    }
}

a.button.icon-only::before,
button.icon-only::before {
    position: static;
    transform: none;
    line-height: 100%;
}

#account-info {
    position: absolute;
    top: 2rem;
    right: 2rem;
    display: flex;
    
    align-items: center;
    gap: 2rem;
    line-height: 100%;
    button {
        padding: 0;   
    }
}

ul.favourites {
    display: grid;

    grid-template-columns: 1fr;
    @media screen and (min-width: 40em){
        grid-template-columns: repeat(3, 1fr);
    }
    
    gap: 2.5rem;
    list-style: none;
    margin: 0;
    li {
        display: flex;
    }
    a {
        padding: 3rem;
        width: 100%;
        text-align: center;
    }
    a::before {
        display: block;
        content: "";
    }
    a.no-icon::before{
        height: 18rem;
        width: 18rem;
        margin: auto;
        background-image: url(/site/templates/intranet/images/hskd-icon.svg);
        background-size: auto 80%;
        background-position: 50% 50%;
        background-repeat: no-repeat;
    }
}

ul.legend {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    list-style: none;
    margin-bottom: 4rem;
    li {
        display: flex;
        align-items: center;
    }
    li::before {
        content: "";
        display: inline-block;
        width: 3.4rem;
        height: 3.4rem;
        border-radius: 50%;
        margin-right: 1rem;
        border: 1px solid grey;
        
    }
}

ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    list-style: none;
    margin: 0 0 4rem;
    button {
        border-radius: 0;
        padding: .5rem 2rem;
        min-width: auto;
    }
}



@media reader, speech, aural {
    ul.favourites a::before {
        display: none;
    }
}
