.item .loader {
  box-sizing: border-box;
  display: none;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-flex-basis: 25%;
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}


.item.loading .loader
{
  display: -webkit-flex;
  display: -ms-flexbox;
  display: block;
}



.tags li .loader, .item .loader, .search-box-wrapper .loader {
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  display: none;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-flex-basis: 25%;
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;

   -webkit-animation: fadein 1s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 1s; /* Firefox < 16 */
        -ms-animation: fadein 1s; /* Internet Explorer */
         -o-animation: fadein 1s; /* Opera < 12.1 */
            animation: fadein 1s;
}

.tags li .loader { 
  display: block; 
  position: absolute;
  height: 1em;
  width: 1em;
  top: -3px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.tags li .loader .ball-clip-rotate > div {
  border: 2px solid #000;
  border-bottom-color: transparent;
}

.search-box-wrapper .loader { 
  top: -2px;
  position: absolute;
  animation: fadeout 0.2s, fadein 0.2s;
}

@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; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.ball-clip-rotate { height: 100%;
  width: 100%; }

.search-box-wrapper .ball-clip-rotate > div { 
  border: 1px solid #000;
  border-bottom-color: transparent;
}
.ball-clip-rotate > div {
  background-color: #000;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 12% 0 0 11%;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  border: 3px solid #000;
  border-bottom-color: transparent;
  height: 70%;
  width: 70%;
  background: transparent !important;
  display: inline-block;
  -webkit-animation: rotate 0.75s 0s linear infinite;
  animation: rotate 0.75s 0s linear infinite;
}

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }














.ball-triangle-path {
  height: 100px;
  width: 100px;
  position: relative;
  /*-webkit-transform: translate(-25px, -25px);
  -ms-transform: translate(-25px, -25px);
  transform: translate(-25px, -25px);*/
}

.ball-triangle-path > div:nth-of-type(1) {
  top: 100px;
}

.ball-triangle-path > div:nth-child(1) {
  -webkit-animation-name: ball-triangle-path-1;
  animation-name: ball-triangle-path-1;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.ball-triangle-path > div:nth-of-type(2) {
  left: 50px;
}

.ball-triangle-path > div:nth-child(2) {
  -webkit-animation-name: ball-triangle-path-2;
  animation-name: ball-triangle-path-2;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.ball-triangle-path > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  /*border: 1px solid #fff;*/
  background-color: #000;
}


.ball-triangle-path > div:nth-of-type(3) {
  top: 100px;
  left: 100px;
}
.ball-triangle-path > div:nth-child(3) {
  -webkit-animation-name: ball-triangle-path-3;
  animation-name: ball-triangle-path-3;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

@-webkit-keyframes ball-triangle-path-1 {
  33% {
    -webkit-transform: translate(50px, -100px);
    transform: translate(50px, -100px); }
  66% {
    -webkit-transform: translate(100px, 0px);
    transform: translate(100px, 0px); }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); } }

@keyframes ball-triangle-path-1 {
  33% {
    -webkit-transform: translate(50px, -100px);
    transform: translate(50px, -100px); }
  66% {
    -webkit-transform: translate(100px, 0px);
    transform: translate(100px, 0px); }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); } }

@-webkit-keyframes ball-triangle-path-2 {
  33% {
    -webkit-transform: translate(50px, 100px);
    transform: translate(50px, 100px); }
  66% {
    -webkit-transform: translate(-50px, 100px);
    transform: translate(-50px, 100px); }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); } }

@keyframes ball-triangle-path-2 {
  33% {
    -webkit-transform: translate(50px, 100px);
    transform: translate(50px, 100px); }
  66% {
    -webkit-transform: translate(-50px, 100px);
    transform: translate(-50px, 100px); }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); } }

@-webkit-keyframes ball-triangle-path-3 {
  33% {
    -webkit-transform: translate(-100px, 0px);
    transform: translate(-100px, 0px); }
  66% {
    -webkit-transform: translate(-50px, -100px);
    transform: translate(-50px, -100px); }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); } }

@keyframes ball-triangle-path-3 {
  33% {
    -webkit-transform: translate(-100px, 0px);
    transform: translate(-100px, 0px); }
  66% {
    -webkit-transform: translate(-50px, -100px);
    transform: translate(-50px, -100px); }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); } }













.curtain .loader li:nth-child(0) {
  background: #d34221;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.curtain .loader:nth-child(2) li:nth-child(0) {
  background: #d37221;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.curtain .loader:nth-child(3) li:nth-child(0) {
  background: #d33421;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.curtain .loader li:nth-child(1) {
  background: #d36321;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.curtain .loader:nth-child(2) li:nth-child(1) {
  background: #d31c21;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.curtain .loader:nth-child(3) li:nth-child(1) {
  background: #d36721;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.curtain .loader li:nth-child(2) {
  background: #d33921;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.curtain .loader:nth-child(2) li:nth-child(2) {
  background: #d32a21;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.curtain .loader:nth-child(3) li:nth-child(2) {
  background: #d33f21;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.curtain .loader li:nth-child(3) {
  background: #d31d21;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.curtain .loader:nth-child(2) li:nth-child(3) {
  background: #d30821;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.curtain .loader:nth-child(3) li:nth-child(3) {
  background: #d36521;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.curtain .loader li:nth-child(4) {
  background: #d33e21;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.curtain .loader:nth-child(2) li:nth-child(4) {
  background: #d35321;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.curtain .loader:nth-child(3) li:nth-child(4) {
  background: #d34521;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.curtain .loader li:nth-child(5) {
  background: #d32b21;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.curtain .loader:nth-child(2) li:nth-child(5) {
  background: #d32821;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.curtain .loader:nth-child(3) li:nth-child(5) {
  background: #d34b21;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.curtain .loader li:nth-child(6) {
  background: #d35e21;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

.curtain .loader:nth-child(2) li:nth-child(6) {
  background: #d31f21;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

.curtain .loader:nth-child(3) li:nth-child(6) {
  background: #d31321;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

.curtain .loader li:nth-child(7) {
  background: #d37821;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}

.curtain .loader:nth-child(2) li:nth-child(7) {
  background: #d31f21;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}

.curtain .loader:nth-child(3) li:nth-child(7) {
  background: #d34421;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}

.curtain .loader li:nth-child(8) {
  background: #d33b21;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}

.curtain .loader:nth-child(2) li:nth-child(8) {
  background: #d31021;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}

.curtain .loader:nth-child(3) li:nth-child(8) {
  background: #d33821;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}

.curtain .loader li:nth-child(9) {
  background: #d36221;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}

.curtain .loader:nth-child(2) li:nth-child(9) {
  background: #d34921;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}

.curtain .loader:nth-child(3) li:nth-child(9) {
  background: #d31821;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}

.curtain .loader li:nth-child(10) {
  background: #d31c21;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

.curtain .loader:nth-child(2) li:nth-child(10) {
  background: #d36d21;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

.curtain .loader:nth-child(3) li:nth-child(10) {
  background: #d31121;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

.curtain .loader li:nth-child(11) {
  background: #d34d21;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}

.curtain .loader:nth-child(2) li:nth-child(11) {
  background: #d31121;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}

.curtain .loader:nth-child(3) li:nth-child(11) {
  background: #d37721;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}

.curtain .loader li:nth-child(12) {
  background: #d37a21;
  -webkit-animation: slide 1s ease-in-out infinite;
  animation: slide 1s ease-in-out infinite;
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}

.curtain .loader:nth-child(2) li:nth-child(12) {
  background: #d36221;
  -webkit-animation: slide2 1s ease-in-out infinite;
  animation: slide2 1s ease-in-out infinite;
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}

.curtain .loader:nth-child(3) li:nth-child(12) {
  background: #d31d21;
  -webkit-animation: slide3 0.6s ease-in-out infinite;
  animation: slide3 0.6s ease-in-out infinite;
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}

.curtain .loader-text h3 span:nth-child(0) {
  -webkit-animation: fade 1s infinite;
  animation: fade 1s infinite;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.curtain .loader-text h3 span:nth-child(1) {
  -webkit-animation: fade 1s infinite;
  animation: fade 1s infinite;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.curtain .loader-text h3 span:nth-child(2) {
  -webkit-animation: fade 1s infinite;
  animation: fade 1s infinite;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.curtain .loader-text h3 span:nth-child(3) {
  -webkit-animation: fade 1s infinite;
  animation: fade 1s infinite;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

@-webkit-keyframes slide {
  0% {
    -webkit-transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(2rem);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@keyframes slide {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(2rem);
    -ms-transform: translateX(2rem);
    transform: translateX(2rem);
  }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes slide2 {
  0% {
    -webkit-transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(-2rem);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@keyframes slide2 {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(-2rem);
    -ms-transform: translateX(-2rem);
    transform: translateX(-2rem);
  }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes slide3 {
  0% {
    -webkit-transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(2rem);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@keyframes slide3 {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(-2rem);
    -ms-transform: translateX(-2rem);
    transform: translateX(-2rem);
  }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes fade {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade2 {
  to {
    opacity: 1;
  }
}
@keyframes fade2 {
  to {
    opacity: 1;
  }
}

.curtain ul, li {
  margin: 0;
  padding: 0;
  
}

.curtain .vert {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
  -webkit-animation: fade2 1.5s ease-in-out forwards;
  animation: fade2 1.5s ease-in-out forwards;
}

.curtain .loader__container {
  position: relative;
  width: 10rem;
  height: 10rem;
  margin: auto;
}

.curtain .loader {
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.curtain .loader:first-child {
  -webkit-transform: translateX(-0.8rem);
  -ms-transform: translateX(-0.8rem);
  transform: translateX(-0.8rem);
}
.curtain .loader:nth-child(3) {
  -webkit-transform: translateX(0.6rem);
  -ms-transform: translateX(0.6rem);
  transform: translateX(0.6rem);
}
.curtain .loader:nth-child(3) li {
  width: 0.7rem;
  height: 0.7rem;
  margin-top: 0.23529rem;
}
.curtain .loader li {
  width: 1rem;
  height: 1rem;
  margin: auto;
  display: block;
  margin-top: 0.1rem;
}

.curtain .loader-text {
  margin-top: 1.6rem;
  text-align: center;
}
.curtain .loader-text h3 {
  position: relative;
  font-size: 1.5em;
  font-weight: 400;
  padding: 0;
  margin: 0;
  display: inline;
  text-transform: uppercase;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.curtain .loader-text span {
  margin-right: 2px;
}
.curtain .loader-text span:first-child {
  margin-left: 2px;
}


.curtain #map-name {
  font-weight: bold;
}