* {
    font-family: Jura;
}

div#landfill-container {
    width:  100%;
    height:  100%;
    overflow: hidden;
}

.message-text strong {
    color: #2f7ce1;
    font-weight: 800;
}

.popup-title {
    font-size: 24px;
    font-weight: 800;
    text-align: center;
}

hr {
    border: none;
    border-top: 1px solid #cacaca78;
    max-width: 500px;
}

body {
    margin: 0;
    display:  block;
    width: 100%;
    height:  100%;
}

html {
    height:  100%;
}

.svg-container {
    width:  100%;
    height:  100%;
}

div#zoom-controls {
    display: block;
    bottom: 0;
    right:  0;
    background: white;
    position:  absolute;
    padding: 5px 15px;
    padding-top: 10px;
    border-top-left-radius: 20px;
}

div#zoom-controls > div {
    margin-top: -40px;
    width: 40px;
    background: white;
    height: 43px;
    display: inline-block;
    padding: 5px 7px;
    padding-top: 7px;
    vertical-align: middle;
    border-radius: 100px;
    padding-right: 10px;
    padding-bottom: 7px;
    cursor: pointer;
    box-sizing: content-box;
}

#zoom-controls img {
    background: #2f7be1;
    border-radius:  100px;
    padding: 10px;

}

div#fullscreen-toggle img {
    max-width: 44px;
}

div#top-controls {
    background: white;
    border-bottom-left-radius:  20px;
    position: absolute;
    top: 0;
    right:0;
    padding: 10px 20px;
    height: 23px;
    padding-top: 0px;
}

div#top-controls *{
    display: inline-block;
    box-sizing: content-box;
}

.close-help {
    background: #2f7ce1;
    border-radius: 100px;
    padding: 5px;
    height: 40px;
    width: 40px;
    position: absolute;
    right: 7px;
    top: 5px;
    cursor: pointer;
}

.close-help img {
    width: 30px;
    height: 30px;
    padding: 5px;
    border: 3px solid white;
    border-radius: 50px;
}

.top-message,
.summary {
    width:  50%;
    max-width: 700px;
    position: absolute;
    top: 0;
    background: #fffffff0;
    padding: 45px;
    border-bottom-left-radius:  20px;
    border-bottom-right-radius:  20px;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 25px;
    margin-right: 30px;
    line-height: 1.5em;
    z-index: 999;
}

.button-next, .button-prev {
    position:  absolute;
    bottom: -30px;
    background: #2f7be1;
    color: white;
    padding: 10px 20px;
    font-size:  21px;
    border-radius:  100px;
    border: 10px solid white;
    cursor: pointer;
}

.button-next img, .button-prev img {
    margin-bottom:  -5px;
}

.button-next {
    right: -30px;
}

.button-prev {
    left: -30px;
}

.button-next img {
    margin-left: 10px;
    margin-top: -9px;
}

.button-prev img {
    margin-right: 10px;
    margin-top: -9px;
}

.button-prev .button-text {
    float: right;
}

.button-next .button-text {
    float: left;
}

.message-title {
    font-size: 26px;
    margin-bottom:  20px;
    font-weight:  800;
    text-align:  center;
    line-height: 1.3em;
}

.row-images {
    width:  100%;
}

.row-images img {
    display: inline-block!important;
    width: 19%!important;
}

.is_hidden {
    display:none;
}

div#info-button, div#help-button, div#prev-button, div#next-button {
    background: #2f7ce1;
    border-radius: 100px;
    padding: 5px;
    margin-bottom: -18px;
    margin-top: 0;
    border: 6px solid white;
    float: left;
    margin-right: 2px;
    cursor: pointer;
    width: 25px;
}

div#info-button {
    margin-left: -10px;
}

div#help-button {
    margin-right: 10px;
}

div#prev-button, div#next-button {
    width: 40px;
    height: 40px;
    border-radius: 50px;
}

div#prev-button img, div#next-button img{
    width: 40px;
}

div#prev-button {
    padding: 6px 9px 6px 3px;
}

div#next-button {
    padding: 6px 5px 6px 7px;
}

.next-prev-buttons {
    float: left;
    margin-right: 16px;
}

div#prev-button {
    margin-right: 7px;
}

.question-container {
    position: absolute;
    top: 0;
    background: white;
    left: 50%;
    transform: translateX(-50%);
    width: 85%;
    max-width: 1000px;
    padding: 20px 35px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
}

.tippy-content {
    font-size: 18px;
}

g#i0-1 { transform-origin: 960px 575px; }
g#i0-2 { transform-origin: 1075px 225px; }
g#i1-1 { transform-origin: 634px 442px; }
g#i1-2 { transform-origin: 504px 285px; }
g#i1-3 { transform-origin: 1511px 249px; }
g#i1-4 { transform-origin: 590px 325px; }
g#i2-1 { transform-origin: 619px 389px; }
g#i2-2 { transform-origin: 344px 250px; }
g#i3-1 { transform-origin: 676px 487px; }
g#i4-1 { transform-origin: 862px 496px; }
g#i4-2 { transform-origin: 473px 320px; }
g#i4-3 { transform-origin: 453px 395px; }
g#i4-4 { transform-origin: 617px 329px; }
g#i5-1 { transform-origin: 1640px 408px; }
g#i5-2 { transform-origin: 1609px 454px; }
g#i6-1 { transform-origin: 1372px 350px; }
g#i7-1 { transform-origin: 1397px 286px; }
g#i8-1 { transform-origin: 1249px 361px; }
g#i9-1 { transform-origin: 1004px 409px; }
g#i9-2 { transform-origin: 761px 410px; }
g#i9-3 { transform-origin: 602px 233px; }
g#i10-1 { transform-origin: 907px 465px; }
g#i10-2 { transform-origin: 279px 353px; }
g#i10-3 { transform-origin: 227px 289px; }
g#i11-1 { transform-origin: 854px 257px; }
g#i12-1 { transform-origin: 705px 290px; }

g#a1-1 { transform-origin: 438px 248px; }
g#a1-2 { transform-origin: 1024px 404px; }
g#a2-1 { transform-origin: 809px 503px; }
g#a3-1 { transform-origin: 641px 424px; }
g#a3-2 { transform-origin: 526px 504px; }
g#a3-3 { transform-origin: 450px 311px; }
g#a4-1 { transform-origin: 767px 430px; }
g#a5-1 { transform-origin: 379px 465px; }
g#a6-1 { transform-origin: 210px 285px; }
g#a7-1 { transform-origin: 1297px 282px; }
g#a8-1 { transform-origin: 1398px 284px; }

.button.next-question {
    width: 200px;
    background: #2f7ce1;
    text-align: center;
    float: right;
    padding: 10px;
    font-weight: 800;
    color: white;
    border-radius: 100px;
    cursor: pointer;
}

.correct-answers {
    width: 282px;
    /* float: left; */
    background: #f3f3f3;
    text-align: center;
    border-radius: 100px;
    margin: 0 auto;
    margin-bottom: -48px;
    border: 8px solid white;
}

.correct-answers span {
    font-size: 30px;
    font-weight: 800;
    color: #2f7ce1;
    vertical-align: middle;
}

.question-text {
    font-size: 18px;
    margin-bottom: 15px;
    padding: 0 10px;
}

g#s7-bring-trash { transition: all 2s linear; }
.moveToScale { transform: translateX(-340px); }

g#needle {
    transform: rotateZ(60deg);
    transform-origin: 1342px 292px;
    transition: all 1.5s linear;
}

.moveNeedleScale { transform: rotateZ(320deg)!important; }

g#bucket {
    transform-origin: 1281px 318px;
    transform: rotateZ(14deg);
    transition: all 2s linear;
}
.liftBucket {
    transform: rotateZ(-24deg)!important;
}

polygon#rod {
    transform-origin: 1332px 330px;
    transition: all 2s linear;
}
.moveRod {
    transform: rotateZ(-13deg);
}

g#trash {
    transform-origin: 1233px 325px;
    transform: translate(27px, -41px);
    transition: transform 2s ease, opacity 0.5s ease;
    opacity: 0;
}
.falling-trash {
    transform: translate(0, 0) !important;
    opacity: 1 !important;
}

path#patch.hidden {
    opacity: 0;
}

.fadeIn {
	opacity: 1;
	animation-name: fadeInOpacity;
	animation-iteration-count: 1;
	animation-timing-function: ease-in;
	animation-duration: 1s;
}

.bird1-anim {
    transform: translate(2900px, -240px);
    transition: transform 20s cubic-bezier(0.2, 0.47, 1, 0.76);
}

.bird2-anim {
    transform: translate(2900px, -140px);
    transition: transform 15s cubic-bezier(0.43, 0.16, 0.71, 1.01);
}

.bird3-anim {
    transform: translate(2900px, 0px);
    transition: transform 15s cubic-bezier(0.24, 0.35, 0.98, 0.73);
}

.cloud-anim {
    transform: translate(-3100px, 0);
    transition: transform 290s linear;
}

@keyframes fadeInOpacity {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

g#compactor-r-wheel {
    transform-origin: 1003px 443px;
    /* transform: rotateZ(10deg); */
}

g#compactor-fr-wheel {
    transform-origin: 1047px 448px;
    /* transform: rotateZ(10deg); */
}

g#compactor-chassis, g#compactor-fr-wheel, g#compactor-r-wheel {
    transform: translate(-139px, -7px);
    /* transition: all 2.5s cubic-bezier(0.39, 0.09, 0.61, 0.93); */
}
.compactor-forward {
    /* transform: translate(0,0) !important; */
    -webkit-animation: moving-compactor 5s forwards; /* Safari 4+ */
    -moz-animation:    moving-compactor 5s forwards; /* Fx 5+ */
    -o-animation:      moving-compactor 5s forwards; /* Opera 12+ */
    animation:         moving-compactor 5s forwards; /* IE 10+, Fx 29+ */
}
.rotate-compactor-wheels {
    -webkit-animation: moving-wheels 5s forwards; /* Safari 4+ */
    -moz-animation:    moving-wheels 5s forwards; /* Fx 5+ */
    -o-animation:      moving-wheels 5s forwards; /* Opera 12+ */
    animation:         moving-wheels 5s forwards; /* IE 10+, Fx 29+ */
}

@-webkit-keyframes moving-wheels {
  0%   { transform: translate(-139px, -7px) rotateZ(0deg); }
  60%   { transform: translate(0,0) rotateZ(1000deg); }
  70%   { transform: translate(21px,1px) rotateZ(1080deg); }
  80%   { transform: translate(0,0) rotateZ(1000deg); }
  90%   { transform: translate(21px,1px) rotateZ(1080deg); }
  100% { transform: translate(0,0) rotateZ(1000deg); }
}
@-moz-keyframes moving-wheels {
    0%   { transform: translate(-139px, -7px) rotateZ(0deg); }
    60%   { transform: translate(0,0) rotateZ(1000deg); }
    70%   { transform: translate(21px,1px) rotateZ(1080deg); }
    80%   { transform: translate(0,0) rotateZ(1000deg); }
    90%   { transform: translate(21px,1px) rotateZ(1080deg); }
    100% { transform: translate(0,0) rotateZ(1000deg); }
}
@-o-keyframes moving-wheels {
    0%   { transform: translate(-139px, -7px) rotateZ(0deg); }
    60%   { transform: translate(0,0) rotateZ(1000deg); }
    70%   { transform: translate(21px,1px) rotateZ(1080deg); }
    80%   { transform: translate(0,0) rotateZ(1000deg); }
    90%   { transform: translate(21px,1px) rotateZ(1080deg); }
    100% { transform: translate(0,0) rotateZ(1000deg); }
}
@keyframes moving-wheels {
    0%   { transform: translate(-139px, -7px) rotateZ(0deg); }
    60%   { transform: translate(0,0) rotateZ(1000deg); }
    70%   { transform: translate(21px,1px) rotateZ(1080deg); }
    80%   { transform: translate(0,0) rotateZ(1000deg); }
    90%   { transform: translate(21px,1px) rotateZ(1080deg); }
    100% { transform: translate(0,0) rotateZ(1000deg); }
}

@-webkit-keyframes moving-compactor {
    0%   { transform: translate(-139px, -7px); }
    60%   { transform: translate(0,0); }
    70%   { transform: translate(21px,1px); }
    80%   { transform: translate(0,0); }
    90%   { transform: translate(21px,1px); }
    100% { transform: translate(0,0); }
}
@-moz-keyframes moving-compactor {
    0%   { transform: translate(-139px, -7px); }
    60%   { transform: translate(0,0); }
    70%   { transform: translate(21px,1px); }
    80%   { transform: translate(0,0); }
    90%   { transform: translate(21px,1px); }
    100% { transform: translate(0,0); }
}
@-o-keyframes moving-compactor {
    0%   { transform: translate(-139px, -7px); }
    60%   { transform: translate(0,0); }
    70%   { transform: translate(21px,1px); }
    80%   { transform: translate(0,0); }
    90%   { transform: translate(21px,1px); }
    100% { transform: translate(0,0); }
}
@keyframes moving-compactor {
    0%   { transform: translate(-139px, -7px); }
    60%   { transform: translate(0,0); }
    70%   { transform: translate(21px,1px); }
    80%   { transform: translate(0,0); }
    90%   { transform: translate(21px,1px); }
    100% { transform: translate(0,0); }
}

.hotspot-popup {
    position: absolute;
    left: 50%;
    top: 50%;
    background: white;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0px 0px 14px 6px #00000036;
    transform: translate(-50%, -50%);
    font-size: 19px;
    line-height: 1.5em;
    overflow: auto;
    max-height: calc(100% - 200px);
}

.hotspot-popup strong {
    color: #2979e4;
}

.close-iframe, .close-popup {
     background: #2f7be1;
     display: block;
     position: absolute;
     top: 2px;
     right: 2px;
     width: 40px;
     height: 40px;
     border-radius: 33px;
     border: 5px solid white;
 }

.iframe-container {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 90%;
    max-width: 897px;
    max-height: 733px;
    z-index: 999;
}

iframe.info-iframe {
    border: 0px solid white;
    box-shadow: #000000e3 1px 1px 20px 3px;
    border-radius: 16px;
    width: 100%;
    height: 100%;
}

img.close-button-x {
    width: 27px;
    padding: 6px;
    margin: 2px auto;
    display: block;
}

.button-questions {
    background: #2f7ce1;
    display: block;
    width: auto;
    text-align: center;
    margin: 0 auto;
    padding: 10px;
    margin-top: 25px;
    border-radius: 100px;
    border: 7px solid white;
    color: white;
    font-weight: 800;
    cursor: pointer;
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    bottom: 20px;
}

strong {
    color: #2f7ce1;
}

.q-option {
    width: 33.3%;
    display: inline-block;
    text-align: center;
}

.q-option input[type="text"] {
    background: #ececec;
    border: 0;
    border-radius: 100px;
    margin: 15px 0;
    padding: 5px 10px;
    text-align: center;
}

.agree-buttons > div, .submit-answers {
    float: left;
    background: #2f7ce1;
    padding: 7px 30px;
    margin: 0 5px;
    border: 8px solid white;
    border-radius: 100px;
    color: white;
    font-weight: 800;
    cursor: pointer;
}

textarea:focus, input:focus{
    outline: none;
}

.agree-buttons, .submit-answers {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

/* Animated CSS integration START */

.custom-animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.custom-animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

@-webkit-keyframes custom-pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.2, 1.2, 1.2);
    transform: scale3d(1.2, 1.2, 1.2);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes custom-pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.2, 1.2, 1.2);
    transform: scale3d(1.2, 1.2, 1.2);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.custom-pulse {
  cursor: pointer;
  -webkit-animation-name: custom-pulse;
  animation-name: custom-pulse;
}

@media (prefers-reduced-motion) {
  .custom-animated {
    -webkit-animation: unset !important;
    animation: unset !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}

/* Animated CSS integration END */

div#hotspots-info {
    position: absolute;
    top: 0;
    background: white;
    padding: 5px 20px;
    border-bottom-right-radius: 20px;
    padding-bottom: 8px;
}

.hotspots-desc {
    float: left;
    padding-top: 7px;
}

.hotspots-no {
    float: right;
    font-weight: 800;
    font-size: 24px;
    padding-left: 7px;
    color: #2979e4;
}

img.popup-image {
    margin: 0 auto;
    display: block;
    float: left;
    width: 100%;
    /* border-top-left-radius: 15px;
    border-top-right-radius: 15px; */
    border-radius: 15px;
}

.zoom-text {
    text-align: center;
    font-size: 15px;
    background: #2d2d2d9c;
    color: white;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding-bottom: 3px;
    font-weight: 800;
}

p, .message-text {
    font-size: 17px;
    line-height: 1.5em;
}

.close-popup, .custom-animated.custom-pulse.bound {
    cursor: pointer;
}

.swal-footer {
    text-align: center;
}

.alert-see-hotspots {
    background: #9cbf30;
}

.alert-move-next {
    background: #2196f3;
    color: white;
}

.alert-never {
    background: #ececec;
    color: #7d7d7d;
}

.swal-text {
    text-align: center;
    font-weight: 600;
    line-height: 1.3em;
}

@media screen and (min-width:1200px) {
    .zoom-text {
        position: absolute;
        bottom: 0px;
        width: calc(100% - 30px);
    }
}

@media screen and (max-width:1199px) {
    .zoom-text {
        margin-bottom: 20px;
        border-radius: 15px;
    }
}
