* {
margin: 0;
padding: 0;
}
body {
background-color: #add4ed;
display: flex;
flex-direction: column;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
}
main {
box-sizing: border-box;
max-width: 1520px;
align-self: center;
} :root {
--voresfisk: #1d6a8a;
--voresfisk-hover: #2a6279;
--buttonblue: #004e96;
--buttonblue-hover: #016aae;
--yellow: #fad587;
--skyblue: #add4ed;
--skyblue-light: #cae1f0;
--skyblue-dark: #7bbee8;
--turquoise-dark: #4793a8;
--turquoise-light: #87c0c4;
--green-dark: #9bb796;
--green-light: #cfd4b0;
--white: #ffffff;
--white-hover: #f3f3f3; --succes-dark: #13ed00;
--succes-light: #cbffa1;
--warning-dark: #ed9c00;
--warning-light: #ffdfa1;
--error-dark: #ed0000;
--error-light: #ffbdbc; --text-light: #1d6798;
--text-dark: #0a3857;
--text-white: #ffffff; --button-border: rgba(0, 0, 0, 0.05);  --cartoon-shadow-blue: rgba(6, 77, 134, 0.5);
--cartoon-shadow-yellow: #fad587;
} h1,
.header-large,
.header-medium-large,
.header-medium,
.header-small {
color: var(--Text-dark, #0a3857);
font-family: Anton, sans-serif;
font-style: normal;
font-weight: 400;
line-height: normal;
}
h1 {
font-size: 48px;
margin-bottom: 12px;
}
.header-large {
font-size: 48px;
}
.header-medium-large {
font-size: 40px;
}
.header-medium {
font-size: 32px;
}
.header-small {
font-size: 24px;
}
.header-xs,
.sub-header,
.text-large,
.text-medium,
.text-small {
color: var(--Text-dark, #0a3857);
font-family: Truculenta, sans-serif;
font-style: normal;
}
.header-xs {
font-size: 20px;
font-weight: 700;
line-height: 100%; }
.sub-header,
.text-large {
font-size: 24px;
font-weight: 400;
line-height: 28px; }
.sub-header {
max-width: 620px;
margin-bottom: 60px;
}
.text-medium {
font-size: 20px;
font-weight: 400;
line-height: normal;
}
.text-small {
font-size: 16px;
}
@media only screen and (max-width: 500px) {
h1, .header-large{font-size: 2rem;}
.sub-header, .text-large {
font-size: 1.4rem;}
}  .global_button {
color: var(--text-dark);
font-family: Lilita One, sans-serif;
font-size: 24px;
font-style: normal;
font-weight: 400;
line-height: normal;
text-decoration: none;
background-color: var(--white);
border-radius: 999px;
border: 3px solid var(--button-border);
padding: 10px 20px;
margin: 0 4px 4px 0;
box-shadow: 4px 4px 0px 0px var(--cartoon-shadow-blue);
width: max-content;
}
.global_button:hover {
background-color: var(--white-hover);
}
.global_button:active {
margin: 2px 2px 2px 2px;
box-shadow: 2px 2px 0px 0px var(--cartoon-shadow-blue);
} .secondary_button {
color: var(--white);
background-color: var(--buttonblue);
}
.secondary_button:hover {
background-color: var(--buttonblue-hover);
} .selector_container {
display: flex;
gap: 10px;
max-width: 100%;
flex-wrap: wrap;
}
.selector_button {
color: var(--text-white);
font-family: Truculenta, sans-serif;
font-size: 24px;
font-style: normal;
font-weight: 700;
line-height: normal;
border-radius: 44px;
border: 3px solid var(--button-border);
background-color: var(--buttonblue);
box-shadow: 4px 4px 0px 0px var(--cartoon-shadow-blue);
padding: 1px 28px;
justify-content: center;
align-items: center;
gap: 10px;
align-self: stretch;
margin: 0 4px 4px 0;
cursor: pointer;
}
.selector_button:hover {
background-color: var(--buttonblue-hover);
}
.selector_button:active {
margin: 2px 2px 2px 2px;
box-shadow: 2px 2px 0px 0px var(--cartoon-shadow-blue);
} .selector_button-clicked {
background-color: var(--white);
color: var(--text-dark);
}
.selector_button-clicked:hover {
background-color: var(--skyblue);
color: var(--text-dark);
} .play-button {
background-color: var(--white);
border-radius: 999px;
display: flex;
justify-content: center;
align-items: center;
box-shadow: 4px 4px 0px 0px var(--cartoon-shadow-yellow);
border: 3px solid var(--button-border);
margin: 0 4px 4px 0;
width: 13%;
height: auto;
aspect-ratio: 1/1;
}
.play-button:hover {
background-color: var(--white-hover);
}
.play-button:active {
background-color: var(--white-hover);
margin: 2px 2px 2px 2px;
box-shadow: 2px 2px 0px 0px var(--cartoon-shadow-yellow);
}
.play-button img {
width: 60%;
height: 60%;
} .arrow-left,
.arrow-right {
padding: 10px 20px;
border-radius: 999px;
border: 2px solid rgba(0, 0, 0, 0.05);
background: var(--white);
box-shadow: 4px 4px 0px 0px var(--cartoon-shadow-yellow);
cursor: pointer;
z-index: 10;
height: max-content;
margin: 0 4px 4px 0;
}
.arrow-left:hover,
.arrow-right:hover {
background-color: var(--white-hover);
}
.arrow-left:active,
.arrow-right:active {
background-color: var(--white-hover);
margin: 2px 2px 2px 2px;
box-shadow: 2px 2px 0px 0px var(--cartoon-shadow-yellow);
} .header {
display: flex;
justify-content: center;
align-items: center;
padding: 12px 40px;
background-color: var(--voresfisk);
}
.nav {
display: flex;
flex-grow: 1;
justify-content: space-between;
align-items: center;
max-width: 1520px;
}
.nav-left,
.nav-right {
display: flex;
width: 100%;
align-items: center;
}
.nav-left {
justify-content: left;
}
.nav-right {
justify-content: right;
}
.nav-item {
margin-right: 40px;
text-decoration: none;
color: #ffffff;
font-family: Lilita One, sans-serif;
font-size: 20px;
font-style: normal;
font-weight: 400;
line-height: normal;
padding: 20px 0;
}
.nav-item:hover {
color: #fad587;
}
.nav-left .nav-item:last-child,
.nav-right .nav-item:last-child {
margin-right: 0;
}
.logo {
display: flex;
justify-content: flex-start;
}
.logo .logo-img {
height: 80px;
} .nav-left .dropdown {
position: relative;
display: inline-block;
}
.nav-left .dropdown-content {
display: none;
position: absolute;
background-color: #2682a8;
box-sizing: border-box;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 100;
padding: 10px;
border-radius: 10px;
margin-left: -10px;
margin-top: 20px;
}
.nav-left .dropdown-content a {
color: var(--white);
padding: 12px 16px;
text-decoration: none;
display: block;
border-radius: 6px;
font-family: Lilita One, sans-serif;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: normal;
}
.nav-left .dropdown-content a:hover {
background-color: var(--voresfisk);
}
.nav-left .dropdown:hover .dropdown-content {
display: block;
} .burger-menu {
display: none;
}
.burger-icon {
position: relative;
cursor: pointer;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
}
.line {
transition: transform 0.4s ease-in-out;
}
.top {
transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
}
.middle {
transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
}
.bottom {
transition: transform 0.4s ease-in-out;
}
.open .top {
transform: rotate(45deg) translate(7px, 7px);
}
.open .middle {
opacity: 0;
}
.open .bottom {
transform: rotate(-45deg) translate(7px, -7px);
}
.mobile-menu {
display: none;
} @media (max-width: 1200px) {
.header {
padding: 12px 40px 12px 20px;
}
.nav-left,
.nav-right {
display: none;
}
.burger-menu {
display: block;
}
.mobile-menu {
flex-direction: column;
position: absolute;
background-color: #1d6a8a; width: 100vw;
height: calc(100% - 108px);
top: 108px;
justify-content: flex-start;
align-items: center;
z-index: 100;
}
.nav-item {
color: white;
font-family: Lilita One, sans-serif;
font-size: 20px;
font-weight: 400;
margin-bottom: 20px;
text-decoration: none;
margin-right: 0;
}
}
@media (max-height: 680px) {
.mobile-menu .nav-item {
padding: 8px;
}
}
.open {
display: flex !important;
} footer {
display: flex;
flex-direction: column;
align-items: center;
gap: 40px;
padding: 60px 40px 20px;
padding: 60px 10px 20px;
background-color: var(--voresfisk);
box-sizing: border-box;
z-index: 0;
}
@media (min-width: 1201px) {
footer {
padding: 60px 40px 20px;
}
}
.footer-flex {
box-sizing: border-box;
display: flex;
gap: 80px;
width: 100%;
max-width: 1520px;
flex-wrap: wrap;
padding: 0 20px;
}
.footer-column {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px;
min-width: max-content;
}
.footer-column:first-child {
gap: 0;
}
.footer-text_container {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 20px;
}
.footer-link_container,
.footer-contact {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.footer-contact {
margin-bottom: 8px;
} .footer-headline {
color: #ffffff;
font-family: Anton, sans-serif;
font-size: 24px;
font-style: normal;
font-weight: 400;
line-height: 100%; }
.footer-link {
color: rgba(255, 255, 255, 0.9);
font-family: Lilita One, sans-serif;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: normal;
text-decoration: none;
}
.bliv-fisker-link {
font-size: 20px;
text-decoration-line: underline;
}
.footer-text,
.footer-adress {
color: rgba(255, 255, 255, 0.9);
font-family: Truculenta, sans-serif;
font-style: normal;
font-weight: 350;
}
.footer-text {
font-size: 20px;
line-height: normal;
max-width: 280px;
}
.footer-adress {
font-size: 16px;
line-height: 20px; text-decoration: none;
} .fish,
.makrel {
width: 100%;
max-width: 220px;
} .copyright_container {
box-sizing: border-box;
width: 100%;
max-width: 1520px;
padding: 0 20px;
display: flex;
justify-content: flex-end;
}
.copyright {
font-family: Truculenta, sans-serif;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 20px; color: rgba(255, 255, 255, 0.9);
text-decoration: none;
}
.copyright:hover,
.footer-link:hover,
.footer-adress:hover {
color: #fad587;
} .hide {
display: none;
} .temp-page-navigation {
display: flex;
flex-direction: column;
gap: 20px;
padding: 40px;
}
textarea {
font-family: arial;
line-height: 22px;
width: 100%;
padding: 10px;
font-size: 16px;
border-radius: 4px;
resize: none;
color: var(--Text-dark, #0a3857);
color: #252525; font-style: normal;
box-sizing: border-box;
border: 2px solid var(--cartoon-shadow-blue);
}
textarea:focus {
outline: none;
border-color: #007bff;
}
@media print { .modal {
display: none !important;
} .modal[style*="display: flex"] {
display: block !important;
width: 100% !important;
height: auto !important;
} .modal input, .modal textarea, .modal select {
visibility: visible !important;
}
.maagens_container,
.assignment1-maagens,
.assignment2-maagens,
.assignment3-maagens,
.assignment4-maagens {
display: none !important;
}
.modal[style*="display: flex"] .interaktiv-opgave {
width: 100%;
height: 100%;
max-width: 100%;
max-height: 100%;
overflow: visible;
}
#pdfModal {
display: none !important;
}
iframe {
display: none !important;
}
iframe#pdfFrame {
display: none !important;
}
.header,
.footer {
display: none !important;
}
}
body.modal-open {
overflow: hidden;
}main {
box-sizing: border-box;
max-width: 1520px;
width: 100%;
position: relative;
background: linear-gradient(148deg, #c7ebff 6.85%, #03649f 77.24%);
}
.light-beams {
position: absolute;
width: 100%;
height: calc(100% - 90vh);
background-image: url(https://cdn.glitch.global/1301aefd-da6f-4dea-a219-0434cc769a61/light-beam.png?v=1725886097379);
background-repeat: no-repeat;
background-size: cover;
background-position: top left;
top: 90vh;
left: 0;
z-index: 0;
overflow: hidden;
}
.light-beams img {
position: absolute;
}
.main-content {
position: inherit;
z-index: 1;
}
header {
box-sizing: border-box;
position: absolute;
z-index: 100;
width: 100%;
}  html { scroll-snap-type: y mandatory;
}
section,
header {
scroll-snap-align: start;
}
footer {
scroll-snap-align: end;
} .forside section {
box-sizing: border-box;
width: 100%;
height: 100vh; padding: 0 40px;
display: flex;
justify-content: center;
align-items: flex-start;
position: relative;
}
#fisk_section{position: relative;
overflow-x: hidden;}
#fag_section{position: relative;
overflow-x: hidden;}
#havne_section{position: relative;
overflow-x: hidden;}
.box_container_left,
.box_container_right {
width: 100%;
height: 100vh;
display: flex;
justify-content: flex-start;
align-items: center;
box-sizing: border-box;
}
.box_container_right {
justify-content: flex-end;
}
.section_box {
box-sizing: border-box;
display: flex;
flex-direction: column;
padding: 40px;
width: 682px;
max-width: 100%;
height: max-content;
gap: 24px;
border-radius: 16px;
background: rgba(213, 240, 255, 0.6);
margin: 40px;
}
.global_button {
max-width: calc(100% - 40px);
text-align: center;
} #hero_section {
background-image: url(https://cdn.glitch.global/1301aefd-da6f-4dea-a219-0434cc769a61/Skyer.png?v=1726141380258);
background-repeat: no-repeat;
background-size: contain;
overflow-x: clip;
height: 90vh;
position: relative;
overflow-x: hidden;
height: 100dvh;
height: calc(100dvh + 3.5dvh);
}
.hero-boelge {
position: absolute;
bottom: -62px;
bottom: 0;
bottom: 48px;
left: 50%;
transform: translateX(-50%);
width: 190vw;
max-width: 2888px;
z-index: 0;
}
.velkommen_wrapper {
position: absolute;
bottom: -27px;
left: 10%;
bottom: 35px;
bottom: 97px;
}
.velkommen_container {
position: relative;
}
.velkommen-bobble_container {
position: absolute;
filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.25));
top: -35%;
left: 103%;
width: max-content;
}
.velkommen-bobble {
position: relative;
display: flex;
justify-content: center;
background-color: var(--white);
border-radius: 20px;
padding: 20px;
box-sizing: border-box;
height: 160px;
}
.velkommen-bobble h1 {
margin: auto 0;
text-align: center;
font-size: 20px;
max-width: 300px;
}
.bobble-tail {
position: absolute;
bottom: -35px;
left: -122px;
z-index: -1;
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
width: 140px;
}
.maagens_container {
position: relative;
width: 20vw;
max-width: 304px;
}
.maagens_fisker {
width: 100%;
animation: boatFloat 5s ease-in-out infinite;
}
.boeje {
position: absolute;
left: 23%;
top: 46%;
width: 40%;
max-width: 121.59px;
z-index: -1;
animation: boatFloat 5s ease-in-out infinite;
}
.fiskekutter {
position: absolute;
width: 65vw;
max-width: 988px;
right: -20%;
bottom: -18px;
bottom: 44px;
bottom: 104px;
animation: boatFloat 4s ease-in-out infinite;
}
@keyframes boatFloat {
0% {
transform: translateY(0) rotate(-1deg);
}
50% {
transform: translateY(10px) rotate(1deg);
}
100% {
transform: translateY(0) rotate(-1deg);
}
}  #divingBird {
position: absolute;
top: 10%; right: 0; transform: translateX(60%) scale(0.8); opacity: 0; transition: transform 2s ease-out, opacity 1s ease-out; width: 18vw;
min-width: 200px;
max-width: 274px;
z-index: -1;
animation: swimUpDown infinite;
}
#divingBird.sticky {
position: fixed; top: 50%; right: 20%; transform: translateY(-50%); }
#divingBird.swimming {
animation: swimUpDown 3s ease-in-out infinite; }
@keyframes swimUpDown {
0% {
transform: translateY(0); }
50% {
transform: translateY(50px); }
100% {
transform: translateY(0); }
} #fangstmetoder_section {
overflow-y: visible;
max-height: 100vh;
position: relative;
overflow-x: hidden;
}
#ordbog_section {
height: 120vh;
position: relative; overflow-x: hidden;
}
.havbund02 {
position: absolute;
bottom: 0;
width: 100%;
z-index: -4;
transform-origin: 0 100%;
} .fish-animation {
position: absolute; top: 0;
left: 0;
width: 100%;
height: 90%;
z-index: -1;
pointer-events: none;
}
.makrel,
.sild,
.torsk,
.tobis {
position: absolute;
width: 50%;
min-width: 100px;
opacity: 0.8;
animation: swimUpAndDown 5s ease-in-out infinite;
}
.makrel,
.torsk,
.tobis {
max-width: 220px;
}
.sild {
max-width: 200px;
}
.sildehaj {
position: absolute;
width: 50vw;
max-width: 760px;
min-width: 450px;
animation: swimUpAndDown 5s ease-in-out infinite;
opacity: 0.6;
top: 50%;
transform: translate(-50%, -50%);
z-index: -1;
} @keyframes swimUpAndDown {
0%,
100% {
transform: translateY(0);
}
50% {
transform: translateY(20px);
}
} .parallax-container {
position: relative;
height: 100%;
max-width: 1520px
}
.bubbles,
.bubblesSingle {
position: absolute;
max-width: 100px;
bottom: -50px; z-index: 1;
animation: parallaxFloat 6s ease-in-out infinite;
}
#bubblesRight {
position: absolute;
left: 40%;
}
.bubbles-container {
position: relative;
height: 100%;
}
.jellyfish {
position: absolute;
width: 800px;
height: auto;
bottom: -150px; left: 50%;
transform: translateX(-50%);
z-index: 1;
animation: parallaxFloat 8s ease-in-out infinite;
}
@keyframes parallaxFloat {
0% {
transform: translateX(5px) translateY(15px) rotate(-1deg);
}
50% {
transform: translateX(25px) translateY(5px) rotate(1deg);
}
100% {
transform: translateX(5px) translateY(15px) rotate(-1deg);
}
} .dykker_container {
z-index: 10;
}
.maagens_dykker_hojre {
width: 25%;
animation: maagensDykkerAnimationHoejre 12s ease-in-out;
}
.maagens_dykker_venstre {
opacity: 1;
width: 25%;
}
.animate {
animation: maagensDykkerAnimationVenstre 10s ease-in-out;
}
@keyframes maagensDykkerAnimationHoejre {
0% {
transform: translateY(0vh) translateX(10%);
}
50% {
transform: translateX(20%);
}
100% {
transform: translateY(50vh) translateX(250%);
}
}
@keyframes maagensDykkerAnimationVenstre {
0% {
transform: translateY(-50%) translateX(100%);
opacity: 0;
}
5% {
opacity: 1;
}
50% {
transform: translateX(20%);
}
100% {
transform: translateY(50vh) translateX(40%);
}
}
.visible {
opacity: 1;
transform: translateY(0);
} @media (max-width: 1400px) {
.velkommen-bobble_container {
top: -44%;
}
}
@media (max-width: 1200px) {
.velkommen-bobble_container {
top: -51%;
left: 115%;
}
}
@media (max-width: 1100px) {
.velkommen-bobble_container {
top: -56%;
left: 120%;
}
}
@media (max-width: 1000px) {
.velkommen-bobble_container {
top: -63%;
left: 126%;
}
}
@media (max-width: 900px) {
.velkommen-bobble_container {
top: -72%;
left: 132%;
}
}
@media (max-width: 800px) {
.velkommen-bobble_container {
top: -78%;
left: 115%;
}
.bobble-tail {
left: -78px;
width: 90px;
}
}
@media (max-width: 700px) {
.section_box{
margin: 20px;
max-width: calc(100% - 40px);
padding: 25px;
}
.velkommen_wrapper {
left: 0%;
}
.maagens_container {
width: 35vw;
max-width: none;
}
.hero-boelge {
bottom: 78px;
}
.fiskekutter {
width: 101vw;
max-width: none;
bottom: -52px;
bottom: 84px;
z-index: -1;
}
.bobble-tail {
left: -67px;
width: 90px;
bottom: -63px;
transform: rotate(104deg);
}
.velkommen-bobble_container {
left: 80%;
}
.velkommen-bobble_container h1 {
font-size: 2.8vw;
}
.velkommen-bobble {
height: 124px;
}
}
@media (max-width: 600px) {
.velkommen-bobble_container h1 {
max-width: 265px;
font-size: 18px;
}
#divingBird {
width: 140px;
} 
}
@media only screen and (max-width: 500px) {
.section_box .text-medium {
display: none;
}
.makrel,
.torsk,
.tobis {
max-width: 120px;
}
.sild {
max-width: 100px;
}
.sildehaj{
max-width: 200px;
}
}
@media (max-width: 450px) {
.velkommen-bobble_container {
left: 85%;
top: -100%;
}
.velkommen-bobble {
height: 100px;
padding: 10px;
}
.velkommen-bobble_container h1 {
max-width: 214px;
font-size: 14px;
}
.bobble-tail {
left: -51px;
width: 70px;
}
}
@media (max-width: 360px) {
.bobble-tail {
left: -14px;
bottom: -76px;
transform: rotate(92deg);
}
.velkommen-bobble_container {
left: 55%;
top: -120%;
}
}