/*
	Abstracts are helpers, variables and functions
	for scss compliation.
*/
/*
	@TODO: Add to theme: new division fix for updated sass package.
*/
/**==================================================================================================================================
BREAKPOINT
@TODO: remove? What is use case?? either use simple global points or write custom line. why does first breakpoint have to be 0?
 ==================================================================================================================================*/
/**==================================================================================================================================
BREAKPOINT ENDS
==================================================================================================================================*/
span.edit-link {
  display: inline-block;
  background-color: yellow;
  font-weight: 700;
  position: fixed;
  left: 0;
  bottom: 3.125rem;
  transform: translateX(-45px);
  transition: all 0.2s;
}

span.edit-link a {
  display: block;
  padding: 0.9375rem;
}

span.edit-link:hover {
  transform: translateX(0);
}

/*
	Variables for compliation
	NB! Colors should be added to base/config file as css root variable.
*/
/**
 * Block section background colors.
 * Include the background options ACF fields group to use these.
 */
/*
 * makes ul/ol as a dropdown select (normaly in mobile)
 * Structure: div > title > list > li > a
*/
/*
	Variables for legacy dc plugins
*/
section.shipping-routes-globe {
  position: relative;
}

section.shipping-routes-globe.block-section.has-background:not(.has-inner-background-color) {
  padding: calc(var(--spacing-block) / 2) 0;
}

section.shipping-routes-globe .block-section-wrapper {
  position: relative;
}

section.shipping-routes-globe .block-section-wrapper .routes-map-header {
  color: var(--color__blue);
  margin-bottom: 3.75rem;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
}

@media (max-width: 991px) {
  section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper {
    flex-direction: column;
  }
}
section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left {
  flex: 0 0 30%;
  max-width: 40%;
}

@media (max-width: 991px) {
  section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    order: 2;
  }
}
section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion {
  width: 100%;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item {
  color: var(--color__dark-grey);
  position: relative;
  border-bottom: 1px solid var(--color__medium-grey);
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item:first-child {
  border-top: 1px solid var(--color__medium-grey);
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__question {
  padding: 1.75rem 0;
  cursor: pointer;
  transition: all 0.4s ease;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  color: var(--color__dark-grey);
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__question .button-circle {
  flex-shrink: 0;
  margin-left: 1rem;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__question .button-circle .icon-arrow-down {
  transition: 0.2s ease all;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__question.active {
  color: var(--color__blue);
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__question.active .button-circle {
  background-color: var(--color__blue);
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__question.active .icon-arrow-down {
  transform: rotate(180deg);
  color: #fff;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer {
  max-height: 0;
  overflow: hidden;
  padding: 0;
  transition: max-height 0.4s ease, padding-top 0.4s ease, padding-bottom 0.4s ease;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer.active {
  max-height: 1000px;
  padding: 0;
  padding-bottom: 1.75rem;
  margin-top: -1.25rem;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer .ports-label {
  font-size: 1.125rem;
  color: var(--color__black);
  margin: 0 0 0.75rem 0;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer .port-pairs {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  margin-bottom: 1.25rem;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer .port-pairs .port-pair {
  font-size: 1rem;
  color: var(--color__black);
  margin: 0;
  padding: 0.125rem 0;
  cursor: pointer;
  transition: color 0.15s ease;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer .port-pairs .port-pair:hover {
  color: var(--color__blue);
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer a {
  color: var(--color__blue);
  transition: all 0.2s ease;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer a:hover {
  color: var(--color__dark-blue);
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer h2,
section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer h3,
section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer h4 {
  line-height: 1.4;
  margin: 0 0 1.25rem 0;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__left .routes-accordion .accordion-item .accordion-item__answer > div {
  margin: 0;
}

section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__right {
  flex: 1;
  min-width: 0;
}

@media (max-width: 991px) {
  section.shipping-routes-globe .block-section-wrapper .routes-accordion-wrapper .routes-accordion__right {
    width: 100%;
    order: 1;
  }
}
section.shipping-routes-globe .globe-wrapper {
  position: relative;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

@media (max-width: 991px) {
  section.shipping-routes-globe .globe-wrapper {
    min-height: 500px;
  }
}
section.shipping-routes-globe .globe-wrapper .globe-canvas {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 50vh;
  height: 80vh;
  background: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  cursor: -webkit-grab;
  cursor: grab;
}

section.shipping-routes-globe .globe-wrapper .globe-canvas:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

@media (max-width: 991px) {
  section.shipping-routes-globe .globe-wrapper .globe-canvas {
    min-height: 30vh;
    height: 50vh;
  }
}
section.shipping-routes-globe .globe-interaction-hint {
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.875rem;
  background: rgba(255, 255, 255, 0.88);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  border: 1px solid rgba(13, 103, 223, 0.18);
  border-radius: 1.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color__navy-blue);
  white-space: nowrap;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.6s ease;
  z-index: 10;
}

section.shipping-routes-globe .globe-interaction-hint svg {
  flex-shrink: 0;
  -webkit-animation: globe-hint-spin 3s ease-in-out infinite;
          animation: globe-hint-spin 3s ease-in-out infinite;
}

section.shipping-routes-globe .globe-interaction-hint.is-hidden {
  opacity: 0;
}

@-webkit-keyframes globe-hint-spin {
  0% {
    transform: rotate(0deg);
  }
  40% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(180deg);
  }
}

@keyframes globe-hint-spin {
  0% {
    transform: rotate(0deg);
  }
  40% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(180deg);
  }
}
section.shipping-routes-globe .port-marker {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  cursor: default;
  pointer-events: none;
  z-index: 50;
}

section.shipping-routes-globe .port-marker .port-star {
  color: var(--color__blue);
}

section.shipping-routes-globe .port-marker .port-label {
  position: absolute;
  padding: 0.25rem 0.625rem;
  background: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  border: 1px solid var(--color__light-blue);
  border-radius: 1.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color__navy-blue);
  white-space: nowrap;
  pointer-events: none;
  opacity: 1;
  z-index: 1000;
}

section.shipping-routes-globe .port-marker[data-label-position=right] .port-label {
  top: 50%;
  left: 24px;
  transform: translateY(-50%);
}

section.shipping-routes-globe .port-marker[data-label-position=left] .port-label {
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
}

section.shipping-routes-globe .port-marker[data-label-position=top] .port-label {
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
}

section.shipping-routes-globe .port-marker[data-label-position=bottom] .port-label {
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
}

section.shipping-routes-globe .port-marker.active .port-star {
  color: var(--color__dark-blue);
}
