#myModal,
#myModal .modal-dialog,
#myModal .modal-content {
  min-height: 110vh;
}

#myModal {
  position: fixed;
  inset: 0;
  overflow: hidden;
}

#myModal .modal-dialog {
  width: 100%;
  max-width: none;
  margin: 0;
}

#myModal .modal-header {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 50px;
  position: relative;
}

#myModal .modal-title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#myModal .fullview-controls-trigger {
  flex: 0 1 auto;
  border: 0;
  background: transparent;
  color: #C7B299;
  font-size: 12px;
  line-height: 1.3;
  margin-right: 16px;
  padding: 4px 0;
  text-align: right;
}

#myModal .fullview-controls-trigger:hover,
#myModal .fullview-controls-trigger:focus {
  color: #E0D2BF;
  outline: none;
  text-decoration: underline;
}

#myModal .fullview-controls-short {
  display: none;
}

#myModal .fullview-admin-tag-toggle {
  flex: 0 0 auto;
  margin-right: 16px;
}

#myModal #advert_tagging {
  left: 50%;
  top: 0;
  width: min(600px, calc(100vw - 140px));
  margin-left: 0;
  margin-top: 0;
  opacity: 0;
  transform: translate(-50%, -120%);
  transition: transform 400ms ease, opacity 400ms ease;
}

#myModal #advert_tagging.is-open {
  opacity: 1;
  transform: translate(-50%, 6px);
}

#myModal #output_tag {
  display: none;
  position: absolute;
  top: 50%;
  left: 16px;
  z-index: 30;
  width: min(520px, calc(100vw - 160px));
  margin: 0;
  color: #f3df55;
  text-align: left;
  transform: translateY(-50%);
  pointer-events: none;
}

#myModal #output_tag p {
  display: inline-block;
  margin: 0;
  padding: 5px 14px;
  border-radius: 3px;
  background: rgba(34, 34, 34, .88);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

#myModal #output_tag p:empty {
  display: none;
}

#myModal .close {
  flex: 0 0 auto;
  float: none;
  margin: -10px 15px 0 0;
  font-size: 32px;
  line-height: 1;
}

.fullview-controls-overlay {
  position: fixed;
  inset: 0;
  z-index: 11000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 0, 0, .45);
}

.fullview-controls-overlay.is-visible {
  display: flex;
}

.fullview-controls-panel {
  width: min(560px, calc(100vw - 40px));
  max-height: calc(100vh - 80px);
  overflow: auto;
  border: 1px solid rgba(199, 178, 153, .35);
  border-radius: 6px;
  background: #2f2f2f;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .55);
  color: #ddd;
}

.fullview-controls-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.fullview-controls-panel-title {
  margin: 0;
  color: #fff;
  font-size: 18px;
}

.fullview-controls-panel-close {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  opacity: .8;
}

.fullview-controls-panel-close:hover,
.fullview-controls-panel-close:focus {
  opacity: 1;
  outline: none;
}

.fullview-controls-list {
  margin: 0;
  padding: 16px 22px 20px 34px;
}

.fullview-controls-list li {
  margin: 0 0 9px;
}

.fullview-controls-list li.fullview-controls-no-bullet {
  list-style-type: none;
}

.fullview-controls-section-title {
  margin: 2px 22px 0 17px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

.fullview-controls-list li.fullview-controls-gap {
  margin-top: 30px;
}

@media only screen and (max-width: 900px) {
  #myModal .fullview-controls-long {
    display: none;
  }

  #myModal .fullview-controls-short {
    display: inline;
  }
}

.swiper {
  width: 100%;
  max-width: none;
  min-height: 250px;
}

	.swiper-button-prev,
	.swiper-button-next {
	  width: 64px;
	  height: 100%;
	  margin-top: 0;
	  transform: translateY(-50%);
	  background: transparent;
	  border: 0;
	  color: #C7B299;
	  opacity: .5;
	  transition: opacity 120ms ease;
	}

	.swiper-button-prev:hover,
	.swiper-button-next:hover {
	  opacity: 1;
	}

	.swiper-button-prev.swiper-button-disabled,
	.swiper-button-next.swiper-button-disabled {
	  opacity: .2;
	}

	.swiper-button-prev:after,
	.swiper-button-next:after {
	  font-family: 'Glyphicons Halflings';
	  font-size: 36px;
	  line-height: 1;
	  text-transform: none;
	  letter-spacing: 0;
	}

	.swiper-button-prev:after {
	  content: "\e257";
	}

	.swiper-button-next:after {
	  content: "\e258";
	}

	.swiper-wrapper {
	  will-change: transform;
	}

  .swiper-slide {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: relative;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;

      padding-top: 20px;
      padding-bottom: 30px;

	  width: 50%; /* Set the width of each slide to 50% to display two slides side by side */

    }

    .swiper-slide img {
      display: block;
	  border-radius: 6px;
	}

	.swiper-slide-active img,
	.swiper-slide-next img,
	.swiper-slide-prev img {
	  -webkit-backface-visibility: hidden;
	  backface-visibility: hidden;
	  -webkit-transform: translateZ(0);
	  transform: translateZ(0);
	  will-change: transform;
	}

	.swiper-zoom-container > .fullview-zoom-layer {
	  height: 100%;
	  width: auto;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  max-width: none;
	  overflow: visible;
	  user-select: none;
	  -webkit-user-select: none;
	  -webkit-user-drag: none;
	}

	.swiper-zoom-container .fullview-rotation-layer {
	  --fullview-rotation-scale: 1;
	  height: 100%;
	  width: auto;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  transform-origin: center center;
	  transition: transform 160ms ease;
	}

	.swiper-zoom-container .fullview-rotation-layer > img {
	  height: 100%;
	  width: auto;
	  max-width: none;
	  user-select: none;
	  -webkit-user-select: none;
	  -webkit-user-drag: none;
	}

	.swiper-zoom-container[data-rotation="1"] .fullview-rotation-layer {
	  transform: rotate(-90deg) scale(var(--fullview-rotation-scale));
	}

	.swiper-zoom-container[data-rotation="2"] .fullview-rotation-layer {
	  transform: rotate(-180deg) scale(var(--fullview-rotation-scale));
	}

	.swiper-zoom-container[data-rotation="3"] .fullview-rotation-layer {
	  transform: rotate(-270deg) scale(var(--fullview-rotation-scale));
	}

	.swiper.is-zoomed .swiper-pagination {
	  opacity: 0;
	  pointer-events: none;
	}

	.swiper-pagination {
	  bottom: -5px;
	  left: 0;
	  width: 100%;
	  text-align: center;
	}

	/* Width-constrained spread switch: tuned to avoid a page-size bump at the axis change. */
	@media only screen and (min-width: 850px) and (max-aspect-ratio: 31/25),
		only screen and (min-width: 700px) and (orientation: landscape) and (max-aspect-ratio: 31/25) {
		.swiper-zoom-container .fullview-rotation-layer > img {
			width: 100%;
			height: auto;
		}
	}

		/* keep zoomed image on top */
		.swiper-slide-zoomed,
		.swiper-slide.zoom-layer {
		position: relative;
		z-index: 9999 !important;
      align-content: flex-start;
      justify-content: flex-start;
	}

	.swiper.is-zoomed .swiper-slide.fullview-virtual-zoom-stack-fix {
		transform: translateZ(1px);
		z-index: 10000 !important;
	}

	.swiper.is-zoomed .swiper-slide.fullview-virtual-zoom-stack-fix .swiper-zoom-container {
		position: relative;
		z-index: 10000;
	}

	.swiper.is-zoomed .swiper-slide.fullview-virtual-zoom-stack-lower {
		z-index: 0 !important;
	}

	.leftPage {
      align-content: flex-end;
      justify-content: flex-end;
	}

	.rightPage {
      align-content: flex-start;
      justify-content: flex-start;
	}

	/* dummy classes to identify page type */
	.captionLeft {
		width: 100%;
		margin-top: 5px;
		align-self: flex-end;
	}
	
	.captionRight {
		width: 100%;
		margin-top: 5px;
		align-self: flex-start;
	}

	.captionSingle {
		width: 100%;
		margin-top: 5px;
		align-self: center;
		text-align: center;
	}

	.captionLeft .pagescanGroup,
	.captionRight .pagescanGroup,
	.captionSingle .pagescanGroup {
		display: inline-block;
		max-width: 100%;
		padding: 4px 10px;
		border: 1px solid rgba(199, 178, 153, .22);
		border-radius: 5px;
		background: #404060!important;
		box-shadow: 0 1px 4px rgba(0, 0, 0, .24);
		color: #f0f0f0!important;
		line-height: 1.35;
	}

	.captionLeft .pagescanGroup a,
	.captionRight .pagescanGroup a,
	.captionSingle .pagescanGroup a {
		color: #f0f0f0!important;
	}

	.swiper-fullview-article .swiper-slide {
		align-items: center;
		justify-content: center;
	}

	.swiper-fullview-article {
		overflow: visible;
	}

	.swiper-fullview-article .swiper-zoom-container {
		align-items: center;
		justify-content: center;
	}

	.swiper-fullview-article .captionSingle {
		align-self: center;
		text-align: center;
	}

	.swiper-fullview-ad .captionSingle {
		align-self: center;
		text-align: center;
	}

	.swiper-fullview-article .swiper-button-prev,
	.swiper-fullview-article .swiper-button-next {
		position: fixed;
		top: 50%;
		height: calc(100vh - 100px);
	}

	.swiper-fullview-article .swiper-button-prev {
		left: 0;
	}

	.swiper-fullview-article .swiper-button-next {
		right: 0;
	}

   @media only screen and (max-width: 699px),
	  only screen and (max-width: 849px) and (orientation: portrait) {
	/* in single page mode, center images */
	.leftPage {
      align-content: center;
      justify-content: center;
	}

	.rightPage {
      align-content: center;
      justify-content: center;
	}

	.swiper-zoom-container .fullview-rotation-layer > img {
	  height: min(100%, calc((100vw - 40px) * 1.43));
	  width: auto;
	  max-width: none;
	}

	.captionLeft,
	.captionRight,
	.captionSingle {
		align-self: center;
	}

		}

	/* fix for iPad Mini portrait mode messing up page count display */
	@supports (-webkit-touch-callout: none) {
	  @media only screen
		and (min-width: 700px)
		and (max-width: 849px)
		and (orientation: portrait)
		and (pointer: coarse) {
		.swiper-zoom-container {
		  height: calc(100% - 40px);
		}

		.swiper-zoom-container .fullview-rotation-layer > img {
		  height: min(100%, calc((100vw - 40px) * 1.43));
		}

		.captionLeft,
		.captionRight,
		.captionSingle {
		  margin-top: 0;
		}
	  }
	}

	/* test: old iPad Mini can struggle when large scans are promoted to extra compositing layers */
	@supports (-webkit-touch-callout: none) {
	  @media only screen
		and (min-width: 700px)
		and (max-width: 1133px)
		and (pointer: coarse) {
		.swiper-slide-active img,
		.swiper-slide-next img,
		.swiper-slide-prev img {
		  -webkit-transform: none;
		  transform: none;
		  will-change: auto;
		  -webkit-backface-visibility: visible;
		  backface-visibility: visible;
		}
	  }
	}

   @media only screen and (min-width: 850px),
	  only screen and (min-width: 700px) and (orientation: landscape) {
      .swiper-slide.fullview-first-slide {
        transition: transform 100ms;
      }

      .swiper-slide.swiper-slide-active.fullview-first-slide {
        transform: translateX(calc(50% + 5px));
        z-index: 2;
      }

      .swiper-slide.fullview-second-slide {
        transition: transform 100ms;
      }

      .swiper-slide.swiper-slide-next.fullview-second-slide {
        transform: translateX(55%);
        z-index: 1;
      }

      .swiper-slide.fullview-last-slide {
        transition: transform 100ms;
      }

      .swiper-slide.swiper-slide-active.fullview-last-slide {
        transform: translateX(calc(-50% - 5px));
        z-index: 2;
      }

      .swiper-slide.swiper-slide-next.fullview-last-slide {
        transform: translateX(calc(-50% - 5px));
        z-index: 2;
      }

      .swiper-slide.fullview-penultimate-slide {
        transition: transform 100ms;
      }

      .swiper-slide.swiper-slide-prev.fullview-penultimate-slide {
        transform: translateX(-55%);
        z-index: 1;
      }

      .swiper-slide.swiper-slide-active.fullview-penultimate-slide {
        transform: translateX(-55%);
        z-index: 1;
      }

      .swiper[dir="rtl"] .swiper-slide.swiper-slide-active.fullview-first-slide {
        transform: translateX(calc(-50% - 5px));
      }

      .swiper[dir="rtl"] .swiper-slide.swiper-slide-next.fullview-second-slide {
        transform: translateX(-55%);
      }

      .swiper[dir="rtl"] .swiper-slide.swiper-slide-active.fullview-last-slide {
        transform: translateX(calc(50% + 5px));
      }

      .swiper[dir="rtl"] .swiper-slide.swiper-slide-next.fullview-last-slide {
        transform: translateX(calc(50% + 5px));
      }

      .swiper[dir="rtl"] .swiper-slide.swiper-slide-prev.fullview-penultimate-slide {
        transform: translateX(55%);
      }

      .swiper[dir="rtl"] .swiper-slide.swiper-slide-active.fullview-penultimate-slide {
        transform: translateX(55%);
      }

      .swiper-fullview-article .swiper-slide.fullview-first-slide,
      .swiper-fullview-article .swiper-slide.swiper-slide-active.fullview-first-slide,
      .swiper-fullview-article .swiper-slide.fullview-second-slide,
      .swiper-fullview-article .swiper-slide.swiper-slide-next.fullview-second-slide,
      .swiper-fullview-article .swiper-slide.fullview-last-slide,
      .swiper-fullview-article .swiper-slide.swiper-slide-active.fullview-last-slide,
      .swiper-fullview-article .swiper-slide.swiper-slide-next.fullview-last-slide,
      .swiper-fullview-article .swiper-slide.fullview-penultimate-slide,
      .swiper-fullview-article .swiper-slide.swiper-slide-prev.fullview-penultimate-slide,
      .swiper-fullview-article .swiper-slide.swiper-slide-active.fullview-penultimate-slide {
        transform: none;
        z-index: auto;
      }

      .swiper-fullview-ad .swiper-slide.fullview-first-slide,
      .swiper-fullview-ad .swiper-slide.swiper-slide-active.fullview-first-slide,
      .swiper-fullview-ad .swiper-slide.fullview-second-slide,
      .swiper-fullview-ad .swiper-slide.swiper-slide-next.fullview-second-slide,
      .swiper-fullview-ad .swiper-slide.fullview-last-slide,
      .swiper-fullview-ad .swiper-slide.swiper-slide-active.fullview-last-slide,
      .swiper-fullview-ad .swiper-slide.swiper-slide-next.fullview-last-slide,
      .swiper-fullview-ad .swiper-slide.fullview-penultimate-slide,
      .swiper-fullview-ad .swiper-slide.swiper-slide-prev.fullview-penultimate-slide,
      .swiper-fullview-ad .swiper-slide.swiper-slide-active.fullview-penultimate-slide {
        transform: none;
        z-index: auto;
      }

      .swiper-fullview-article-single .swiper-slide.swiper-slide-active.fullview-first-slide,
      .swiper-fullview-article-single .swiper-slide.swiper-slide-active.fullview-last-slide {
        transform: translateX(calc(50% + 5px));
        z-index: 2;
      }
    }
