@font-face {
  font-family: FieldworkGeoBold;
  src: url("../fonts/Fieldwork-Geo-Bold.otf") format("opentype");
  font-weight:400;
  font-style:normal
}

body {
  font-family:FieldworkGeoBold;
  background:#a3e5e7;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  -webkit-user-select:none;
  -khtml-user-select:none;
  -moz-user-select:none;
  -o-user-select:none;
  -ms-user-select:none;
  user-select:none;
}
canvas { outline: none!important; border: none!important; }
.ctrCursor {
  cursor:url(../media/cursors/cursor.cur),url(../media/cursors/cursor.png),auto
}
.ctrCursor a, .ctrCursor .general-panel, .ctrCursor .comic-panel, .ctrPointer, .ctrCursor .carousel-control-prev, .ctrCursor .carousel-control-next, .ctrCursor .carousel-indicators [data-bs-target] {
  cursor:url(../media/cursors/handcursor.cur),url(../media/cursors/handcursor.png),auto
}
.ctrCursorActive {
  cursor:url(../media/cursors/cursorActive.cur),url(../media/cursors/cursorActive.png),auto
}

.comic {
  display:flex;
  flex-wrap:wrap;
  padding:1vmin;
}

.bg-dark {
  --bs-bg-rgb-color: 29,29,29;
  background-color: #1d1d1d;
}

.general-panel, .comic-panel, .activity-panel {
  background-color: #fff;
  border: 1px solid #f1f1f2;
  box-shadow: 0 8px 8px -8px #000;
  display: inline-block;
  flex: 1 1;
  height: 200px;
  margin: 1vmin;
  overflow: hidden;
  position: relative;
  border-radius: 0.625rem;
}

/* Fix width of general-panel inside article.comic to 25% for carousel consistency */
article.comic > .general-panel {
  flex: 0 0 22%;   /* fixed width 25% for 4 boxes per view */
  max-width: 22%;
  box-sizing: border-box;
}

.text {
  background-color:#fff;
  margin:0;
  padding:3px 10px;
}

.top-left {
  left:-6px;
  position:absolute;
  top:-2px;
  transform:skew(-15deg);
}

.bottom-right {
  bottom:-2px;
  position:absolute;
  right:-6px;
}

.bottom-left {
  bottom:-2px;
  position:absolute;
  left:-6px;
  border-top-right-radius:var(--bs-border-radius)!important;
}

.speech {
  background-color:#fff;
  border:solid 2px #000;
  border-radius:12px;
  display:inline-block;
  margin:.5em;
  padding:.5em 1em;
  position:relative;
}

.speech:before {
  border:solid 12px transparent;
  border-left:solid 12px #000;
  border-top:solid 12px #000;
  bottom:-24px;
  content:"";
  height:0;
  left:24px;
  position:absolute;
  transform:skew(-15deg);
  width:0;
}

.speech:after {
  border:solid 10px transparent;
  border-left:solid 10px #fff;
  border-top:solid 10px #fff;
  bottom:-19px;
  content:"";
  height:0;
  left:27px;
  position:absolute;
  transform:skew(-15deg);
  width:0;
}

.general-panel {
  flex-basis: 200px;
}

.activity-panel {
  flex-basis: 200px;
}

.comic-panel:nth-child(1) {
  flex-basis: 200px;
}
.comic-panel:nth-child(2) {
  flex-basis: 400px;
}
.comic-panel:nth-child(3) {
  flex-basis: 200px;
}
.comic-panel:nth-child(4) {
  flex-basis: 400px;
}
.comic-panel:nth-child(5) {
  flex-basis: 200px;
}
.comic-panel:nth-child(6) {
  flex-basis: 200px;
}
.comic-panel:nth-child(7) {
  flex-basis: 400px;
}
.comic-panel:nth-child(8) {
  flex-basis: 200px;
}
.comic-panel:nth-child(9) {
  flex-basis: 200px;
}

/* background colours */
.general-panel:nth-child(4n+1), .comic-panel:nth-child(4n+1), .activity-panel:nth-child(4n+1) {
  background-image:radial-gradient(circle, yellow, orange);
}

.general-panel:nth-child(4n+2), .comic-panel:nth-child(4n+2), .activity-panel:nth-child(4n+2) {
  background-image:radial-gradient(circle, lightblue, deepskyblue);
}

.general-panel:nth-child(4n+3), .comic-panel:nth-child(4n+3), .activity-panel:nth-child(4n+3) {
  background-image:radial-gradient(circle, palegreen, yellowgreen);
}

.general-panel:nth-child(4n+4), .comic-panel:nth-child(4n+4), .activity-panel:nth-child(4n+4) {
  background-image:radial-gradient(circle, lightcoral, tomato);
}

#comic_container .carousel-custom .carousel-indicators.carousel-indicators-bullet li.active {
  background-color: transparent;
  height: 24px;
  transition: all .3s ease;
  width: 64px;
}

#comic_container .carousel-custom .carousel-indicators.carousel-indicators-bullet li.active:after {
  background-color: #ffffff!important;
  height: 24px;
  transition: all .3s ease;
  width: 64px;
  opacity: 1!important;
}

#comic_container .carousel-custom .carousel-indicators.carousel-indicators-bullet li {
  border-radius: 24px;
  height: 24px;
  width: 24px;
}

#comic_container .carousel-custom .carousel-indicators.carousel-indicators-bullet li:after {
  background-color: #000000!important;
  border-radius: 24px;
  height: 24px;
  width: 24px;
  opacity: .35;
}

#comic_container .btn-hud {
  width: 64px;
  height: 64px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  cursor: url(../media/cursors/handcursor.cur), url(../media/cursors/handcursor.png), auto;
  transition: all 0.3s ease-in-out;
}

#comic_container .btn-hud:hover {
  transform: scale(1.15);
}

#comic_container .btn-home {
  background-image: url(../media/images/ui/home-btn.png);
}

#comic_container .btn-arrow {
  background-image: url(../media/images/ui/back-btn.png);
}

#comic_container .btn-generic {
  width: 125px;
  height: 118px;
  background-size: cover;
  background-position: center;
  text-align: center;
  cursor: url(../media/cursors/handcursor.cur), url(../media/cursors/handcursor.png), auto;
  transition: all 0.3s ease-in-out;
}

#comic_container .btn-generic:hover {
  transform: scale(1.15);
}

#comic_container .btn-watch {
  background-image: url(../media/images/ui/watch-default.png);
}

#comic_container .btn-watch:hover {
  background-image: url(../media/images/ui/watch-hover.png);
}

#comic_container .btn-activities {
  background-image: url(../media/images/ui/activities-default.png);
}

#comic_container .btn-activities:hover {
  background-image: url(../media/images/ui/activities-hover.png);
}

#comic_container .btn-closure {
  background-image: url(../media/images/ui/closure-default.png);
}

#comic_container .btn-closure:hover {
  background-image: url(../media/images/ui/closure-hover.png);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-modal-header-padding);
  border:6px #9f5e02 solid;
  border-bottom: none;
  background-color: #fed070;
  /*border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);*/
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}

.modal-body {
  border: 6px #9f5e02 solid;
  border-top: none;
  background-color: #fed070;
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
}

.modal-dialog .btn.btn-icon {
  cursor: url(../media/cursors/handcursor.cur), url(../media/cursors/handcursor.png), auto!important;
}

.video-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  /*padding-bottom: 56.25%;*/
  height:calc(100vh - 3.65rem);
}

.video-content {
  /*position: absolute;*/
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border:none;
}
.modal-content{
  height: calc(100% * 9 / 16);
  width: 100%;
  transform: translateX(-50%);
  left: 50%;
}

#episode_container::before {
  content: "";
  width: 1px;
  height: calc(64* 100vh / 720);;
  display: inline-block;
}
.episode_container::after { /* to clear float */
  content: "";
  display: table;
  clear: both;
}

.card_title_container {
  transition: opacity 200ms linear 0ms, transform 200ms ease-in 0ms;
}

@media(min-width: 1200px) {
  .card_title_container .title-bg {
    top: -22%!important;
    /*left: 18.5%!important;*/
  }

  .card_title_container .title-text {
    top: -28%!important;
    left: 39.5%!important;
  }
}

.card_title_container .title-bg {
  position: absolute;
  top: -22%;
  /*left: 8.5%;*/
}

.card_title_container .title-text {
  position: absolute;
  top: -28%;
  left: 33.5%;
}

@keyframes wiggle {
  0% { transform: rotate(0deg); }
  80% { transform: rotate(0deg); }
  85% { transform: rotate(5deg); }
  95% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}

@keyframes swing {
  0% { transform: rotate(0); }
  20% { transform: rotate(5deg); }
  40% { transform: rotate(-5deg); }
  60% { transform: rotate(5deg); }
  80% { transform: rotate(-5deg); }
  100% { transform: rotate(0); }
}

.animate-swing {
  display: inline-block;
  animation: swing 4.5s ease;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.animate-wiggle {
  display: inline-block;
  animation: wiggle 1.25s ease;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

img.bg {
  min-height: 100%;
  min-width: 1024px;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
}

.carousel-inner {
  width:90%;
}

.carousel-control-next, .carousel-control-prev {
  width: 6%;
}

.carousel-control-next-icon, .carousel-control-prev-icon {
  width:3rem;
  height:3rem;
}

.carousel-control-prev-icon {
  background-image: url(../media/images/ui/left-arrow.png);
}

.carousel-control-next-icon{
  background-image: url(../media/images/ui/right-arrow.png);
}

.carousel-control-next, .carousel-control-prev {
  opacity: 1;
}

.carousel-control-next:focus, .carousel-control-next:hover, .carousel-control-prev:focus, .carousel-control-prev:hover {
  color: #fff;
  opacity: 1;
}

@media screen and (max-width: 1024px) {
  img.bg {
    left: 50%;
    margin-left: -512px;   /* 50% */
  }
}

@media screen and (max-width: 1200px) {
  #episode_container::before {
    height: calc(162* 100vh / 720);;
  }

  article.comic > .general-panel {
  flex: 0 0 22%;   /* fixed width 25% for 4 boxes per view */
  max-width: 22%;
  box-sizing: border-box;
  }
}

/* Portrait orientation */
@media screen and (orientation: portrait) {
  #rotate_alert {
    display:flex!important;
  }
  #mecha_app_root {
    display:none!important;
  }
}
/* Landscape orientation */
@media screen and (orientation: landscape) {
  #rotate_alert {
    display:none!important;
  }
  #mecha_app_root {
    display:flex!important;
  }
}
