* {
    font-family: Jura;
}

div#svg-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;
}

.blurred {
    filter: blur(7px);
}

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

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

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

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

.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;
     cursor: pointer;
 }

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

.iframe-container.help-page img.help-container {
    width: 100%;
    height: auto;
}

.iframe-container.help-page {
    overflow: auto;
    border-radius: 15px;
    box-shadow: 0px 3px 4px 6px rgba(0,0,0,0.1);
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 20px;
}

::-webkit-scrollbar-track {
  background: #ddd;
  border-radius: 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(0.8, 0.8, 0.8);
    transform: scale3d(0.8, 0.8, 0.8);
  }

  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(0.8, 0.8, 0.8);
    transform: scale3d(0.8, 0.8, 0.8);
  }

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

g#info1 { transform-origin: 1020px 284px; }
g#info2 { transform-origin: 854px 534px; }
g#info3 { transform-origin: 1173px 895px; }
g#info4 { transform-origin: 2066px 497px; }
g#info5 { transform-origin: 1711px 617px; }
g#info6 { transform-origin: 2050px 688px; }
g#info7 { transform-origin: 2255px 881px; }
g#info8 { transform-origin: 249px 479px; }
g#info9 { transform-origin: 444px 340px; }
g#info10 { transform-origin: 623px 497px; }
g#info11 { transform-origin: 678px 862px; }
g#info12 { transform-origin: 2023px 387px; }
g#info13 { transform-origin: 1629px 678px; }

.bound.seen {
    transform: scale(0.8);
}

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