/*
%grayscale {
	filter: grayscale(100%);
}

.grayscale {
	@extend %grayscale;
}
*/
@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Firefox < 16 */
@-moz-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes arrow-bounce {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  16% {
    transform: translateX(1rem);
    opacity: 0;
  }
  28% {
    transform: translateX(-1rem);
    opacity: 0;
  }
  44% {
    transform: translateX(0);
    opacity: 1;
  }
  56% {
    transform: translateX(0);
    opacity: 1;
  }
  72% {
    transform: translateX(1rem);
    opacity: 0;
  }
  84% {
    transform: translateX(-1rem);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.fade-enter-active {
  transition: all 0.3s ease;
}

.fade-leave-active {
  transition: all 0.3s ease;
}

.fade-enter,
.fade-leave-to {
  opacity: 0;
}

.portfolio__view-controls button:first-of-type {
  content: "";
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxMSAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuMTI3MDIgMC45NDYyODlDMi4yOTk5OSAwLjk0NjI4OSAwIDMuMjQ2MjUgMCA2LjA3MzI4QzAgNy4yMDkzMiAwLjY2ODgzNSA4LjkzNzAzIDIuMTA0ODggMTEuNTEwNEMzLjA4NDggMTMuMjY2NCA0LjA2MDIxIDE0Ljc0OTUgNC4xMDEzNiAxNC44MTJMNC44MDYzNyAxNS44ODA2QzQuODc3NDUgMTUuOTg4NCA0Ljk5Nzg5IDE2LjA1MzIgNS4xMjcwMiAxNi4wNTMyQzUuMjU2MTUgMTYuMDUzMiA1LjM3NjU5IDE1Ljk4ODQgNS40NDc2NyAxNS44ODA2TDYuMTUyNjQgMTQuODEyQzYuMTkzMzkgMTQuNzUwMyA3LjE2MTcgMTMuMjc5OSA4LjE0OTE2IDExLjUxMDRDOS41ODUyIDguOTM3MTUgMTAuMjU0IDcuMjA5NDQgMTAuMjU0IDYuMDczMjhDMTAuMjU0IDMuMjQ2MjUgNy45NTQwNSAwLjk0NjI4OSA1LjEyNzAyIDAuOTQ2Mjg5Wk03LjQ3ODMgMTEuMTM2QzYuNTA0NTggMTIuODgwOCA1LjU1MTU3IDE0LjMyODEgNS41MTE0IDE0LjM4ODlMNS4xMjcwMiAxNC45NzE1TDQuNzQyNzUgMTQuMzg5QzQuNzAyMzcgMTQuMzI3NyAzLjc0MjA1IDEyLjg2NzUgMi43NzU3NCAxMS4xMzZDMS40NDM2OSA4Ljc0ODk1IDAuNzY4MjgxIDcuMDQ1NTggMC43NjgyODEgNi4wNzMyOEMwLjc2ODI4MSAzLjY2OTg4IDIuNzIzNTkgMS43MTQ1NyA1LjEyNzAyIDEuNzE0NTdDNy41MzA0NSAxLjcxNDU3IDkuNDg1NzUgMy42Njk4OCA5LjQ4NTc1IDYuMDczMjhDOS40ODU3NSA3LjA0NTcxIDguODEwMzQgOC43NDkwMiA3LjQ3ODMgMTEuMTM2WiIgZmlsbD0iYmxhY2siLz4KPHBhdGggZD0iTTUuMTI3OCAzLjE5ODI0QzMuNTYwMzUgMy4xOTgyNCAyLjI4NTE2IDQuNDczNDYgMi4yODUxNiA2LjA0MDg4QzIuMjg1MTYgNy42MDgyOSAzLjU2MDM1IDguODgzNTIgNS4xMjc4IDguODgzNTJDNi42OTUyNSA4Ljg4MzUyIDcuOTcwNDUgNy42MDgyOSA3Ljk3MDQ1IDYuMDQwODhDNy45NzA0NSA0LjQ3MzQ2IDYuNjk1MjUgMy4xOTgyNCA1LjEyNzggMy4xOTgyNFpNNS4xMjc4IDguMTE1MjRDMy45ODM5OCA4LjExNTI0IDMuMDUzNDQgNy4xODQ3IDMuMDUzNDQgNi4wNDA4OEMzLjA1MzQ0IDQuODk3MDYgMy45ODM5OCAzLjk2NjUyIDUuMTI3OCAzLjk2NjUyQzYuMjcxNjUgMy45NjY1MiA3LjIwMjE2IDQuODk3MDYgNy4yMDIxNiA2LjA0MDg4QzcuMjAyMTYgNy4xODQ3IDYuMjcxNjUgOC4xMTUyNCA1LjEyNzggOC4xMTUyNFoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=");
  background-repeat: no-repeat;
}

.portfolio__view-controls button:last-of-type {
  content: "";
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyMCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMjAiIHk9IjgiIHdpZHRoPSIxNiIgaGVpZ2h0PSIwLjk5OTk5OSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE4MCAyMCA4KSIgZmlsbD0iYmxhY2siLz4KPHJlY3QgeD0iMjAiIHk9IjMiIHdpZHRoPSIxNiIgaGVpZ2h0PSIwLjk5OTk5OSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE4MCAyMCAzKSIgZmlsbD0iYmxhY2siLz4KPHJlY3QgeD0iMjAiIHk9IjEzIiB3aWR0aD0iMTYiIGhlaWdodD0iMC45OTk5OTkiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgMjAgMTMpIiBmaWxsPSJibGFjayIvPgo8cmVjdCB4PSIyIiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSIxIiB0cmFuc2Zvcm09InJvdGF0ZSgtMTgwIDIgOCkiIGZpbGw9ImJsYWNrIi8+CjxyZWN0IHg9IjIiIHk9IjMiIHdpZHRoPSIyIiBoZWlnaHQ9IjEiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgMiAzKSIgZmlsbD0iYmxhY2siLz4KPHJlY3QgeD0iMiIgeT0iMTMiIHdpZHRoPSIyIiBoZWlnaHQ9IjEiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgMiAxMykiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=");
  background-repeat: no-repeat;
}

.portfolio__modal button.close span {
  content: "";
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHRpdGxlPmNyb3NzLWJpZzwvdGl0bGU+PGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTEuMDQ5IDBMLjM0Mi43MDdsOC44NSA4Ljg1MUwwIDE4Ljc1bC43MDcuNzA3TDkuOSAxMC4yNjVsOC45NjggOC45NjkuNzA3LS43MDd2LS4wMDFsLTguOTY5LTguOTY4TDE5LjIzNC45MzFsLS43MDgtLjcwN0w5LjkgOC44NTF6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=");
}

.portfolio__view-controls button.controls-explore {
  content: "";
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMTMuNjE5MSIgY3k9IjEzLjYxOTEiIHI9IjEwLjY0MjkiIHN0cm9rZT0iIzAwMCIvPjxwYXRoIGQ9Ik0xNS40MDkgMTcuMTYyMWwtLjEyODkuNTI3NGMtLjM4NjcuMTUyMy0uNjk1My4yNjc1LS45MjU3LjM0NTctLjIzMDUuMDgyLS40OTgxLjEyMy0uODAyOC4xMjMtLjQ2ODcgMC0uODM0LS4xMTMzLTEuMDk1Ny0uMzM5OC0uMjU3OC0uMjMwNS0uMzg2Ny0uNTIxNS0uMzg2Ny0uODczMSAwLS4xMzY3LjAwOTgtLjI3NTQuMDI5My0uNDE2LjAxOTUtLjE0NDUuMDUwOC0uMzA2Ni4wOTM3LS40ODYzbC40ODA1LTEuNzExYy4wNDMtLjE2NC4wNzgxLS4zMTgzLjEwNTUtLjQ2MjkuMDMxMi0uMTQ4NC4wNDY5LS4yODMyLjA0NjktLjQwNDMgMC0uMjE4Ny0uMDQ1LS4zNzEtLjEzNDgtLjQ1Ny0uMDg5OS0uMDg1OS0uMjYxNy0uMTI4OS0uNTE1Ni0uMTI4OS0uMTI1IDAtLjI1MzkuMDE5NS0uMzg2OC4wNTg2LS4xMjg5LjAzOTEtLjI0MDIuMDc2Mi0uMzMzOS4xMTEzbC4xMjg5LS41MjczYy4zMTY0LS4xMjg5LjYxOTEtLjIzODMuOTA4Mi0uMzI4MS4yODktLjA5MzguNTYyNS0uMTQwNy44MjAzLS4xNDA3LjQ2NDggMCAuODIyMi4xMTMzIDEuMDcyMi4zMzk5LjI1NC4yMjI2LjM4MDkuNTEzNi4zODA5Ljg3MyAwIC4wNzQyLS4wMDk4LjIwNTEtLjAyOTMuMzkyNi0uMDE1Ni4xODc1LS4wNDY5LjM1OTQtLjA5MzcuNTE1NmwtLjQ4MDUgMS43MDUxYy0uMDM5MS4xMzY3LS4wNzQyLjI5My0uMTA1NS40Njg4LS4wMzEyLjE3NTctLjA0NjkuMzA4NS0uMDQ2OS4zOTg0IDAgLjIyNjYuMDUwOC4zODA5LjE1MjQuNDYyOS4xMDE2LjA4Mi4yNzczLjEyMy41MjczLjEyMy4xMTcyIDAgLjI1LS4wMTk1LjM5ODUtLjA1ODYuMTQ4NC0uMDQyOS4yNTU4LS4wOC4zMjIyLS4xMTEzem0uMTIzMS03LjE1NDNjMCAuMjk2OS0uMTEzMy41NTA4LS4zMzk5Ljc2MTctLjIyMjYuMjA3MS0uNDkyMS4zMTA2LS44MDg2LjMxMDYtLjMxNjQgMC0uNTg3OC0uMTAzNS0uODE0NC0uMzEwNi0uMjI2Ni0uMjEwOS0uMzM5OC0uNDY0OC0uMzM5OC0uNzYxNyAwLS4yOTY4Ni4xMTMyLS41NTA3Ny4zMzk4LS43NjE3MS4yMjY2LS4yMTA5My40OTgtLjMxNjQuODE0NC0uMzE2NC4zMTY1IDAgLjU4Ni4xMDU0Ny44MDg2LjMxNjQuMjI2Ni4yMTA5NC4zMzk5LjQ2NDg1LjMzOTkuNzYxNzF6IiBmaWxsPSIjMDAwIi8+PC9zdmc+");
}

/* ICONS */
/* Import all icons used via custom font */
.icon-logo-orient_express-se_asia {
  font-size: 50px;
  font-size: 5rem;
}
@media (min-width: 601px) {
  .icon-logo-orient_express-se_asia {
    font-size: 60px;
    font-size: 6rem;
    margin-top: -0.5rem;
  }
}
@media (min-width: 1201px) {
  .icon-logo-orient_express-se_asia {
    font-size: 80px;
    font-size: 8rem;
    margin-top: 0;
    top: 0;
  }
}

.icon-logo-belmond {
  display: block;
}

/* Icons created via CSS */
.left-arrow::after, .portfolio__view-mini-breadcrumb::after, .portfolio .mobile-filtered-country-back a::after, .portfolio .mobile-region-back a::after, .portfolio__modal button.prev::after, .right-arrow::after, .portfolio__breadcrumb ul li::after, .portfolio__routes-filter ul li a::after, .portfolio__routes-filter ul li button::after, .portfolio__routes-filter ul li span:not(.desktop-region-all)::after, .portfolio__modal button.next::after, .down-arrow::after, .portfolio__map-scroll-btn button::after, .up-arrow::after {
  border-bottom: 0.1rem solid #000;
  border-right: 0.1rem solid #000;
  content: " ";
  display: inline-block;
  width: 0.9rem;
  height: 0.9rem;
  margin-bottom: 0.25rem;
}

.up-arrow::after {
  transform: rotate(225deg);
}

.portfolio__map-scroll-btn button::after {
  transform: rotate(45deg);
}

.down-arrow::after {
  transform: rotate(45deg);
}

.portfolio__breadcrumb ul li::after, .portfolio__routes-filter ul li a::after, .portfolio__routes-filter ul li button::after, .portfolio__routes-filter ul li span:not(.desktop-region-all)::after, .portfolio__modal button.next::after {
  transform: rotate(-45deg);
}

.right-arrow::after {
  transform: rotate(-45deg);
}

.portfolio__view-mini-breadcrumb::after, .portfolio .mobile-filtered-country-back a::after, .portfolio .mobile-region-back a::after, .portfolio__modal button.prev::after {
  transform: rotate(135deg);
}

.left-arrow::after {
  transform: rotate(135deg);
}

.portfolio__filtered-list li a:before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  background-color: #fff;
  border: 0.2rem solid #000;
  display: block;
  transform: rotate(45deg);
  position: absolute;
  top: 0rem;
  left: 0.2rem;
}

.bullet::before {
  transform: rotate(45deg);
  border: 0.1rem solid #000;
  content: " ";
  display: inline-block;
  height: 0.5rem;
  width: 0.5rem;
}

.drop-down {
  padding-right: 2rem;
}
.drop-down::before {
  background-color: transparent;
  border-bottom: 0.1rem solid gainsboro;
  border-right: 0.1rem solid gainsboro;
  content: " ";
  display: inline-block;
  height: 1rem;
  position: absolute;
  left: 0;
  margin: 0 auto;
  right: 0;
  width: 1rem;
}
.drop-down::before {
  transform: rotate(45deg);
}
.drop-down::before {
  background-color: transparent;
  border-bottom: 0.1rem solid gainsboro;
  border-right: 0.1rem solid gainsboro;
  content: " ";
  display: inline-block;
  height: 1rem;
  position: absolute;
  left: 0;
  margin: 0 auto;
  right: 0;
  width: 1rem;
}
.drop-down::before {
  background: transparent;
  border-bottom: 0.1rem solid #000;
  border-right: 0.1rem solid #000;
}
.drop-down::before {
  transition: all 0.25s ease-in-out;
  top: 0.125rem;
}
.drop-down.up::before {
  transform: rotate(225deg);
  margin-top: 0.35rem;
}
.drop-down::before {
  left: auto;
  height: 0.7rem;
  right: 2rem;
  width: 0.7rem;
}

.cross {
  display: inline-block;
  height: 4rem;
  overflow: hidden;
  position: relative;
  width: 4rem;
}
.cross::before {
  transform: rotate(45deg);
  border-bottom: 0.1rem solid #757575;
  content: " ";
  left: -0.75rem;
  position: absolute;
  top: 2rem;
  width: 5.5rem;
}
.cross::after {
  transform: rotate(-45deg);
  border-bottom: 0.1rem solid #757575;
  content: " ";
  position: absolute;
  right: -0.75rem;
  top: 2rem;
  width: 5.5rem;
}
.cross:hover::before, .cross:hover::after {
  border-color: #000;
}

.rectangle-19 {
  width: 14px;
  height: 14px;
}

.icon {
  font-family: "belmond";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  display: inline-block;
  vertical-align: middle;
}

/*@font-face {
	font-family: 'Theano Didot';
	src:
	url('fonts/theano-didot/theanodidot-regular-webfont.woff2') format('woff2'),
	url('fonts/theano-didot/theanodidot-regular-webfont.woff') format('woff');
	font-weight: 400;
	font-style: normal;
}*/
/*@font-face {
	font-family: 'Beyond Infinity';
	src:
	url('fonts/beyond-infinity/beyond_infinity-webfont.eot') format('eot'),
	url('fonts/beyond-infinity/beyond_infinity-webfont.woff') format('woff'),
	url('fonts/beyond-infinity/beyond_infinity-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}*/
/*$font-montserrat: 'Montserrat', sans-serif; // 300, 400, 500, 700
$font-theano-didot: 'Theano Didot', serif; // 400
$font-beyond-infinity: 'Beyond Infinity', serif;*/
.small-copy, body {
  /*font-family: $font-montserrat;
  font-weight: 300;
  letter-spacing: $body-gbl-letter-spacing;
  @include font-size(12);*/
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.small-copy {
  font-size: 10px;
  font-size: 1rem;
}

p {
  /*@extend %body-copy;

  line-height: $body-gbl-line-height;
  margin: 0 0 $body-gbl-margin-bottom 0;
  text-align: left;*/
}

.montserrat {
  font-family: "";
}

.theano {
  font-family: "";
}

.font-weight-extralight {
  font-weight: 200;
}

.font-weight-light {
  font-weight: 300;
}

.font-weight-regular {
  font-weight: 400;
}

.font-weight-medium, .selected-text, .emphasis, .pdp-emphasis {
  font-weight: 500;
}

/* %campaign-dash {
	display: block;
	position: relative;
	padding-left: 2.4rem;

	@include media('>=tablet') {
		padding-left: 3.9rem;
	}

	&::before {
		content: '';
		width: 1.4rem;
		height: 0.2rem;
		position: absolute;
		top: calc(50% - 0.1rem);
		left: 0;

		@include media('>=tablet') {
			width: 2.4rem;
			height: 0.3rem;
			top: calc(50% - 0.15rem);
		}
	}
}
*/
.portfolio__map svg .region-country-text, .portfolio__map svg .map-text, .portfolio__map-regions-mobiles li span, .portfolio__filtered-list li span.filtered-list-title, .portfolio__modal h3, .portfolio .marker__tooltip h3, .module .module-header h1,
.module .module-header h2 {
  font-family: Montserrat, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.06rem;
}

.portfolio__map .map__loading h2, .portfolio__list-region-cta h4, .portfolio__modal h4, .portfolio__map-large-text .large-text, .portfolio__map-description--world h2, .portfolio__map-description h2, .module .module-header p {
  font-family: "Theano Didot", serif;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.06rem;
}

.module .module-header h1,
.module .module-header h2 {
  font-size: 3.2rem;
  line-height: 1.1;
  margin-bottom: 1rem;
}
@media (min-width: 1024px) {
  .module .module-header h1,
.module .module-header h2 {
    font-size: 4rem;
  }
}

.module .module-header p {
  font-size: 2rem;
  line-height: 1.4;
}

.portfolio__filtered-list li span.filtered-list-title, .portfolio__modal h3, .portfolio .marker__tooltip h3 {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.1;
}

.portfolio__map svg .region-country-text, .portfolio__map svg .map-text, .portfolio__map-regions-mobiles li span {
  font-size: 2rem;
  line-height: 1.4;
}
@media (min-width: 1024px) {
  .portfolio__map svg .region-country-text, .portfolio__map svg .map-text, .portfolio__map-regions-mobiles li span {
    font-size: 2.6rem;
    line-height: 1.2;
  }
}

.portfolio .marker__tooltip h4 {
  font-family: "Theano Didot", serif;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.06rem;
  font-size: 1.3rem;
  line-height: 1.8;
}

.portfolio__list-region-cta h4, .portfolio__modal h4, .portfolio__map-large-text .large-text, .portfolio__map-description--world h2, .portfolio__map-description h2 {
  font-size: 2rem;
  line-height: 1.4;
}

.portfolio__map .map__loading h2 {
  font-size: 2.4rem;
  line-height: 1.1;
}
@media (min-width: 1024px) {
  .portfolio__map .map__loading h2 {
    font-size: 2.6rem;
  }
}

.portfolio__breadcrumb, .portfolio__view-controls button, .portfolio__utility, .portfolio__views-list, .portfolio__routes-filter, .portfolio .mobile-filtered-country-back, .portfolio__modal a:not(.btn), .portfolio__modal .arrows, .module .module-header p {
  font-family: Montserrat, sans-serif;
  font-size: 1.3rem;
  line-height: 1.8;
  font-weight: 300;
  letter-spacing: 0.06rem;
}

.portfolio__map {
  position: relative;
  height: 80vw;
  width: 100vw;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 601px) {
  .portfolio__map {
    height: 100vh;
    width: calc(100vh * 1.875);
    max-height: 450px;
    max-width: calc(550px * 1.875);
  }
}
@media (min-width: 1025px) {
  .portfolio__map {
    max-height: 650px;
    max-width: 1440px;
  }
}
@media (min-width: 1201px) {
  .portfolio__map {
    max-height: 768px;
  }
}
.portfolio__map-regions-mobiles {
  position: relative;
}
@media (min-width: 601px) {
  .portfolio__map-regions-mobiles {
    display: none;
  }
}
.portfolio__map-regions-mobiles li {
  margin: 3rem 3rem 0 3rem;
  padding-top: 40%;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0.1rem solid #ebebeb;
}
.portfolio__map-regions-mobiles li:first-of-type {
  margin-top: 0;
}
.portfolio__map-regions-mobiles li:last-of-type {
  margin-bottom: 3rem;
}
.portfolio__map-regions-mobiles li:nth-of-type(1) {
  opacity: 0;
  animation: slideCardInFromRight 0.9s 0.2s forwards;
}
.portfolio__map-regions-mobiles li:nth-of-type(2) {
  opacity: 0;
  animation: slideCardInFromRight 0.9s 0.3s forwards;
}
.portfolio__map-regions-mobiles li:nth-of-type(3) {
  opacity: 0;
  animation: slideCardInFromRight 0.9s 0.4s forwards;
}
.portfolio__map-regions-mobiles li:nth-of-type(4) {
  opacity: 0;
  animation: slideCardInFromRight 0.9s 0.5s forwards;
}
.portfolio__map-regions-mobiles li:nth-of-type(5) {
  opacity: 0;
  animation: slideCardInFromRight 0.9s 0.6s forwards;
}
.portfolio__map-regions-mobiles li.r--hidden {
  display: none;
}
.portfolio__map-regions-mobiles li a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.portfolio__map-regions-mobiles li span {
  margin-bottom: 0;
  font-weight: 500;
}
@media (max-width: 600px) {
  .portfolio__map--world {
    display: none;
  }
}
.portfolio__map--world svg .map-text--marker,
.portfolio__map--world svg line {
  display: none;
}
.portfolio__map--world svg a:focus .map-text--world,
.portfolio__map--world svg g.is-zoomable:hover .map-text--world {
  fill: #464646;
}
.portfolio__map--world svg a:focus path,
.portfolio__map--world svg g.is-zoomable:hover path {
  fill: #d5d5d5;
}
.portfolio__map--region svg text,
.portfolio__map--region svg line {
  display: none;
}
@media (max-width: 600px) {
  .portfolio__map--region .marker-group,
.portfolio__map--region [data-name~=tracks],
.portfolio__map--region [data-name~=rivers] {
    display: none;
  }
}
.portfolio__map--region .map-text--world {
  display: none;
}
.portfolio__map--region a.is-clickable .is-zoomable .region-country-text {
  fill: #464646;
}
.portfolio__map--region a:not(.is-clickable) {
  pointer-events: none;
}
.portfolio__map--region a:not(.is-clickable) .is-zoomable {
  pointer-events: none;
}
.portfolio__map--region a:not(.is-clickable) .is-zoomable .region-country-text {
  fill: #979797;
}
.portfolio__map--region a.is-clickable:focus .map-text--world,
.portfolio__map--region g.is-zoomable:hover .map-text--world {
  fill: #464646;
}
.portfolio__map--region a.is-clickable:focus path,
.portfolio__map--region g.is-zoomable:hover path {
  fill: #d5d5d5;
}
.portfolio__map--country .marker-group {
  display: block;
}
.portfolio__map.map--animating .map__grid path {
  mix-blend-mode: unset;
}
.portfolio__map svg {
  position: absolute;
  bottom: 0;
  right: calc(-100vw * 0.27);
  height: 100%;
  width: calc(100vw * 1.875);
}
@media (min-width: 601px) {
  .portfolio__map svg {
    width: 100%;
    bottom: 0;
    right: 0;
  }
}
.portfolio__map svg.svg-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: 100%;
  pointer-events: none;
}
.portfolio__map svg.highlighter g.is-zoomable path {
  fill: #d5d5d5;
}
.portfolio__map svg a:focus {
  outline: none !important;
}
.portfolio__map svg g.is-zoomable path {
  transition: fill 0.3s;
}
.portfolio__map svg .svg-pointer-none,
.portfolio__map svg image {
  pointer-events: none;
}
.portfolio__map svg [data-name=contours] image {
  mix-blend-mode: multiply;
  will-change: opacity;
  transition: opacity 0.3s 0.2s;
  opacity: 0.8;
}
.portfolio__map svg [data-name=grid] path,
.portfolio__map svg .map__grid path {
  fill: none;
  stroke: #dbd9d9;
  stroke-miterlimit: 10;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
  mix-blend-mode: darken;
}
.portfolio__map svg path {
  fill: #ebebeb;
}
.portfolio__map svg .map-tracks path,
.portfolio__map svg [data-name~=tracks] path,
.portfolio__map svg [data-name~=rivers] path {
  stroke: #979797;
  stroke-miterlimit: 10;
  stroke-width: 2px;
  stroke-dasharray: 2 2 1 0 3 0;
  fill: none;
  vector-effect: non-scaling-stroke;
  opacity: 0;
  animation: animateTracks 0.3s 0.3s forwards;
  pointer-events: none;
  transition: stroke 0.3s;
}
.portfolio__map svg [data-name~=rivers] path {
  stroke: #93abc5;
}
.portfolio__map svg [data-name~=tracks].tracks--highlight path {
  stroke: #000;
}
.portfolio__map svg [data-name~=rivers].tracks--highlight path {
  stroke: #27578c;
}
.portfolio__map svg [data-name~=boundaries] path {
  stroke: #cecece;
  stroke-width: 1px;
  stroke-linejoin: round;
  fill: none;
  vector-effect: non-scaling-stroke;
}
@media (min-width: 601px) {
  .portfolio__map svg [data-name~=boundaries] path {
    stroke: #bababc;
    stroke-width: 1.5px;
  }
}
.portfolio__map svg [data-name~=coastline] path {
  fill: none;
  stroke: #b9b9b9;
  stroke-linejoin: round;
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}
.portfolio__map svg .map-text {
  font-weight: 500;
  fill: #464646;
  transform-origin: center;
  transform-box: fill-box;
  user-select: none;
  letter-spacing: 0.06rem;
}
.portfolio__map svg .map-text--world {
  font-size: 18px;
  fill: #b9b9b9;
  transition: fill 0.3s;
}
.portfolio__map svg .map-text--marker {
  font-size: 2.5pt;
  letter-spacing: normal;
}
@media (min-width: 601px) {
  .portfolio__map svg .map-text--marker {
    display: none;
  }
}
.portfolio__map svg .region-country-text {
  font-weight: 500;
  display: block;
  letter-spacing: normal;
  fill: #464646;
  transform-origin: center center;
  transform-box: fill-box;
  cursor: pointer;
  user-select: none;
  font-size: 3pt !important;
}
@media (max-width: 600px) {
  .portfolio__map svg .region-country-text {
    font-size: 5pt !important;
  }
}
.portfolio__map svg .region-country-text.is-greyed-out {
  fill: #979797;
  pointer-events: none;
}
.portfolio__map svg .map__marker {
  transform-origin: center;
  transform-box: fill-box;
  transform: scale(2) rotate(45deg);
  stroke-width: 1.5;
  cursor: pointer;
  transition: fill 0.3s;
  vector-effect: non-scaling-stroke;
}
@media (min-width: 602px) {
  .portfolio__map svg .map__marker {
    transform: scale(1) rotate(45deg);
    stroke-width: 2;
  }
  .portfolio__map svg .map__marker:hover, .portfolio__map svg .map__marker:focus {
    fill: #b9b9b9;
    transform: scale(1.1) rotate(45deg);
  }
}
.portfolio__map svg .map__marker:hover, .portfolio__map svg .map__marker:focus {
  fill: #b9b9b9;
}
.portfolio__map svg .map__marker:focus {
  outline: none !important;
}
.portfolio__map svg .map__marker.active, .portfolio__map svg .map__marker.active:hover, .portfolio__map svg .map__marker.active:focus {
  fill: black;
}
.portfolio__map svg line {
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
@media (min-width: 602px) {
  .portfolio__map svg line {
    display: none;
  }
}
@keyframes fadeInPath {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes animateTracks {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.5;
  }
}
.portfolio__map-description {
  padding: 2.2rem;
  z-index: 1;
  max-width: 400px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .portfolio__map-description {
    display: block;
    position: absolute;
    top: 8rem;
    left: 4rem;
    transition: opacity 1s 0.9s, transform 1s 0.9s;
    max-width: 200px;
    padding: 0;
  }
  .portfolio__map-description.map--animating {
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0s, transform 0s;
  }
}
@media (min-width: 1024px) {
  .portfolio__map-description {
    top: 8rem;
    left: 5rem;
  }
}
@media (min-width: 1201px) {
  .portfolio__map-description {
    max-width: 300px;
  }
}
.portfolio__map-description h2 {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .portfolio__map-description h2 {
    text-align: left;
  }
}
@media (min-width: 1201px) {
  .portfolio__map-description h2 {
    font-size: 26px;
    font-size: 2.6rem;
  }
}
.portfolio__map-description p {
  margin-bottom: 2rem;
  text-align: center;
}
@media (min-width: 768px) {
  .portfolio__map-description p {
    text-align: left;
  }
}
@media (min-width: 768px) {
  .portfolio__map-description .btn {
    display: flex;
    align-self: flex-start;
    width: fit-content;
  }
}
.portfolio__map-description img {
  display: none;
}
@media (min-width: 1201px) {
  .portfolio__map-description img {
    display: block;
    width: 8vw;
    max-width: 135px;
    margin: 0 auto 2rem;
  }
}
.portfolio__map-description svg.trail {
  display: none;
  margin: 4rem auto 0;
}
@media (min-width: 1201px) {
  .portfolio__map-description svg.trail {
    display: block;
  }
}
.portfolio__map-description p .expand-description {
  display: none;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .portfolio__map-description p .description-content {
    display: inline-block;
    overflow: hidden;
    max-height: 12rem;
    margin-bottom: 0;
  }
  .portfolio__map-description p .expand-description {
    display: inline-block;
  }
}
@media (min-width: 1024px) {
  .portfolio__map-description p .description-content {
    max-height: none;
  }
  .portfolio__map-description p .expand-description {
    display: none;
  }
}
.portfolio__map-description p.expand .description-content {
  max-height: none;
}
.portfolio__map-description--world {
  pointer-events: none;
}
.portfolio__map-description--world h2, .portfolio__map-description--world p {
  text-align: center;
}
.portfolio__map-description--world h2 {
  margin-bottom: 2rem;
}
@media (min-width: 1201px) {
  .portfolio__map-description--world h2 {
    font-size: 26px;
    font-size: 2.6rem;
  }
}
.portfolio__map-description--world p {
  margin-bottom: 1.5rem;
}
.portfolio__map-grad {
  height: 100%;
  position: absolute;
  top: 0;
  background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 600px) {
  .portfolio__map-grad {
    display: none;
  }
}
.portfolio__map-grad.left {
  width: 10%;
  max-width: 40rem;
  left: 0;
  background: linear-gradient(to right, white 25%, rgba(255, 255, 255, 0) 100%);
}
@media (min-width: 1024px) {
  .portfolio__map-grad.left {
    width: 25%;
  }
}
.portfolio__map-grad.right {
  width: 10%;
  right: 0;
  background: linear-gradient(to left, #fff 0%, rgba(255, 255, 255, 0) 100%);
}
.portfolio__map-grad.bottom {
  display: none;
  width: 100%;
  top: auto;
  bottom: 0;
  left: 0;
  right: auto;
  background: linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0) 100%);
}
@media (min-width: 601px) {
  .portfolio__map-grad.bottom {
    display: block;
    height: 7rem;
  }
}
.portfolio__map-scroll-btn {
  display: none !important;
  width: 4rem;
  position: absolute;
  left: calc(50% - 2rem);
  bottom: 2rem;
  z-index: 1;
}
@media (min-width: 1024px) {
  .portfolio__map-scroll-btn {
    display: flex;
    bottom: 3rem;
  }
}
.portfolio__map-scroll-btn button {
  width: 4rem;
  height: 4rem;
  border: 0.1rem solid #000;
  background: none;
  cursor: pointer;
  border-radius: 2rem;
}
.portfolio__map-large-text {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  z-index: 1;
  transform: translateX(0);
  transition: opacity 0.8s 0.3s, transform 0.8s 0.3s;
  display: none;
}
@media (min-width: 768px) {
  .portfolio__map-large-text {
    display: block;
    right: 6rem;
  }
}
@media (min-width: 1201px) {
  .portfolio__map-large-text {
    bottom: 3.5rem;
  }
}
.portfolio__map-large-text.map--animating {
  opacity: 0;
  transform: translateX(10px);
  transition: opacity 0s, transform 0s;
}
.portfolio__map-large-text .large-text {
  margin-bottom: 0;
  letter-spacing: 0.5rem;
  text-align: right;
  text-transform: uppercase;
  opacity: 0.4;
  line-height: 1;
  font-size: 24px;
  font-size: 2.4rem;
}
@media (min-width: 768px) {
  .portfolio__map-large-text .large-text {
    opacity: 0.1;
    font-size: 48px;
    font-size: 4.8rem;
  }
}
@media (min-width: 1201px) {
  .portfolio__map-large-text .large-text {
    font-size: 72px;
    font-size: 7.2rem;
  }
}
.portfolio__map .map__loading {
  position: absolute;
  background: #fff;
  left: 0;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.portfolio__map .map__loading .loading {
  transform: scale(0.5);
}
.portfolio__map .map__loading .icon-logo {
  padding: 0;
}
.portfolio__map-no-results {
  max-width: 42rem;
  padding: 3rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  opacity: 0;
  z-index: 2;
  animation: fadeInNoResultsModal 0.3s 1s forwards;
  box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.16);
}
@media (min-width: 601px) {
  .portfolio__map-no-results {
    padding: 6rem;
  }
}
.portfolio__map-no-results p {
  margin-bottom: 0;
  text-align: center;
}
.portfolio .marker__tooltip {
  position: absolute;
  top: 0;
  left: 0;
  width: 20rem;
  min-height: 8rem;
  z-index: 100;
  background: #fff;
  pointer-events: none;
  animation: fadeUpTooltip 0.3s forwards;
  opacity: 0;
  box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.16);
}
@media (max-width: 600px) {
  .portfolio .marker__tooltip {
    display: none;
  }
}
@keyframes fadeUpTooltip {
  from {
    opacity: 0;
    transform: translate(-50%, -90%);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -100%);
  }
}
.portfolio .marker__tooltip .marker__tooltip-img-container {
  min-height: 100px;
}
.portfolio .marker__tooltip div.marker__tooltip-content {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem;
}
.portfolio .marker__tooltip div.marker__tooltip-content::after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-color: #fff;
  transform: rotate(45deg) translateX(-50%);
  position: absolute;
  bottom: -1.2rem;
  left: calc(50% - 0.2rem);
  box-shadow: 0.8rem 0.8rem 0.8rem 0 rgba(0, 0, 0, 0.25);
}
.portfolio .marker__tooltip h3 {
  margin: 0.5rem 0;
}
.portfolio .marker__tooltip h4 {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0.5rem 0;
}
.portfolio .marker__tooltip svg rect {
  transform: rotate(45deg);
  transform-origin: center;
  transform-box: fill-box;
}
.portfolio__zoom-out {
  width: 5rem;
  height: 5rem;
  position: absolute;
  top: calc(80vw - 7rem);
  right: 2rem;
  background: #000;
  z-index: 1;
  box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.16);
  border-radius: 2.5rem;
}
@media (min-width: 601px) {
  .portfolio__zoom-out {
    right: 5rem;
    top: 2rem;
  }
}
@media (min-width: 1201px) {
  .portfolio__zoom-out {
    right: 7rem;
  }
}
.portfolio__zoom-out a, .portfolio__zoom-out button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: none;
}

@keyframes slideCardInFromRight {
  from {
    transform: translateX(40%);
    opacity: 0;
  }
  to {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes fadeInNoResultsModal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.portfolio__modal {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  animation: fadeInModal 0.6s forwards;
}
@media (min-width: 769px) {
  .portfolio__modal {
    width: 20rem;
    height: auto;
    position: absolute;
    top: 2rem;
    left: 5rem;
    z-index: 1000;
    background: #fff;
    animation: fadeUpModal 0.4s forwards;
    animation-delay: 0s;
    box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.16);
  }
}
@media (min-width: 1024px) {
  .portfolio__modal {
    width: 30rem;
    top: 8rem;
  }
}
@keyframes fadeInModal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeUpModal {
  from {
    opacity: 0;
    transform: translateY(5%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.portfolio__modal-container {
  display: flex;
  flex-direction: column;
  width: calc(100% - 80px);
  height: calc(100% - 80px);
  min-height: fit-content;
  max-width: 400px;
  background: #fff;
  position: relative;
  top: 40px;
  left: 50%;
  overflow: scroll;
  transform: translateX(-50%);
}
@media (min-width: 601px) {
  .portfolio__modal-container {
    height: 90%;
    top: 5%;
  }
}
@media (min-width: 769px) {
  .portfolio__modal-container {
    width: auto;
    height: auto;
    top: 0;
    left: 0;
    transform: translateX(0);
    overflow: auto;
  }
}
@media (min-width: 1024px) {
  .portfolio__modal-container {
    min-height: 440px;
  }
}
.portfolio__modal-content {
  padding: 2rem 2rem 0 2rem;
}
.portfolio__modal .arrows {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: auto;
  padding: 2rem;
  bottom: 0;
}
.portfolio__modal img {
  width: 100%;
  vertical-align: bottom;
  border: 1.5rem solid transparent;
  border-bottom: none;
}
@media (min-width: 769px) {
  .portfolio__modal img {
    display: none;
  }
}
@media (min-width: 1024px) {
  .portfolio__modal img {
    display: block;
    border: none;
  }
}
.portfolio__modal h3 {
  margin-bottom: 1.5rem;
}
.portfolio__modal h4 {
  margin-bottom: 1.5rem;
}
.portfolio__modal p {
  margin-bottom: 1.5rem;
}
.portfolio__modal a.btn {
  display: table;
  min-width: auto;
  margin: 3rem auto 0;
}
@media (min-width: 1024px) {
  .portfolio__modal a.btn {
    min-width: 17rem;
  }
}
.portfolio__modal a.link {
  display: inline-block;
  margin-top: 2rem;
}
.portfolio__modal button {
  cursor: pointer;
}
.portfolio__modal button.close {
  width: 4.4rem;
  height: 4.4rem;
  position: absolute;
  top: 0;
  right: 0;
  background: url("/dist/icons/fancybox/fancybox-close-light.svg") no-repeat center center;
  background-size: 24px 24px;
  border: none;
  font-size: 0;
  z-index: 1;
  transition: background-color 0.3s;
}
.portfolio__modal button.close:focus {
  border: 1px dotted #fff;
}
@media (min-width: 1024px) {
  .portfolio__modal button.close:focus {
    border: none;
  }
}
@media (min-width: 769px) {
  .portfolio__modal button.close span {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
}
@media (min-width: 769px) {
  .portfolio__modal button.close {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: flex-end;
    width: 3.4rem;
    height: 3.4rem;
    margin: 0;
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: rgba(255, 255, 255, 0.75);
    border-radius: 2rem;
  }
  .portfolio__modal button.close:hover {
    background: rgba(255, 255, 255, 0.9);
  }
}
.portfolio__modal button.prev, .portfolio__modal button.next {
  width: 4rem;
  height: 4rem;
  padding: 0;
  border: none;
  font-size: 0;
  background-color: transparent;
}
.portfolio__modal button.prev:after, .portfolio__modal button.next:after {
  position: relative;
}
.portfolio__modal button.prev:after {
  left: 0.5rem;
}
.portfolio__modal button.next:after {
  left: -0.5rem;
}

.portfolio__views {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
}
.portfolio__views-list {
  position: relative;
  width: 100%;
  min-height: 80vh;
  height: 100%;
  background: #fff;
  z-index: 10;
}
@media (min-width: 601px) {
  .portfolio__views-list {
    display: flex;
    margin-bottom: 7rem;
    padding-top: 3rem;
  }
}
@media (min-width: 768px) {
  .portfolio__views-list {
    padding-top: 10rem;
  }
}
@media (max-width: 600px) {
  .portfolio__views-list .switch-enter-active {
    transition: transform 0.4s 0.5s;
  }
  .portfolio__views-list .switch-leave-active {
    transition: transform 0.4s;
  }
  .portfolio__views-list .switch-enter {
    transform: translateX(-120%);
  }
  .portfolio__views-list .switch-leave-to {
    transform: translateX(120%);
  }
  .portfolio__views-list .portfolio__filtered-list {
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (max-width: 600px) {
  .portfolio__views-list--region .switch-enter {
    transform: translateX(120%);
  }
  .portfolio__views-list--region .switch-leave-to {
    transform: translateX(-120%);
  }
}
@media (max-width: 600px) {
  .portfolio__views-list--country .portfolio__routes-filter {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-100%);
    transition: transform 0.4s 0.1s;
  }
  .portfolio__views-list--country .portfolio__filtered-list {
    position: relative;
    transform: translateX(0);
    transition: transform 0.4s 0.5s;
  }
}
.portfolio__routes-filter {
  display: flex;
  flex-direction: column;
  width: 100%;
  text-align: left;
  padding: 0 3rem;
  transition: transform 0.4s 0.5s;
}
@media (min-width: 601px) {
  .portfolio__routes-filter {
    width: 22%;
    border-right: solid 2px #000;
  }
}
@media (min-width: 768px) {
  .portfolio__routes-filter {
    padding: 0 5rem;
  }
}
.portfolio__routes-filter ul li {
  text-transform: uppercase;
}
@media (min-width: 601px) {
  .portfolio__routes-filter ul li {
    margin-bottom: 2.5rem;
  }
}
.portfolio__routes-filter ul li a, .portfolio__routes-filter ul li button, .portfolio__routes-filter ul li span:not(.desktop-region-all) {
  display: flex;
  position: relative;
  padding: 2.5rem 0;
  border-bottom: 0.1rem dashed #dbd9d9;
  line-height: 1.4;
  text-transform: uppercase;
  font-weight: 500;
  text-align: left;
}
.portfolio__routes-filter ul li a::after, .portfolio__routes-filter ul li button::after, .portfolio__routes-filter ul li span:not(.desktop-region-all)::after {
  position: absolute;
  right: 0;
}
@media (min-width: 601px) {
  .portfolio__routes-filter ul li a::after, .portfolio__routes-filter ul li button::after, .portfolio__routes-filter ul li span:not(.desktop-region-all)::after {
    display: none;
  }
}
@media (min-width: 601px) {
  .portfolio__routes-filter ul li a, .portfolio__routes-filter ul li button, .portfolio__routes-filter ul li span:not(.desktop-region-all) {
    display: inline-block;
    padding-top: 0;
    padding-bottom: 0.7rem;
    border-bottom: 2px solid transparent;
    width: auto;
  }
  .portfolio__routes-filter ul li a:hover, .portfolio__routes-filter ul li button:hover, .portfolio__routes-filter ul li span:not(.desktop-region-all):hover {
    border-bottom: 2px solid #dbd9d9;
  }
  .portfolio__routes-filter ul li a.router-link-exact-active, .portfolio__routes-filter ul li a.portfolio__route-filter__country-active, .portfolio__routes-filter ul li button.router-link-exact-active, .portfolio__routes-filter ul li button.portfolio__route-filter__country-active, .portfolio__routes-filter ul li span:not(.desktop-region-all).router-link-exact-active, .portfolio__routes-filter ul li span:not(.desktop-region-all).portfolio__route-filter__country-active {
    border-bottom: 2px solid #000;
  }
}
.portfolio__routes-filter ul li span:not(.desktop-region-all) {
  color: #979797;
}
@media (min-width: 601px) {
  .portfolio__routes-filter ul li span:not(.desktop-region-all):hover {
    border-bottom: 2px solid transparent;
  }
}
@media (min-width: 601px) {
  .portfolio__routes-filter ul ul {
    margin-top: 6rem;
  }
}
.portfolio__filtered-list {
  width: 100%;
  transform: translateX(101%);
  transition: transform 0.4s 0.1s;
  padding: 0 3rem;
}
@media (min-width: 601px) {
  .portfolio__filtered-list {
    position: relative;
    flex: 1 1 auto;
    transform: translateX(0);
  }
}
@media (min-width: 768px) {
  .portfolio__filtered-list {
    padding: 0 5rem;
  }
}
@media (min-width: 1024px) {
  .portfolio__filtered-list {
    margin-left: 10%;
  }
}
@media (min-width: 1201px) {
  .portfolio__filtered-list {
    margin-left: 5%;
  }
}
.portfolio__filtered-list > ul {
  padding-top: 3rem;
}
@media (min-width: 601px) {
  .portfolio__filtered-list > ul {
    columns: 2;
    text-align: left;
    padding-top: 0;
  }
}
@media (min-width: 1201px) {
  .portfolio__filtered-list > ul {
    columns: 3;
  }
}
@media (min-width: 601px) {
  .portfolio__filtered-list > ul li a:before {
    width: 1rem;
    height: 1rem;
    top: 0.5rem;
  }
}
.portfolio__filtered-list > ul.filtered-list-no-results {
  columns: 1;
}
.portfolio__filtered-list > ul.filtered-list-no-results > li > a {
  padding-left: 0;
}
.portfolio__filtered-list > ul.filtered-list-no-results > li > a::before {
  content: none;
}
.portfolio__filtered-list li {
  margin-bottom: 4rem;
  break-inside: avoid-column;
  page-break-inside: avoid;
}
@supports (break-inside: avoid-column) {
  .portfolio__filtered-list li {
    overflow: visible;
  }
}
@supports (background: -webkit-canvas(squares)) {
  .portfolio__filtered-list li {
    width: 100%;
    display: inline-block;
  }
}
.portfolio__filtered-list li a {
  display: inline-block;
  position: relative;
  padding-left: 4rem;
  font-weight: 400;
}
.portfolio__filtered-list li a:before {
  width: 1rem;
  height: 1rem;
  top: 0.5rem;
}
.portfolio__filtered-list li a span {
  display: block;
  margin-top: 0.25rem;
  color: #979797;
}
.portfolio__filtered-list li span.filtered-list-title {
  display: block;
  margin-bottom: 3rem;
}
.portfolio__filtered-list li ul {
  columns: 1;
}
.portfolio__list-region-cta {
  border-top: solid 1px #dbd9d9;
  margin-top: 3rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.portfolio__list-region-cta h4 {
  margin-bottom: 2rem;
}
.portfolio .desktop-region-all {
  display: none;
}
@media (min-width: 601px) {
  .portfolio .desktop-region-all {
    display: block;
    font-weight: 700;
  }
}
.portfolio .desktop-region-all button {
  font-weight: 700;
}
.portfolio .desktop-region-all button.portfolio__route-filter__region-active {
  border-bottom: 2px solid #000;
}
.portfolio .mobile-region-back {
  display: block;
}
.portfolio .mobile-region-back a {
  padding-left: 2.5rem;
  border: none;
}
.portfolio .mobile-region-back a::after {
  left: 0;
}
@media (min-width: 601px) {
  .portfolio .mobile-region-back {
    display: none;
  }
}
.portfolio .mobile-filtered-country-back {
  display: flex;
  margin-bottom: 2.5rem;
  text-transform: uppercase;
  text-align: left;
  position: relative;
}
.portfolio .mobile-filtered-country-back a {
  width: 100%;
  padding: 2.5rem 0 2.5rem 2.5rem;
  border: none;
}
.portfolio .mobile-filtered-country-back a::after {
  position: absolute;
  left: 0;
}
@media (min-width: 601px) {
  .portfolio .mobile-filtered-country-back {
    display: none;
  }
}

.portfolio__breadcrumb, .portfolio__view-controls button, .portfolio__utility, .portfolio__views-list, .portfolio__routes-filter, .portfolio .mobile-filtered-country-back {
  letter-spacing: 0.18rem !important;
  font-weight: 500;
}

.portfolio__type-filter li a {
  padding-bottom: 0.7rem;
  border-bottom: 2px solid transparent;
  letter-spacing: 0.18rem !important;
}
.portfolio__type-filter li a:hover {
  border-bottom: 2px solid #dbd9d9;
}
.portfolio__type-filter li a.router-link-exact-active {
  border-bottom: 2px solid #000;
}

#portfolioBase {
  min-height: 100vh;
}
@media (min-width: 601px) {
  #portfolioBase {
    min-height: 450px;
  }
}

.portfolio {
  position: relative;
  overflow: hidden;
}
.portfolio__first-load {
  margin-bottom: 17.5rem;
}
@media (min-width: 768px) {
  .portfolio::before {
    content: "";
    width: 100%;
    height: 1px;
    background: #dbd9d9;
    position: absolute;
    top: 7.9rem;
    left: 0;
  }
}
.portfolio__views {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
}
@media (min-width: 601px) {
  .portfolio__views-map {
    display: flex;
    justify-content: center;
    max-height: 768px;
  }
}
.portfolio__views-explore {
  position: relative;
  width: 100%;
  min-height: 80vh;
  height: 100%;
  background: #fff;
  z-index: 10;
}
@media (min-width: 601px) {
  .portfolio__views-explore {
    display: flex;
  }
}
.portfolio__views--list .portfolio__views-map, .portfolio__views--explore .portfolio__views-map {
  position: absolute;
  top: 0;
  left: 0;
}
.portfolio__views--explore {
  max-width: none;
}
@media (min-width: 1440px) {
  .portfolio__views--explore .portfolio__view-controls {
    justify-content: flex-start;
    width: 1440px;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 0 7rem;
  }
}
.portfolio li a {
  text-decoration: none;
  border-bottom: none;
}
.portfolio__utility {
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  height: 11.5rem;
  padding: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  text-transform: uppercase;
  border-bottom: solid 1px #dbd9d9;
}
@media (min-width: 768px) {
  .portfolio__utility {
    padding: 0 4rem;
    height: 8rem;
    align-items: center;
  }
}
@media (min-width: 1201px) {
  .portfolio__utility {
    padding: 0 7rem;
  }
}
.portfolio__view-mini-breadcrumb {
  position: relative;
  top: 1.8rem;
  animation: fadeInMiniBC 0.2s forwards;
}
@keyframes fadeInMiniBC {
  from {
    opacity: 0;
    transform: translateX(-3rem);
  }
  to {
    opacity: 1;
    transform: translateY(0rem);
  }
}
.portfolio__view-mini-breadcrumb a {
  text-decoration: none;
  border-bottom: none;
  padding: 1rem 1rem 1rem 4rem;
}
.portfolio__view-mini-breadcrumb::after {
  position: absolute;
  left: 2rem;
  top: 0.65rem;
  width: 0.9rem;
  height: 0.9rem;
  margin-left: 0;
}
@media (min-width: 768px) {
  .portfolio__view-mini-breadcrumb {
    display: none;
  }
}
.portfolio__view-controls {
  width: 100%;
  position: absolute;
  left: 0;
  top: -5.25rem;
  display: flex;
  justify-content: space-around;
  z-index: 100;
  padding: 0 2rem;
}
@media (min-width: 768px) {
  .portfolio__view-controls {
    width: auto;
    left: 4rem;
    top: 2rem;
    padding: 0;
  }
}
@media (min-width: 1201px) {
  .portfolio__view-controls {
    left: 7rem;
  }
}
.portfolio__view-controls button {
  padding: 0 0 0.5rem 1.5rem;
  position: relative;
  top: 0.4rem;
  border: none;
  background: none;
  text-transform: uppercase;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  margin: 0 1.5rem;
  background-position: top 3px left;
}
.portfolio__view-controls button:hover {
  border-bottom: 2px solid #dbd9d9;
}
.portfolio__view-controls button.active {
  color: #000;
  border-bottom: 2px solid #000;
}
.portfolio__view-controls button.controls-explore {
  background-repeat: no-repeat;
  background-size: 20px;
  padding-left: 2.5rem;
  background-position: left 1px;
}
.portfolio__view-controls button:first-of-type {
  margin-left: 0;
}
@media (min-width: 768px) {
  .portfolio__view-controls button:first-of-type {
    background-size: 0;
    padding-left: 0;
  }
}
@media (min-width: 1024px) {
  .portfolio__view-controls button:first-of-type {
    padding-left: 1.5rem;
    background-size: inherit;
  }
}
.portfolio__view-controls button:last-of-type {
  margin-right: 0;
  padding-left: 3rem;
}
@media (min-width: 768px) {
  .portfolio__view-controls button:last-of-type {
    background-size: 0;
    padding-left: 0;
  }
}
@media (min-width: 1024px) {
  .portfolio__view-controls button:last-of-type {
    padding-left: 3rem;
    background-size: inherit;
  }
}
.portfolio__view-controls span.pipe {
  width: 0.1rem;
  height: 2rem;
  background-color: #dbd9d9;
}
.portfolio__breadcrumb {
  display: none;
  position: relative;
  z-index: 20;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .portfolio__breadcrumb {
    display: block;
  }
}
.portfolio__breadcrumb ul {
  display: flex;
}
.portfolio__breadcrumb ul li {
  padding-right: 1rem;
}
.portfolio__breadcrumb ul li::after {
  margin-left: 0;
  width: 0.7rem;
  height: 0.7rem;
  position: relative;
  top: 0.18rem;
}
.portfolio__breadcrumb ul li:last-of-type::after {
  display: none;
}
.portfolio__type-filter {
  display: none;
}
.portfolio__type-filter li {
  margin: 0 1.5rem 0 0;
}
@media (min-width: 1201px) {
  .portfolio__type-filter li {
    margin: 0 2rem;
  }
}
.portfolio__type-filter li span {
  color: #979797;
}
@media (min-width: 768px) {
  .portfolio__type-filter {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    left: 0;
    margin-left: auto;
  }
}
@media (min-width: 1201px) {
  .portfolio__type-filter {
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    left: 0;
  }
}
.portfolio-dynamic-content {
  width: 100%;
  overflow: hidden;
}

.countryfade-enter-active {
  transition: opacity 0.6s 1s;
}

.countryfade-enter, .countryfade-leave-to {
  opacity: 0;
}

.prefade-enter-active, .prefade-leave-active {
  transition: opacity 0.6s 0.6s;
}

.prefade-enter, .prefade-leave-to {
  opacity: 0;
}

.mobileregions-enter-active, .mobileregions-leave-active {
  transition: opacity 0.6s 0.6s;
}

.mobileregions-enter, .mobileregions-leave-to {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.gridchange-enter-active {
  transition: opacity 0.8s;
}

.gridchange-leave-active {
  transition: opacity 0.2s;
}

.gridchange-enter, .gridchange-leave-to {
  opacity: 0;
}

.worldfade-enter-active, .worldfade-leave-active {
  transition: opacity 0.6s 0.6s;
}

.worldfade-enter, .worldfade-leave-to {
  opacity: 0;
}

/*# sourceMappingURL=portfolio.css.map*/