/* defining fonts starts here */
@font-face {
    font-family: 'Roboto';
    /* Replace with your preferred font name */
    src: url('/find/static/publications/font/roboto/Roboto-Light.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Mona Sans';
    src: url('/find/static/publications/font/Mona_Sans/Mona-Sans.ttf') format('truetype');

    font-weight: 200 900;
    font-stretch: 75% 125%;
}

/* defining fonts ends here */












































/* sets variables starts here */
:root {
    --primary-font-family: "Mona Sans", "Roboto", Verdana, Geneva, sans-serif;
    --primary-color: black;
    --primary-background-color: #B0C4DE;
    --message-border-width: 1px;
    --primary-site-width: 80%;
    --primary-site-width-max: 900px;
    --dtu-color-corporate-red: #900;




    /* header variables starts here */
    --header-height: 64px;
    --header-sign-in-icon-width: 12px;
    --header-sign-in-span-width: 51px;
    /* header variables ends here */


    /* footer variables starts here */
    --footer-height: 64px;
    /* footer variables ends here */
}

/* sets variables ends here */































































/* Helper classes starts here */

/* Define a base class for flex containers */
.flex-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.flex-row {
    flex-direction: row;
}

.flex-column {
    flex-direction: column;
}

.justify-start {
    justify-content: flex-start;
}

.justify-end {
    justify-content: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-around {
    justify-content: space-around;
}

.justify-between {
    justify-content: space-between;
}

.blur {
    filter: blur(2px);
    z-index: -1;
}

/* Helper classes ends here */








































/* General default styling for all pages starts here */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}



body {
    margin: 0;
    padding: 0;
    font-family: var(--primary-font-family);
    color: var(--primary-color);
    background-color: #f0f0f0;
    min-height: 100vh;
    height: auto;
    width: 100%;
}

body a:link,
body a:visited {
    text-decoration: none;
    color: var(--primary-color);
}

body a:hover {
    color: grey;
    cursor: pointer;
}

ul {
    list-style-type: none;
}
/* General default styling for all pages ends here */

















































/* Loading icon styling for map and reports starts here */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}



#loading-overlay {
    position: absolute;
    /* Position it absolutely within the relative container */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    /* Semi-transparent white background */
    display: flex;
    /* To center the loading icon and text */
    align-items: center;
    justify-content: center;
    z-index: 2000;
    /* To make sure it appears above the other content, including Leaflet's components */
}



#loading-icon {
    border: 8px solid #f3f3f3;
    /* Light grey */
    border-top: 8px solid var(--primary-background-color);
    /* Blue */
    border-radius: 50%;
    width: 80px;
    height: 80px;
    animation: spin 2s linear infinite;
}

/* Loading icon styling for map and reports ends here */


















































































/* header styling starts here  */

header {
    background: var(--primary-background-color);
    width: auto;
    height: var(--header-height);
    overflow: auto;
}

header .default-header-content {
    width: var(--primary-site-width);
    font-family: var(--primary-font-family), sans-serif;
    /* The second font is a fallback in case the custom font fails to load */
    font-size: 16px;
}













































/* <!-- default header menu. starts here --> */

/* <!-- navigiation to the left starts here --> */
header .nav-left {
    width: auto;
    display: flex;
    gap: 5px;
}

/* add a little more gap between the logo and 'frontpag' */
header .nav-left .header-nav-frontpage-icon {
    margin-right: 10px;
}

header .frontpage-icon {
    height: 40px;
}



/* <!-- navigiation to the left ends here --> */












/* <!-- navigiation to the right starts here --> */
header .nav-right .sign-in {
    border: 1px solid black;
    border-radius: 5px;
    padding: 5px;
    width: calc(var(--header-sign-in-icon-width) + var(--header-sign-in-span-width) + 20px);
}

header .sign-in-icon {
    height: 18px;
    width: var(--header-sign-in-icon-width);
}

header .sign-in span {
    height: 18px;
    min-width: var(--header-sign-in-span-width);
}

/* <!-- navigiation to the right ends here --> */

header .mobile-header-content {
    display: none;
}

/* <!-- default header menu. ends here --> */






/* <!-- mobile menu. starts here --> */


@media screen and (max-width: 768px) {
    .default-header-content {
        display: none;
    }

    header .mobile-header-content {
        /* padding-left: 10vw; */
        padding-left: 20px;
        /* padding-right: 10vw; */
        padding-right: 20px;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: start;
        align-items: center;
        background-color: var(--primary-background-color);
    }


 
    /* sign in icon starts here  */
    header .outer-sign-in {
        max-width: 78px;
        max-height: 31px;
        overflow: hidden;
    }
    
    header .inner-sign-in {
        border: 1px solid black;
        border-radius: 5px;
        padding: 5px;
        width: calc(var(--header-sign-in-icon-width) + var(--header-sign-in-span-width) + 15px);
    }
    
    header .sign-in-icon {
        height: 18px;
        width: var(--header-sign-in-icon-width);
    }
    
    header .sign-in span {
        height: 8px;
        font-size: 1px;
        min-width: var(--header-sign-in-span-width);
    }
    /* sign in icon ends here  */



    /* globe icon starts here */
    header .outer-frontpage-logo {
        margin-left: auto;
        margin-right: auto;
    }
    /* globe icon ends here */





   /* this is the hamburger menu starts here */
   header .mobile-menu-collapsed {
        margin-left : auto;
   }

   .mobile-menu-expanded {
        border-radius: 10px;
        width: 200px;
        height: calc(100vh - var(--header-height) - var(--footer-height) - 500px);
        background-color: var(--primary-background-color);
        display: none;
        position: absolute;
        top: 80px;
        right: 4vw;
    }

    .mobile-menu-expanded li {
        margin-top: 30px;
        margin-left: 20px;
    }





   .bar1,
   .bar2,
   .bar3 {
       width: 35px;
       height: 5px;
       background-color: #333;
       margin: 6px 0;
       transition: 0.4s;
   }

   .change .bar1 {
       transform: translate(0, 11px) rotate(-45deg);
   }

   .change .bar2 {
       opacity: 0;
   }

   .change .bar3 {
       transform: translate(0, -11px) rotate(45deg);
   }
   /* this is the hamburger menu ends here */










}




















/* <!-- mobile menu. ends here --> */


/* header styling ends here  */
































































/* MAIN STYLING STARTS HERE */
/* This styling should be further adjusted in a template css file */

main {
    position: relative;
    padding-top: 20px;
    padding-bottom: 20px;
    width: var(--primary-site-width);
    max-width: var(--primary-site-width-max);
    margin: 0 auto;
    /* Add this to center the main content horizontally */
    flex-grow: 1;
    overflow: auto;
    min-height: calc(100vh - var(--header-height) - var(--footer-height));
}

main .headline {
    margin-bottom: 20px;
}

main .headline-description {
    margin-bottom: 20px;
}


/* MAIN STYLING ENDS HERE */

































































/* FOOTER STYLING STARTS HERE */
footer {
    overflow: auto;
    width: auto;
    height: var(--footer-height);
    background: var(--primary-background-color);
}

.footer-content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.footer-content .box-left {
    width: 200px;
    height: 100%;
}

.footer-content .box-right {
    width: 400px;
    height: 100%;
    display: flex;
}

.footer-content .box-right .browsers-msg {
    display: flex;
    align-items: center;
    font-size: small;
}

.footer-content .box-right .github-img {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: fit-content;
    height: 100%;
}

.footer-content .box-right .github-img>img {
    margin-left: 10px;
    width: 32px;
    height: 32px;
}

/* FOOTER STYLING ENDS HERE */