* {
    padding: 0;
    margin: 0;
    text-decoration: none;
    list-style: none;
    box-sizing: border-box;
}

/* Anvender :root til at sætte farverne (dette er smart, så man nemt kan ændre alle af den samme farve på siden) */
:root {
    --green: #d2e4bc;
    --blue: #bbcae7;
    --red: #ff9fa7;
    --yellow: #ffe5a9;
    --beige: #fdf2e0;
    --brown: #b38c72;
    --background: #FEFBF5;
    --redfaded: #FBDADA;
    --greenfaded: #EFF3E1;
    --bluefaded: #DDE3EE;
    
}
/* For at bruge disse farver skrives det således:

div {
    background-color:var(--beige);
}
Her giver får baggrunden på div'en den fastlagte beige farve.
*/


/* Anvender @font-face for at kunne bruge en bestemt font */
@font-face {
    font-family: "futura";
    src: url("/font/futura.woff2") format("woff2");
}
/* For at bruge denne font skrives det således:

div {
    font-family: 'headerFont';
}
*/

body {
    font-family: "futura";
    background-color: var(--background);
    color: var(--brown);
    /* cursor: url('/img/ikoner/cursor.webp'), auto; */
}

h1 {
    text-align: center;
    font-size: 4.25rem;
    text-transform: uppercase;
    margin-bottom: 105px;
    font-weight: 100;
    margin-top: 20px;
}

h2 {
    text-align: center;
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: 100;
}

main {
    margin: 25px 0 100px;
}

.boelge {
    height: 60px;
    flex-direction: row;
    background-image: url('/img/moenster/boelge.webp');
    background-size: cover;
    width: 100vw;
    background-size: auto 100%;
    margin: 130px 0 100px;
}

.dobbelt-v {
    height: 80px;
    flex-direction: row;
    background-image: url('/img/moenster/dobbelt-v.webp');
    background-size: cover;
    width: 100vw;
    background-size: auto 100%;
    margin: 150px 0 100px;
}

.streg {
    height: 50px;
    flex-direction: row;
    background-image: url('/img/moenster/streg.webp');
    background-size: cover;
    width: 100vw;
    background-size: auto 100%;
    margin: 150px 0 100px;
}

.v {
    height: 60px;
    flex-direction: row;
    background-image: url('/img/moenster/v.webp');
    background-size: cover;
    width: 100vw;
    background-size: auto 100%;
    margin: 55px 0 80px;
}

/************************************************** HEADER *************************************************/

header {
    width: 100%;
    height: 120px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    z-index: 3;
    padding: 0 50px;
    position: fixed;
    top: 0;
    transition: background-color 0.3s ease;
}

.logo {
    height: 90%;
    margin-top: 50px;
    transition: height 0.3s ease;
}

.logo img {
    height: 100px;
    transition: height 0.3s ease;

}

.logo-menu {
    width: 150px;
    margin-top: 50px;
}

#burger-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    position: absolute;
    top: 45px;
    right: 50px;
    z-index: 7;
    cursor: pointer;
    height: 35px;
    width: 45px;
}

/* THE LINES */
span {
	height: 8px;
    width: 50px;
    border-radius: 25px;
	opacity: 1;
	transition: 0.3s ease-in-out;
    position: absolute;
}

span:before, span:after {
	height: 8px;
    width: 50px;
    border-radius: 25px;
	opacity: 1;
	transition: 0.3s ease-in-out;
    position: absolute;
}

span:before,
span:after {
	content: '';
}

/* // TOP */
span:before {
	top: -15px;
    background: var(--green);
}

/* // MIDDLE */
span {
	top: 13px;
    background: var(--blue);
}

/* // BOTTOM */
span:after {
	top: 15px;
    background: var(--red);
}

/* // ROTATION ON CLICK */
&.close {
	/* // TOP */
	span:before {
		top: 0px;
		transform: rotate(90deg);
        width: 50px;
	}

	/* // MIDDLE */
	span {
		transform: rotate(-45deg);
        width: 50px;
	}

	/* // BOTTOM */
	span:after {
		top: 0px;
		transform: rotate(90deg);
		opacity: 0;
	}
}


#menu {
    background-color: var(--beige);
    height: 100vh;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 5;
    text-align: center;
    font-size: 30px;
    width: 40%;
    padding: 150px 0 70px;
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
    align-items: center;
	visibility: hidden;
	opacity: 0;
	transition: all 0.3s ease-in-out;
    text-transform: uppercase;

	&.overlay {
		visibility: visible;
		opacity: 1;
	}

	a {
        text-decoration: none;
        color: var(--red);
	}
}


/************************************************** INDEX **************************************************/
.forside-main {
    height: 100vh;
    width: 100vw;
    overflow: hidden;
    position: absolute;
    top: 0;
    margin: 0;
}

.forside-billede {
    height: 100vh;
    position: absolute;
    top: 0;
    right: 0;
}

.forside-billede img {
    width: 100%;
}

.forside-strik{
    width: 15vw;
    height: 25vh;
    position: absolute;
    top: 0;
    right: 50vw;
    z-index: 10;
}


.forside-haekling {
    width: 30vw;
    height: 30vh;
    position: absolute;
    left: 20vh;
    top: 25vh;
    z-index: 10;
}

.forside-broderi {
    width: 30vw;
    height: 30vh;
    position: absolute;
    right: 30vw;
    top: 40vh;
    z-index: 10;   
}

.forside-kontakt {
    width: 30vw;
    height: 25vh;
    position: absolute;
    right: 35vw;
    top: 70vh;
    z-index: 10; 
}

.forside-omos {
    width: 30vw;
    height: 25vh;
    position: absolute;
    right: 65vw;
    top: 70vh;
    z-index: 10;  
}

/****************************************** BRODERI/HÆKLING/STRIK ********************************************/
.gron {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: auto;
}

.gron h1 {
    color: var(--green);
}

.gron h2 {
    color: var(--green);
    margin-bottom: 5px;
}

.gron .tekst {
    font-family: "Krub", sans-serif;
    font-weight: 100;
    text-align: center;
    font-size: 1.5rem;
    width: 60%;
    margin-bottom: 115px;
}

.infographic img {
    width: 100%;
}

.knapTekst {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.monsterKnap, .testKnap {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 50%;
}

.monsterKnap p, .testKnap p {
    font-family: "Krub", sans-serif;
    font-weight: 100;
    text-align: center;
    font-size: 1.5rem;
    width: 80%;
    margin-bottom: 100px;
    height: 100px;
}

.monsterKnap a {
    border: var(--green) solid 5px;
    color: var(--green);
    background-color: var(--greenfaded);
    width: 330px;
    height: 90px;
    text-align: center;
    padding: 7px;
}

.testKnap a {
    border: var(--green) solid 5px;
    color: var(--green);
    background-color: var(--greenfaded);
    width: 330px;
    height: 90px;
    text-align: center;
    padding: 5px;
    line-height: 70px;
}

/************************************************* KONTAKT *************************************************/

.bla {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: auto;
    color: var(--blue);
}

.top {
    display: flex;
    flex-direction: row;
    gap: 0 10%;
    width: 75vw;
}

.top .dobbelt-v {
    display: none;
}

.kontakt-formular {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: auto;
    gap: 25px 0;
    width: 45%;
}

.navn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
    width: 100%;
}

.fornavn, .efternavn, .besked {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: auto;
    width: 100%;
    font-size: 30px;
    font-weight: 20;
    font-family: "futura";
}

.fornavn label, .efternavn label, .besked label {
    font-size: 1.25rem;
    font-weight: 20;
    font-family: "futura";
}

#fornavn, #efternavn, #besked {
    background-color: var(--bluefaded);
    border: var(--blue) 5px solid;
    border-radius: 25px;
    font-size: 1.25rem;
    padding: 10px;
    margin-bottom: 15px;
    width: 100%;
}

#besked {
    height: 150px;
}

#indsend {
    margin-top: 20px;
    border: var(--blue) 5px solid;
    background-color: var(--bluefaded);
    color: var(--blue);
}

.findos {
    width: 45%;
}

.findos h3 {
    font-size: 1.5rem;
    font-weight: 100;
    text-transform: uppercase;
}

#map {
    width: 100%;
    height: 92%;
}

.kalender {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: auto;
    width: 85%;
    text-align: center;
    align-items: center;
}

.kalender h2 {
    margin-bottom: 10px;
    font-size: 3rem;
}

.kalender .tekst {
    font-size: 2rem;
    width: 80%;
    margin: 20px 0 90px;
    color: var(--brown);
    font-family: "Krub", sans-serif;
    font-weight: 100;
    font-style: normal;
}


.kalender h3 {
    font-size: 2rem;
    margin-bottom: 50px;
}

.kalenderpunkt {
    font-family: "Give You Glory", cursive;
    font-weight: 200;
    font-size: 0.8rem;
    font-style: normal;
    width: 75%;
    padding-top: 5px;
}

.kalenderpunkt p {
    color: var(--brown);
    font-family: "Give You Glory", cursive;
    font-weight: 200;
    font-size: 0.8rem;
    font-style: normal;
}

.kalender h4 {
    font-size: 1.25rem;
    color: var(--brown);
    line-height: 1.25rem;
    font-weight: 200;
}

.kalenderpunkter {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(5, 1fr);
    justify-items: center;
    align-items: center;
    cursor: pointer;
    width: 85vw;
}

.kalender0 {
    grid-area: 1 / 1 / 6 / 8;
}

.kalender0 img{
    width: 85vw;
    margin-top: -3%;
}

.kalender1 {
    grid-area: 1 / 4 / 2 / 5;
    transform: rotate(340deg);
}

.kalender1:hover {
    transform: scale(1.2) rotate(340deg);
}

.kalender2 {
    grid-area: 1 / 7 / 2 / 8;
    transform: rotate(20deg);
}

.kalender2:hover {
    transform: scale(1.2) rotate(20deg);
}

.kalender3 {
    grid-area: 2 / 3 / 3 / 4;
    transform: rotate(25deg);
}

.kalender3:hover {
    transform: scale(1.2) rotate(25deg);
}

.kalender4 {
    grid-area: 3 / 2 / 4 / 3;
    transform: rotate(345deg);
}

.kalender4:hover {
    transform: scale(1.2) rotate(345deg);
}

.kalender5 {
    grid-area: 4 / 6 / 5 / 7;
    transform: rotate(350deg);
}

.kalender5:hover {
    transform: scale(1.2) rotate(350deg);
}

.kalender6 {
    grid-area: 5 / 2 / 6 / 3;
    transform: rotate(25deg);
}

.kalender6:hover {
    transform: scale(1.2) rotate(25deg);
}

.kalender7 {
    grid-area: 5 / 5 / 6 / 6;
    transform: rotate(350deg);
}

.kalender7:hover {
    transform: scale(1.2) rotate(350deg);
}

.hidden {
    display: none;
}

/********************************************** MØNSTERMASKINE *********************************************/

.h1-laptop {
    display: block;
}

.h1-mobil {
    display: none;
}

.monster-tekst {
    font-family: "Krub", sans-serif;
    font-weight: 100;
    text-align: center;
    font-size: 1.5rem;
    width: 60%;
    margin-top: 15px;
    margin-bottom: 75px;
    color: var(--brown);
}

#monster-button {
    padding: 15px 25px;
}

#controls {
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
}

.monster-tekst1 {
    font-family: "Krub", sans-serif;
    font-weight: 100;
    text-align: center;
    font-size: 1.5rem;
    width: 60%;
    margin-top: 50px;
    margin-bottom: 30px;
    color: var(--brown);
}

#color-buttons {
    width: 700px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#color-buttons button {
    width: 50px;
    height: 50px;
    border: none;
    margin: 10px;
    cursor: pointer;
    border-radius: 50%;
}

#pattern-container {
    display: grid;
    grid-template-columns: repeat(23, 1fr);
}

.square {
    width: 45px;
    height: 45px;
    border: var(--green) 1px solid;
    box-sizing: border-box;
}

#clear-button {
    font-size: 1.5rem;
    color: var(--brown);
    text-decoration: underline;
    margin: 10px 0 100px;
    cursor: pointer;
    width: 350px;
    font-family: "Krub", sans-serif;
    font-weight: 100;
    text-align: center;
}

#export-output {
    display: none;
}

/************************************************** OM OS **************************************************/

.om-top {
    display: flex;
    height: 70vh;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin: -13vh 0 -2vh;
}

.om-moenster {
    height: 80%;
}
    
.sammen{
    overflow: hidden;
    background-image: url('/img/sammen.webp');
    background-size: cover;
    width: 75vw;
    height: 80%;
    background-position: center;
}

.velkommen{
    font-size: 3.75rem;
}

.velkommen-laptop{
    display: block;
}

.velkommen-mobil{
    display: none;
}

.om-ikoner {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 65vw;
    gap: 40px 15%;
}

.ikoner {
    display: flex;
    flex-direction: column;
    width: 40%;
    font-family: "Kite One", sans serif;
    color: var(--brown);
    text-align: center;
    font-size: 1rem;
}

.om-ikoner img {
    width: 55%;
    margin: 30px;
    align-self: center;
}


.om-citat {
    color: var(--red);
    margin-top: 75px;
    font-size: 30px;
    font-weight: 100;
    text-align: center;
    width: 80vw;
}

.lene, .dorthe {
    font-weight: 100;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    width: 70vw;
    justify-content: space-between;
}

.lene img, .dorthe img {
    width: 45%;
  
   
}

.lene-h3, .dorthe-h3 {
    text-transform: uppercase;
    font-size: 1.5rem;
    padding-bottom: 15px;
  
}

.lene-1, .dorthe-1 {
    color: var(--brown);
    font-family: "Krub", sans-serif;
    padding-bottom: 10px;
    font-size: 1rem;
}

.lene-tekst, .dorthe-tekst {
    width: 50%;
}

q {
    color: var(--red);
    text-align: center;
    font-size: 1rem;
    display: block;
    padding-top: 20px;
    margin-left: 20px;
    margin-right: 20px;
}


/************************************************* RESULTAT ************************************************/
.rod .p {
    font-family: "Krub", sans-serif;
    font-weight: 100;
    text-align: center;
    font-size: 1.5rem;
    width: 60%;
    margin-bottom: 50px;
    color: var(--brown);
}

.cirkel {
    border-radius: 50%;
    height: 30rem;
    width: 30rem;
    background-color: var(--beige);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
}

.cirkel img {
    width: 60%;
}

.kit-pakke {
    display: flex;
    justify-content: space-between;
    width: 70vw;
}

.kit {
    width: 40%;
}

.kit-pakke h2 {
    font-size: 3rem;
    padding-bottom: 50px;
    width: 120%;
}

.kit-indhold {
    font-family: "Krub", sans-serif;
    font-weight: 100;
    font-size: 1.75rem;
    margin-bottom: 120px;
    color: var(--brown);
}

.kit-indhold div {
    padding: 15px 0;
}

.kit-billede {
    width: 45%;
}

.kit-billede img {
    width: 100%;
}

/*************************************************** TEST **************************************************/

.rod {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: auto;
    color: var(--red);
    overflow: hidden;
}

.rod h2 {
    margin-bottom: 5px;
}

.rod .tekst {
    font-family: "Krub", sans-serif;
    font-weight: 100;
    text-align: center;
    font-size: 1.5rem;
    width: 60%;
    margin-bottom: 120px;
    color: var(--brown);
    height: 135px;
}

.rod .tekst p {
    padding-top: 5px;
}

.moenster-test {
    position: absolute;
    top: 450px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: 0;
}

.boelgetest-laptop {
    width: 50px;
    margin-right: 25px;
    transform: scaleX(-1);
    display: block;
}

.boelgetest-mobil {
    display: none;
}

#test {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 50px;
    z-index: 1;
    margin-bottom: 75px;
}

.question {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    height: 100px;
    font-family: "Krub", sans-serif;
    font-weight: 100;
    font-size: 1.1rem;
    color: var(--brown);
}

.omvendt {
    flex-direction: row-reverse;
}

.question li {
    width: 250px;
    margin-left: 25px;
    text-wrap: nowrap;
}

.question p {
    width: 210px;
    text-align: center;
}

.omvendt li {
    width: 120px;
    margin-left: 100px;
    text-wrap: nowrap;
}

.omvendt p {
    width: 300px;
}

input[type="radio"] {
    display: none;
}

.custom-radio {
    display: inline-block;
    width: 13px;
    height: 13px;
    background-color: var(--background);
    border: 2px solid var(--red); /* Adjust the border color */
    border-radius: 50%;
    margin-right: 3px;
    margin-bottom: -1px;
    cursor: pointer;
}

/* Style for checked state */
input[type="radio"]:checked + .custom-radio {
    background-color: var(--red); /* Change this to your desired color */
}

.button {
    border: var(--red) solid 5px;
    color: var(--red);
    border-radius: 25px;
    padding: 10px 15px;
    font-size: 1.5rem;
    background-color: var(--redfaded);
    text-transform: uppercase;
    cursor: pointer;
    width: 275px;
    font-family: "futura";
    text-align: center;
}

.se-resultat {
    margin-top: 100px;
    z-index: 3;
}

/**************************************************** 404 ***************************************************/

.error {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 5vh;
    height: 100vh;
    margin: 0;
    width: 100vw;
    position: fixed;
}
        
.img-404 {
    width: 40%;
    z-index: 3;
    max-width: 530px;
}

.error p {
    font-size: 2.5rem;
    font-family: "Krub", sans-serif;
    font-weight: 100;
    width: 65%;
    text-align: center;
    z-index: 3;

}

.error a {
    padding: 15px 15px;
    z-index: 3;
}

.boelge-404{
    height: 60px;
    background-image: url('/img/moenster/boelge.webp');
    background-size: cover;
    width: 300vw;
    background-size: auto 100%;
    position: absolute;
    transform: rotate(40deg);
    top: 50px;
    right: -550px;
}

.dobbelt-v-404 {
    height: 80px;
    background-image: url('/img/moenster/dobbelt-v.webp');
    background-size: cover;
    width: 200vw;
    background-size: auto 100%;
    position: absolute;
    transform: rotate(340deg);
    bottom: -100px;
    right: -300px;
}

.streg-404 {
    height: 50px;
    flex-direction: row;
    background-image: url('/img/moenster/streg.webp');
    background-size: cover;
    width: 200vw;
    background-size: auto 100%;
    position: absolute;
    transform: rotate(245deg);
    bottom: -100px;
    left: -575px;
}

.v-404 {
    height: 60px;
    flex-direction: row;
    background-image: url('/img/moenster/v.webp');
    background-size: cover;
    width: 200vw;
    background-size: auto 100%;
    position: absolute;
    transform: rotate(132deg);
    top: -100px;
    left: -525px;
}

/************************************************** FOOTER *************************************************/

footer {
    width: 100%;
    bottom: 0;
    position: relative;
    background-color: var(--beige);
    color: var(--red);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 245px;
    padding: 40px 80px;
    z-index: 2;
    font-size: 1rem;
}

footer img {
    width: 175px;
}

.left {
    font-size: 15px;
    display: flex;
    gap: 20px;
    flex-direction: column;
    height: 165px;
    justify-content: center;
    width: 25%;
}

address {
    font-style: normal;
}

footer h4 {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: -4px;
}

.social p {
    padding: 4px 0;
}

.social a {
    padding: 4px 0;
    line-height: 15px;
    cursor: pointer;
}

.social img {
    height: 45px;
    width: auto;
    padding-right: 10px;
    opacity: 0.8;
}

.right {
    font-size: 16px;
    text-align: right;
    display: flex;
    gap: 20px;
    flex-direction: column;
    height: 165px;
    justify-content: center;
    width: 25%;
}

.right a, .kontakt-footer-m a {
    text-decoration: none;
    color: var(--red);
}

.tider-m, .social-m, .info-m, .kontakt-footer-m {
    display: none;
}
/***********************************************************************************************************/
/***********************************************************************************************************/
/************************************************** @MEDIA *************************************************/
/***********************************************************************************************************/
/***********************************************************************************************************/

/***********************************************************************************************************/
/********************************************** Media til tablet *******************************************/
/***********************************************************************************************************/

@media (max-width: 1040px) {
    /************************************************** HEADER *************************************************/
    
    /************************************************** INDEX **************************************************/
    
    .forside-billede {
        height: 100vh;
        position: absolute;
        top: 0;
        right: 0;
    }
    
    .forside-strik {
        width: 100vw;
        height: 30vh;
        top: 0;
        right: 0;
    }
    
    .forside-haekling {
        width: 100vw;
        height: 15vh;
        left: 0;
        top: 35vh;
    }
    

    .forside-broderi {
        width: 100vw;
        height: 15vh;
        right: 0;
        top: 50vh;
        }
    

    .forside-kontakt {
        width: 25vw;
        height: 20vh;
        right: 40vw;
        top: 65vh;
        }
        
    .forside-omos {
        width: 25vw;
        height: 20vh;
        right: 65vw;
        top: 65vh;
        }
    /****************************************** BRODERI/HÆKLING/STRIK ********************************************/
    
    /************************************************* KONTAKT *************************************************/
    
    /********************************************** MØNSTERMSKAINE *********************************************/
    
    /************************************************** OM OS **************************************************/
    
    /************************************************* RESULTAT ************************************************/
    
    /*************************************************** TEST **************************************************/

    /************************************************** FOOTER *************************************************/


}

/***********************************************************************************************************/
/********************************************** Media til mobil ********************************************/
/***********************************************************************************************************/

@media (max-width: 820px) {

    h1 {
        font-size: 2.25rem;
        margin-bottom: 50px;
        margin-top: 20px;
    }
    
    h2 {
        font-size: 1.25rem;
    }
    
    main {
        margin: 25px 0 75px;
    }

    .boelge {
        height: 30px;
        flex-direction: row;
        background-image: url('/img/moenster/boelge.webp');
        background-size: cover;
        width: 100vw;
        background-size: auto 100%;
        margin: 40px 0 55px;
    }
    
    .dobbelt-v {
        height: 35px;
        flex-direction: row;
        background-image: url('/img/moenster/dobbelt-v.webp');
        background-size: cover;
        width: 100vw;
        background-size: auto 100%;
        margin: 50px 0 65px;
    }
    
    .streg {
        height: 25px;
        flex-direction: row;
        background-image: url('/img/moenster/streg.webp');
        background-size: cover;
        width: 100vw;
        background-size: auto 100%;
        margin: 50px 0 50px;
    }
    
    .v {
        height: 30px;
        flex-direction: row;
        background-image: url('/img/moenster/v.webp');
        background-size: cover;
        width: 100vw;
        background-size: auto 100%;
        margin: 50px 0 80px;
    }

    /************************************************** HEADER *************************************************/
    header {
        height: 110px;
        padding: 0 20px;
    }
    
    .logo {
        height: 80%;
        margin-top: 20px;
    }

    .logo img {
        height: 75px;
    }
    
    #burger-menu {
        top: 40px;
        right: 25px;
        height: 30px;
        width: 45px;
    }
    
        /* THE LINES */
    span {
        height: 7px;
        width: 43px;
    }

    span:before, span:after {
        height: 7px;
        width: 43px;
    }
    
    
    #menu {
        font-size: 1.25rem;
        width: 100%;
        padding: 17vh 0 5vh;
        height: 100vh;
    }

    .logo-menu {
        width: 120px;
        margin-top: 25px;
    }

    /************************************************** INDEX **************************************************/
    .forside-billede {
        height: 100vh;
        position: absolute;
        top: 0;
        right: 0;
    }
    
    .forside-strik {
        width: 100vw;
        height: 15vh;
        top: 25vh;
        right: 0;
    }
    
    .forside-haekling {
        width: 100vw;
        height: 12vh;
        left: 0;
        top: 55vh;
    }
    

    .forside-broderi {
        width: 100vw;
        height: 15vh;
        right: 0;
        top: 68vh;
        }
    

    .forside-kontakt {
        width: 50vw;
        height: 15vh;
        right: 0vw;
        top: 85vh;
        }
        
    .forside-omos {
        width: 50vw;
        height: 15vh;
        right: 50vw;
        top: 85vh;
        }


    /****************************************** BRODERI/HÆKLING/STRIK ******************************************/
    
    .gron .tekst {
        font-size: 1rem;
        width: 80%;
        margin-bottom: 50px;
    }
    
    .knapTekst {
        gap: 50px;
        flex-direction: column;
        align-items: center;
    }
    
    .monsterKnap, .testKnap {
        width: 80%;
    }
    
    .monsterKnap p {
        font-size: 1rem;
        width: 80%;
        margin-bottom: 20px;
        height: 60px;
    }

    .testKnap p {
        font-size: 1rem;
        width: 80%;
        margin-bottom: 20px;
        height: 40px;
    }
    
    .monsterKnap a {
        border: var(--green) solid 2px;
        width: 150px;
        height: 50px;
    }
    
    .testKnap a {
        border: var(--green) solid 2px;
        width: 150px;
        height: 50px;
        line-height: 35px;
    }

    /************************************************* KONTAKT *************************************************/
    .top {
        display: flex;
        flex-direction: column;
        gap: 0 10%;
        width: 100vw;
        align-items: center;
    }

    .top .dobbelt-v {
        display: block;
    }

    .kontakt-formular {
        gap: 0;
        width: 80%;
    }
    
    .navn {
        gap: 0 50px;
        width: 100%;
    }
    
    .fornavn, .efternavn, .besked {
        width: 100%;
        font-size: 30px;
    }
    
    .fornavn label, .efternavn label, .besked label {
        font-size: 1rem;
    }
    
    #fornavn, #efternavn, #besked {
        border: var(--blue) 2px solid;
        padding: 0;
        margin-bottom: 25px;
        width: 100%;
    }
    
    #indsend {
        margin-top: 15px;
        border: var(--blue) 2px solid;
    }
    
    .findos {
        width: 90%;
        font-size: 1rem;
    }

    #map {
        height: 500px;
        width: 100%;
    }
    
    .kalender {
        width: 90vw;
    }
    
    .kalender h1 {
        font-size: 1.5rem;
        margin: 0 0 10px;
    }
    
    .kalender .tekst {
        font-size: 0.8rem;
        width: 85%;
        margin: 0 0 30px;
    }
    
    .kalender h3 {
        font-size: 1.15rem;
        margin-bottom: 35px;
    }
    
    .kalenderpunkt {
        font-size: 0.6rem;
        width: 75%;
        padding-top: 5px;
    }
    
    .kalenderpunkt p {
        font-size: 0.5rem;
    }
    
    .kalender h4 {
        font-size: 0.8rem;
        line-height: 0.8rem;
    }
    
    .kalenderpunkter {
        grid-template-columns: repeat(7, 1fr);
        grid-template-rows: repeat(5, 1fr);
        width: 95vw;
        height: auto;
    }
    
    .kalender0 {
        grid-area: 1 / 1 / 6 / 8;
        margin-top: -3%;
    }
    
    .kalender0 img{
        width: 95vw;
        height: auto;
        margin-top: -3%;
    }
    
    .kalender1 {
        transform: rotate(320deg);
        margin-left: -20px;
    }
    
    .kalender1:hover {
        transform: scale(1.2) rotate(320deg);
    }
    
    .kalender2 {
        margin-left: -10px;
    }
    
    .kalender3 {
        margin-left: -15%;
    }
    
    .kalender5 {
        margin-top: -10px;
    }
    
    .kalender6 {
        margin-top: -20px;
    }
        
    .hidden {
        display: none;
    }

    /********************************************** MØNSTERMSKAINE *********************************************/

    .h1-laptop {
        display: none;
    }
    
    .h1-mobil {
        display: block;
        line-height: 2.5rem;
        margin-bottom: 20px;
    }

    .monster-tekst {
        font-size: 1rem;
        width: 70%;
        margin-top: 15px;
        margin-bottom: 25px;
    }
    
    #monster-button {
        padding: 7px 13px;
        width: 140px;
    }
    
    #controls {
        margin-bottom: 30px;
        display: flex;
        justify-content: center;
    }
    
    .monster-tekst1 {
        font-size: 1rem;
        width: 70%;
        margin-top: 15px;
        margin-bottom: 25px;
    }
    
    #color-buttons {
        width: 400px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    
    #color-buttons button {
        width: 30px;
        height: 30px;
        border: none;
        margin: 5px;
        cursor: pointer;
        border-radius: 50%;
    }
    
    #pattern-container {
        display: grid;
        grid-template-columns: repeat(13, 1fr);
    }
    
    .square {
        width: 30px;
        height: 30px;
        border: var(--green) 1px solid;
        box-sizing: border-box;
    }
    
    #clear-button {
        font-size: 1rem;
        margin: 10px 0 50px;
    }
    
    #export-output {
        display: none;
    }

    /************************************************** OM OS **************************************************/
    
    .velkommen-laptop{
        display: none;
    }
    
    .velkommen-mobil{
        display: block;
    }

    .om-moenster {
        display: none;
    }
    
    .sammen{
        margin-top: 10%;
        width: 100vw;
    }

    .velkommen{
        font-size: 3rem;
        margin-top: 40px;
    }

    .om-ikoner {
        width: 90vw;
    }

    .ikoner {
        display: flex;
        flex-direction: column;
        width: 90%;
        font-size: 0.75rem;
    }

    .om-ikoner img {
        width: 40%;
    }

    .om-citat {
        font-size: 1rem;
    }

    .lene, .dorthe {
        flex-direction: column;
        width: 100vw;
    }

    .lene img, .dorthe img {
        width: 100%;
    }

    .lene-h3, .dorthe-h3 {
        text-align: center;
        padding-top: 30px;
    }

    .lene-tekst, .dorthe-tekst{
        width: 90%;
    }


    /************************************************* RESULTAT ************************************************/
    
    .rod h2 {
        margin-bottom: 5px;
        width: 70%;
        text-wrap: wrap;
    }

    .rod .p {
        font-size: 1rem;
        width: 80%;
        margin-bottom: 50px;
    }
    
    .cirkel {
        height: 20rem;
        width: 20rem;
        margin-bottom: 50px;
    }
    
    .cirkel img {
        width: 60%;
    }
    
    .kit-pakke {
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        width: 90vw;
    }
    
    .kit {
        width: 90%;
    }
    
    .kit-pakke h2 {
        font-size: 2rem;
        padding-bottom: 10px;
        width: 100%;
    }
    
    .kit-indhold {
        font-size: 1.25rem;
        margin-bottom: 20px;
        color: var(--brown);
    }
    
    .kit-indhold div {
        padding: 15px 0;
    }
    
    .kit-billede {
        width: 90%;
    }
    
    .kit-billede img {
        width: 100%;
    }
    

    /*************************************************** TEST **************************************************/

    

    .rod .tekst {
        font-size: 1rem;
        width: 70%;
        margin-bottom: 15px;
        color: var(--brown);
        height: 110px;
    }

    .moenster-test {
        position: absolute;
        top: 350px;
        left: 15%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        z-index: 0;
    }

    .boelgetest-laptop {
        display: none;
    }
    
    .boelgetest-mobil {
        display: block;
        width: 30px;
        transform: scaleX(-1);
    }

    #test {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: 102.5px;
        z-index: 1;
        margin: 65px 0 15px;
        width: 40vw;
    }

    .question, .omvendt {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        height: 80px;
        font-size: 0.8rem;
        margin-left: 30px;
    }

    .question li, .omvendt li {
        width: 250px;
        margin-left: 5px;
    }

    .question p, .omvendt p {
        width: 250px;
        text-align: left;
    }

    .custom-radio {
        width: 10px;
        height: 10px;
    }

    .se-resultat {
        margin-top: 10px;
        z-index: 3;
    }

    .button {
        border: var(--red) solid 2px;
        padding: 5px 20px;
        font-size: 12px;
        width: 130px;
        margin-top: 5px;
    }

    /**************************************************** 404 ***************************************************/
            
    .img-404 {
        width: 80%;
    }

    .error p {
        font-size: 1.5rem;
        width: 80%;
    }

    .error a {
        width: 150px;
    }

    .boelge-404{
        height: 30px;
        transform: rotate(60deg);
        top: 50px;
        right: -390px;
    }

    .dobbelt-v-404 {
        height: 35px;
        transform: rotate(350deg);
        bottom: 30px;
        right: -130px;
    }

    .streg-404 {
        height: 25px;
        transform: rotate(245deg);
        bottom: 300px;
        left: -400px;
    }

    .v-404 {
        height: 30px;
        transform: rotate(132deg);
        top: -10px;
        left: -355px;
    }

    /************************************************** FOOTER *************************************************/
    footer {
        height: 345px;
        padding: 20px 30px 30px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(4, 1fr);
        grid-column-gap: 0px;
        grid-row-gap: 0px;
        font-size: 14px;
    }

    footer p, address {
        margin: 3px 0;
    }

    .tider-m, .social-m, .info-m, .kontakt-footer-m {
        display: block;
    }
        
    .kontakt-footer-m {
        grid-area: 1 / 1 / 2 / 4;
        text-align: center;
    }
        
    .social-m { 
        grid-area: 2 / 2 / 3 / 3;
        text-align: center;
        margin-top: 5px;
    }

    .social-m p {
        padding: 4px 0;
    }
    
    .social-m img {
        height: 25px;
        width: auto;
        padding: 0 5px;
        opacity: 0.8;
    }
        
    .tider-m { 
        grid-area: 3 / 1 / 4 / 2;
        height: 125px;
    }

    .info-m { 
        grid-area: 3 / 3 / 4 / 4; 
        text-align: right;
        height: 125px;
    }

    footer img {
        grid-area: 3 / 1 / 5 / 4;
        width: 100px;
        justify-self: center;
        align-self: end;
    }

    footer h4 {
        font-size: 14px;
    }

    .left, .right {
        display: none;
    }
}