body {
  overflow-x: hidden;
}
.burger-menu {
  margin-left: 15px;
  width: 100%;
  height: 43px;
  cursor: pointer;
  display: none;
}

@media screen and (max-width: 991px) {
  .burger-menu {
    display: block;
  }
  .main,
  .custom-header__wrapper,
  .mobile-header,
  .mobile-sub-menu {
    transform: all 0.3s ease;
  }
  body.is-scrolled .main {
    padding-top: 4em;
  }
  body.is-scrolled .custom-header__wrapper {
    height: 4em;
  }
  body.is-scrolled .mobile-header {
    height: 4em;
  }
  body.is-scrolled .mobile-sub-menu {
    top: 4em;
  }
}

.bar,
.bar:after,
.bar:before {
  width: 30px;
  height: 3px;
}

.bar {
  position: relative;
  transform: translateY(10px);
  background: black;
  transition: all 0ms 300ms;
}

.bar.animate {
  background: rgba(255, 255, 255, 0);
}

.bar.animate:after {
  top: 0;
  transform: rotate(45deg);
  transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1),
    transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar.animate:before {
  bottom: 0;
  transform: rotate(-45deg);
  transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1),
    transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 10px;
  background: black;
  transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1),
    transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar:after {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  background: black;
  transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1),
    transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.mobile-menu {
  top: 0;
  max-width: 250px;
  left: -100%;
  width: 100%;
  background: #ebebeb;
  color: black;
  height: 100%;
  position: fixed;
  z-index: 9997;
  overflow-y: auto;
  -webkit-transform: translate3d(0, 0, 205px);
  -moz-transform: translate3d(0, 0, 205px);
  transform: translate3d(0, 0, 205px);
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}

.mobile-menu.active {
  left: 0;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}

.accordion__icon:after {
  border-bottom: 0.0625rem solid #00214d;
  border-right: 0.0625rem solid #00214d;
  content: "";
  display: block;
  height: 10px;
  transform: rotate(45deg);
  transition: transform 0.3s ease-in-out;
  width: 10px;
}
@media (min-width: 993px) and (max-width: 1149px) {
  div.block {
    margin-bottom: 2rem;
  }
}
.swiper-slide .video-wrapper .icon-video-play.playing {
  display: none !important;
}

.mobile-header .logo-menu .logo {
  display: none;
}

@media (min-width: 993px) and (max-width: 1149px) {
  .block#block-ed52d4ac-1669-4871-98ae-ba91c7fc2efc,
  .block#block-65a88d85-82d4-4214-a4c2-fe90d36fd40d,
  div.block {
    margin-bottom: 2rem;
  }
}

/* Calendar */
.pika-lendar {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pika-table {
  width: auto !important;
  margin: 1rem 8rem;
}

.mobile-header {
  display: none;
}

.swiper-slide .video-wrapper video {
    position: absolute;
}

/* Text and Image module */
@media (max-width: 1149px) {
  /* List style => override main style*/
  ol,
  ul {
    padding-left: 1rem;
  }

  .custom-header {
    display: none;
  }
  /* Mobile header */
  .mobile-header {
    display: flex;
    justify-content: space-between;
    height: 5.1875rem;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1000;
  }

  .mobile-header .logo-menu {
    left: 1rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1000;
  }

  .mobile-header .burger-menu {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    width: 26px;
    height: 26px;
    display: block;
  }

  .custom-header-mobile__wrapper .languages {
    display: flex;
    align-items: center;
    margin-right: -8px;
  }

  .custom-header-mobile__wrapper .languages .language-item {
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .custom-header-mobile__wrapper .languages .language-item img {
    width: 24px;
  }

  .block:has(.media--narrow) {
    margin-top: 5.8rem;
  }

  .text-and-image {
    display: flex;
    flex-direction: column-reverse;
    /* margin-top: 5.8rem; */
  }

  .text-and-image .image-wrapper {
    aspect-ratio: 640/500;
    position: relative;
    border-radius: 0.9375rem;
    overflow: hidden;
    width: 100%;
  }

  .block .text-and-image.block-content--blue {
    margin: auto;
  }

  .text-and-image .image-wrapper .image {
    border-radius: 0;
    max-height: 100%;
    max-width: none;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    width: 100%;
  }
  .text-and-image__caption {
    margin-bottom: 0.5rem;
  }

  div:is(.text-and-image):not(.text-and-image--reverse) .image-wrapper .image {
    left: 0;
  }

  .text-and-image.text-and-image--reverse .image-wrapper .image {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 0.9375rem;
    border-top-right-radius: 0.9375rem;
    right: 0;
  }

  .text-and-image .image-wrapper .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
  }

  .text-and-image .text-wrapper {
    padding: 1rem 0 0 0;
  }

  .text-and-image.block-content--blue .text-wrapper,
  .block-content--silver .text-wrapper,
  .text-and-image .text-wrapper .text-content {
    padding: 0;
  }

  .text-and-image.block-content--blue .text-wrapper .text-content {
    padding: 2.375rem 1rem;
  }

  .text-and-image .text-wrapper .text-and-image__text {
    margin: 1rem 0 1rem;
  }

  /* Carousel */
  section .block:has(.hero) {
    margin: 0 auto 2rem;
  }

  section .block:has(.operational-changes-overview) {
    margin: 2rem auto;
  }

  .slider .swiper-pagination-bullets.swiper-pagination-horizontal {
    margin-left: auto;
    margin-right: auto;
    padding: 0 60px;
    left: 0;
    transform: initial;
    display: flex;
    justify-content: center;
  }

  .slider .slide-content-container {
    max-width: 73%;
    transform: translateY(-70%);
    left: 2.25rem;
    position: absolute;
    top: 50%;
  }

  .swiper-slide .video-wrapper video {
    display: block;
    width: 100%;
    height: 100vh;
    object-fit: cover;
    position: absolute;
  }

  .slider .swiper-button-prev,
  .slider .swiper-button-next {
    width: 20px;
    display: block;
    position: absolute;
    bottom: -12px;
    z-index: 10;
    top: initial;
    display: none;
  }

  .slider .swiper-button-prev {
    left: 1rem;
  }

  .slider .swiper-button-next {
    right: 1rem;
    transform: translateY(-50%);
  }

  /* Trafikinformation => Personlig trafikinformation */
  div.image {
    border-bottom-right-radius: 0.9375rem;
    border-top-right-radius: 0.9375rem;
    width: 100%;
    height: 100%;
  }

  .img-fluid {
    width: 100vw;
  }

  /* Trafikinformation => map detail */
  .block:has(.banner.block-content--silver) {
    margin-bottom: 2rem;
  }

  .block:has(.text-and-image.block-content--blue),
  .block:has(.text-and-image.block-content--green) {
    width: 100%;
    margin: 0 auto 2rem;
  }

  /* Kundeservice => Vejr => Article page */
  .article-summary {
    width: calc(100% - 2rem);
  }

  .article-image .image img {
    width: 100%;
  }
  /* Om os => Press page */
  .block:has(.block-content--silver),
  .block:has(.banner.block-content--blue) {
    margin-left: auto;
    margin-right: auto;
    max-width: 80rem;
  }

  .banner-content {
    width: calc(100% - 2rem);
    padding: 1rem 0;
  }

  .banner-content .vertical-bottom {
    padding-top: 1.375rem;
  }

  /* Organisation */
  .page-organisation .text-and-image--reverse.block-content--blue {
    align-items: center;
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between;
  }

  /* This page has different margin bottom from the other => should use hard code */
  .main.page-miljoe #block-a3dfd500-44ff-4350-944f-29326864c5be {
    margin-bottom: 2.75rem;
  }

  /* FAQ */
  .faq.faq--accordion-1-1 {
    margin: 1.5rem 0;
  }

  .faq.faq--accordion-1-1 .accordion-button::after {
    background-position: center;
  }

  .faq.faq--accordion-1-1 .accordion-button::after {
    background-size: 1.15rem;
  }

  /* Footer */

  .footer-medium .footer-sections {
    flex-direction: column;
  }

  .footer-sections.section-settings {
    gap: 2.875rem;
  }

  .footer-sections.section-settings > div:last-child {
    margin-bottom: 2.875rem;
  }

  /* Trung */
  .text-and-image--reverse.block-content--blue.text-and-image .image-wrapper,
  .text-and-image--reverse.block-content--green .image-wrapper {
    aspect-ratio: 640/500;
  }
  @media screen and (max-width: 768px) {
    .image--square-corners.image--full-width {
      /* left: 1rem;
      margin: 0 16px; */
      aspect-ratio: 640/500;
      position: relative;
      border-radius: 0.9375rem;
      /* width: calc(100% - 32px); */
    }
    .media .image--square-corners.image--full-width picture,
    .media .image--square-corners.image--full-width img {
      height: 100% !important;
      position: absolute;
      width: 100%;
      max-height: initial !important;
      max-width: initial !important;
    }
  }
  .block-content--blue.text-and-image .image-wrapper .image,
  .block-content--green.text-and-image .image-wrapper .image {
    width: 100% !important;
  }

  .text-and-image.text-and-image--reverse .image-wrapper .image {
    margin-left: -2.25rem;
  }

  .block-content--blue.text-and-image.text-and-image--reverse
    .image-wrapper
    .image {
    margin-left: 0rem;
  }

  main section {
    gap: inherit;
  }

  a.btn {
    margin-bottom: 10px;
  }

  .block:has(.media) {
    margin-bottom: 5.8rem !important;
  }

  .block:has(.media) + .block:has(.text-and-image) .text-and-image,
  .block:has(.text-and-image) + .block:has(.text-and-image) .text-and-image {
    margin-top: 0rem !important;
  }

  .text-and-image.block-content--green .text-wrapper {
    padding: 2.25rem;
  }

  .block:has(.interactive-image) .interactive-image .image-wrapper img,
  .block:has(.interactive-image) .interactive-image .image-wrapper {
    min-width: 1280px;
  }

  .block:has(.interactive-image) .interactive-image {
    position: relative;
  }

  .block:has(.interactive-image) > div {
    overflow-x: scroll;
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }

  .interactive-image .image-wrapper img {
    position: relative;
    left: -30px;
  }

  .block:has(.media-caption) + .block:has(.media-caption),
  .block:has(.media-caption) + .block:has(.media) {
    margin-top: 0px !important;
  }

  .media:has(.media-caption) {
    height: auto;
  }

  .media:has(.media-caption) .image {
    position: relative;
    width: 100%;
    height: auto;
    top: inherit;
    left: inherit;
  }

  .media:has(.media-caption) .image img {
    position: relative;
    width: 100%;
    height: auto;
    top: inherit;
    left: inherit;
    transform: none;
  }

  .block:not(.image)
    + .block:has(.block-content--blue)
    .text-and-image.block-content--blue,
  .block:not(.image)
    + .block:has(.block-content--blue)
    + .block:not(.image)
    .text.text--narrow {
    margin-top: 0rem !important;
  }

  .main.page-miljoe .block:has(.interactive-image) {
    left: 0px;
    padding-top: 0px !important;
    margin-top: 0px !important;
    padding-bottom: 0px !important;
  }

  .main.page-miljoe .block:has(.interactive-image) > div {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  .main.page-miljoe .block:has(.interactive-image) .interactive-image {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important;
  }
  /* Menu */

  .mobile-menu {
    top: 5.1875rem;
  }

  .mobile-menu.active {
    max-width: 100%;
    background: #fff;
    bottom: 0;
    left: 0;
    overflow: auto;
    padding: 0 1rem 48px;
    position: fixed;
    top: 5.1875rem;
    height: calc(100vh - 83px);
  }
  .has-megamenu.active {
    border: none;
    padding-bottom: 0;
  }
  .mobile-menu ul li {
    border-bottom: 0.0625rem solid #00214d;
    font-size: 1.25rem;
    line-height: 1.9;
    padding: 1rem 0;
  }

  .mobile-menu .nav-link.link-with-underline {
    padding: 0;
  }

  .mobile-menu ul li a,
  .mobile-menu ul li span {
    text-decoration: none;
  }

  .mobile-menu ul li .dropdown-toggle {
    position: relative;
  }

  .mobile-menu ul .nav-item .dropdown-toggle:after {
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -8px;
    border-bottom: 0.0625rem solid #00214d;
    border-right: 0.0625rem solid #00214d;
    border-left: 0px;
    border-top: 0px;
    content: "";
    display: block;
    height: 10px;
    transform: rotate(45deg);
    width: 10px;
  }

  .mobile-menu.active ul .nav-item.active > .dropdown-toggle:after {
    transform: rotate(-135deg);
    top: 63%;
  }

  .mobile-menu ul li .dropdown-toggle:before {
    height: 1.875rem;
    width: 1.875rem;
    border: 0.0625rem solid #00214d;
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    right: 0px;
    top: 50%;
    margin-top: -15px;
  }

  .mobile-menu ul li .nav-item a {
    color: #000;
    font-size: 1.1rem;
    padding: 0.5rem 0;
  }

  .mobile-menu ul li .nav-item:last-of-type {
    border-bottom: 0px;
  }

  .mobile-menu ul li .megamenu-content.box-wide {
    margin: 0px;
    width: auto;
    margin-left: 1rem;
    padding-left: 1rem;
    margin-top: 10px;
    margin-bottom: 10px;
    border-left: 0.0625rem solid #00214d;
    list-style: none;
  }
  .mobile-menu ul li .megamenu-content.box-wide .nav-item .nav-link {
    padding: 0.2rem 0;
  }
  .mobile-menu ul li .megamenu {
    margin: 0px;
    width: auto;
    max-height: 0px;
    overflow: hidden;
    transition: max-height 0.26s ease;
  }

  .mobile-menu ul li a:hover {
    text-decoration: none;
  }

  .mobile-menu ul li a.link-with-underline:after {
    display: none;
  }

  .mobile-menu ul li.active > .megamenu {
    max-height: 1000px;
    transition: max-height 0.26s ease;
  }

  .mobile-menu ul li.active > .megamenu .nav-item .megamenu.megamenu--submenu {
    max-height: 0px;
    overflow: hidden;
    transition: max-height 0.26s ease;
  }

  .mobile-menu
    ul
    li.active
    > .megamenu
    .nav-item.active
    .megamenu.megamenu--submenu {
    max-height: 5000px;
    overflow: hidden;
    transition: max-height 0.26s ease;
  }

  .mobile-menu ul li a.active {
    display: block;
    position: relative;
    padding-left: 35px !important;
  }

  .mobile-menu ul li a.active:after {
    content: "\21FE";
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    background-color: transparent;
    font-size: 15px;
    top: 1px;
    left: 0px;
    transform: inherit !important;
    text-align: center;
    vertical-align: middle;
    font-size: 28px;
    line-height: 1;
  }
  .mobile-menu ul li .link-with-underline.active:after {
    top: 3px;
  }

  .bar,
  .bar:after,
  .bar:before {
    width: 25px;
    height: 2px;
  }

  .bar:before {
    bottom: 8px;
  }

  .bar:after {
    top: 8px;
  }

  .operational-change .operational-change-summary {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  .operational-change table {
    width: 100% !important;
  }

  .main.page-english .media.media--narrow,
  .main.page-deutsch .media.media--narrow {
    left: 0px;
  }

  .main.page-english .media.media--narrow img,
  .main.page-deutsch .media.media--narrow img {
    height: auto;
  }

  .main.page-english .block:has(.media),
  .main.page-deutsch .block:has(.media) {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  .main.page-english .media .image,
  .main.page-deutsch .media .image {
    border-radius: 0px;
  }

  .main.page-english .block .img-fluid,
  .main.page-deutsch .block .img-fluid {
    width: 100%;
  }

  .cta--button,
  .cta-rte--button {
    white-space: normal;
  }

  .mobile-header .logo-menu .logo {
    display: block;
  }
}

@media (max-width: 900px) {
}

@media (max-width: 768px) {
  /* Pika calendar */
  .pika-single {
    left: calc(100vw - 97%) !important;
  }

  .pika-lendar {
    width: 90vw !important;
  }

  .pika-table {
    max-width: 100%;
    margin: 1rem 5rem;
  }

  div.block {
    margin-bottom: 2rem;
  }

  section .block:last-child {
    margin-bottom: 2rem;
  }

  /* Full-width bg color */
  .block:has(.block-content--silver),
  .block:has(.banner.block-content--blue),
  .block:has(.block-content--green) {
    width: 100%;
  }

  .image-wrapper .image {
    height: 100%;
  }

  .img-fluid {
    width: auto;
    height: 100%;

  }

  .block-content--blue .image-wrapper {
    border-radius: initial;
  }
  /* Press page, article page */
  .block:has(.banner.block-content--silver),
  .block:has(.banner.block-content--blue) {
    max-width: 100%;
    width: 100%;
  }

  .banner-content {
    display: flex;
    flex-direction: column;
    /* margin: auto;
        padding: 3.25rem 0; */
  }

  .banner-content .vertical-bottom,
  .banner-content .vertical-top,
  .banner-content .vertical-middle {
    align-self: flex-start;
  }

  /* Trung */
  .footer .block {
    margin-left: 0px;
  }

  .block:has(.block-content--silver) {
    width: calc(100% - 4.5rem);
  }

  .block:has(.interactive-image) {
    position: relative;
    left: -2.25rem;
  }

  .block:has(.block-content--blue)
    + .block:has(.block-content--silver)
    .banner.block-content--silver,
  .block:has(.text--narrow)
    + .block:has(.block-content--silver)
    .banner.block-content--silver,
  .block:has(.banner.block-content--silver) {
    margin-top: 0rem !important;
  }

  .article > .article-summary {
    padding-left: 0rem;
    padding-right: 0rem;
  }

  .banner .banner-content {
    flex-wrap: wrap;
    /* padding-left: 2.25rem;
    padding-right: 2.25rem; */
  }

  .media:has(.media-caption) {
    height: auto;
  }

  .media:has(.media-caption) .image {
    position: relative;
    width: 100%;
    height: auto;
    top: inherit;
    left: inherit;
  }

  .media:has(.media-caption) .image img {
    position: relative;
    width: 100%;
    height: auto;
    top: inherit;
    left: inherit;
    transform: none;
  }

  .block:last-of-type .media .image {
    border-radius: 0 0.9375rem 0.9375rem 0;
    -webkit-border-radius: 0 0.9375rem 0.9375rem 0;
    -moz-border-radius: 0 0.9375rem 0.9375rem 0;
    -ms-border-radius: 0 0.9375rem 0.9375rem 0;
    -o-border-radius: 0 0.9375rem 0.9375rem 0;
  }

  .block:has(.media) {
    width: 100vw;
    max-width: 100%;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem !important;
  }

  .block:has(.media.media--narrow) {
    margin-top: 0px;
  }

  .block:has(.media) .media {
    position: relative;
    /* left: -1rem; */
    width: calc(100% - 32px);
    margin-left: 16px;
  }
  .block:has(.media) .media .image {
    border-radius: 0.9375rem;
  }
  .block:has(.media) .media img {
    height: 34.5rem;
    object-fit: cover;
    object-position: center;

  }

  .main.page-regularitet .block:has(.media) .media.media--narrow {
    left: 0px;
  }

  .main.page-regularitet .block:has(.media) .media.media--narrow img {
    height: inherit;
  }

  .main.page-regularitet .block:has(.media--narrow) {
    /* padding-left: 2.25rem;
    padding-right: 2.25rem; */
  }

  a.btn {
    display: inline-block !important;
    white-space: inherit !important;
  }

  .main.page-nyheder .thumbnail-article {
    flex-direction: column !important;
    margin-bottom: 2.25rem;
  }

  .main.page-nyheder .thumbnail-article .card-image img {
    width: 100%;
  }
}
@media (min-width: 768px) and (max-width: 1140px) {
  .text-and-image {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
  .block-content--blue .image-wrapper {
    width: 100% !important;
    flex-shrink: 1;
    min-width: 43%;
    border-radius: initial; 
  }
  .image-wrapper {
    width: 43% !important;
    flex-shrink: 0;
  }
}
@media (min-width: 420px) and (max-width: 480px) {
  .pika-single {
    left: calc(100vw - 97%) !important;
  }

  .pika-table {
    margin: 1rem 3rem;
  }
}

@media (max-width: 419px) {
  .pika-single {
    left: calc(100vw - 98%) !important;
  }

  .pika-table {
    margin: 0.75rem 1.25rem;
    max-width: 90%;
    padding: 0.5rem;
  }
}

.route__map--mobile {
  position: relative;
  left: -50px;
}

@media (max-width: 768px) {
  .route__headline-wrapper {
    display: none;
  }
}
