/* general */

#wivr-viewer {
	align-items: center;
	background-color: #f1f1f1;
	box-sizing: border-box;
	color: #575757;
	font-family: sans-serif;
	overflow: hidden;
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	top: 0;
	z-index: 4;
}

.wivr-hidden {
	display: none !important;
}

.wivr-overflow-hidden {
	overflow: hidden !important;
}

.wivr-hidden-anim {
	display: none !important;
}

/* viewport */

#wivr-slide-viewport {
	bottom: 0;
	box-sizing: border-box;
	left: 0;
	margin: auto;
	max-height: 1800px;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
}

#wivr-slide-container {
	/*background-color: greenyellow;*/
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: translate3d(0, 0, 0);
	/*transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);*/
	/*transition: transform 333ms ease-out;*/
}

.wivr-slide-anim {
	transition: transform 300ms ease-out;
}

.wivr-slide {
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
}

/* viewport controls */

.wivr-control {
	background-color: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	color: #575757;
}

.wivr-btn-pn {
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 100px;
	justify-content: center;
	margin-top: -50px;
	opacity: 0.001;
	transition: opacity 300ms ease-in-out;
	position: absolute;
	text-align: center;
	text-decoration: none;
	top: 50%;
	width: 50px;
	z-index: 1;
}

.wivr-btn-pn .material-icons {
	font-size: 36px;
}

#wivr-btn-prev {
	border-radius: 0 2px 2px 0;
	left: 0;
}

#wivr-btn-next {
	border-radius: 2px 0 0 2px;
	right: 0;
}

#wivr-zoom-panel {
	height: 104px;
	margin-top: 54px;
	opacity: 0.001;
	transition: opacity 300ms ease-in-out;
	position: absolute;
	right: 0;
	top: 50%;
	width: 50px;
	z-index: 1;
}

.wivr-btn-zoom {
	align-items: center;
	border-radius: 2px 0 0 2px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 50px;
	justify-content: center;
	position: relative;
	text-decoration: none;
	z-index: 1;
}

#wivr-btn-zoom-in {
	margin-bottom: 4px;
}

/* toast message */
#wivr-toast-message {
	align-items: center;
	background-color: rgba(0, 0, 0, 0.8);
	border-radius: 18px;
	bottom: 4.6rem;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 0.9em;
	height: 36px;
	justify-content: center;
	left: 50%;
	opacity: 0.001;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	position: fixed;
	text-align: center;
	transform: translateX(-50%);
	transition: opacity 300ms ease-in-out;
	z-index: 2;
}

.wivr-toast-show {
	opacity: 0.9 !important;
}

/* pages */

.wivr-page-container {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.wivr-page {
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
}

.wivr-page-single {
	left: 0;
	width: 100%;
}

.wivr-page-left {
	right: 50%;
	width: 50%;
}

.wivr-page-right {
	left: 50%;
	width: 50%;
}

.wivr-page-img {
	bottom: 0;
	cursor: zoom-in;
	display: block;
	margin: auto;
	position: absolute;
	opacity: 0.001;
	top: 0;
	transition: opacity 200ms ease-in-out;
}

.wivr-page-single-img {
	left: 0;
	right: 0;
}

.wivr-page-left-img {
	right: 0;
}

.wivr-page-right-img {
	left: 0;
}

.wivr-zoomed-in img {
	cursor: grab;
}

.wivr-dragging img {
	cursor: grabbing !important;
}

/* page overlays */

.wivr-overlay {
	opacity: 0.001;
	position: absolute;
	z-index: 1;
}

.wivr-overlay-area {
	animation: zoomin 400ms normal forwards ease-in-out;
	background-color: rgba(19, 174, 240, 0.2);
	box-shadow: 0 0 4px rgba(50, 50, 50, 0.2);
	transform: scale(0.1);
}

@keyframes zoomin {
	100% {
		transform: scale(1);
	}
}

.wivr-overlay-button {
	align-items: center;
	background-color: #13aef0;
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4);
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 14px;
	height: 28px;
	justify-content: center;
	margin-left: -14px;
	margin-top: -14px;
	transition: opacity 400ms ease-in-out;
	text-align: center;
	text-decoration: none;
	transform: scaleX(-1);
	width: 28px;
}

.wivr-overlay-button .material-icons {
	color: #fff;
	margin-top: -2px;
}

/* menu bars */

.wivr-logo {
	align-self: stretch;
	background: no-repeat center;
	background-size: contain;
	box-sizing: border-box;
	display: block;
	width: 3rem;
}

.wivr-bar {
	background-color: rgba(255, 255, 255, 0.8);
	box-sizing: border-box;
	height: 3.8rem;
	left: 0;
	position: absolute;
	transition: transform 150ms ease-out;
	width: 100%;
	z-index: 2;
}

.wivr-bar-inner {
	box-sizing: border-box;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex: 1;
	height: 100%;
	margin: 0 auto;
	max-width: 1140px;
}

.wivr-top-bar {
	border-bottom: 1px solid #c5c5c5;
	top: 0;
}

.wivr-footer-bar {
	border-top: 1px solid #c5c5c5;
	bottom: 0;
}

.wivr-footer-bar .wivr-bar-left {
	align-content: center;
	align-items: center;
}

.wivr-bar-left {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	padding-left: 5px;
	justify-content: flex-start;
}

.wivr-bar-center {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex: 2;
	justify-content: center;
}

.wivr-bar-right {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex: 1;
	padding-right: 5px;
	justify-content: flex-end;
}

.wivr-title {
	height: 1.4em;
	line-height: 1.4em;
	overflow: hidden;
	padding-left: 10px;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

/* menu bar buttons */

.wivr-btn-icon {
	align-items: center;
	color: #575757;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	text-decoration: none;
	width: 2.6rem;
}

.wivr-btn-page-overview .material-icons {
	font-size: 30px;
}

.wivr-btn {
	align-items: center;
	background-color: rgba(255, 255, 255, 0.96);
	border-radius: 50%;
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
	color: #575757;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 20px;
	height: 40px;
	justify-content: center;
	position: absolute;
	text-align: center;
	left: 10px;
	text-decoration: none;
	top: 10px;
	width: 40px;
	z-index: 1;
}

.wivr-btn.wivr-btn-bookmark {
	top: auto;
	bottom: 10px;
	left: 50%;
	margin-left: -20px;
	z-index: 1;
}

/* popup menu */

#wivr-menu {
	display: none;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 3px;
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
	margin-right: 0.3rem;
	margin-top: 0.3rem;
	min-width: 240px;
	padding: 0.5em 1em 0.5em 0;
	position: absolute;
	right: 0;
	top: 0;
}

.wivr-bar-visible #wivr-menu {
	top: 3.8rem;
}

.wivr-menu-item {
	align-items: center;
	color: #575757;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: flex-start;
	padding: 1em 1em;
	text-decoration: none;
}

.wivr-menu-item > .material-icons {
	margin-right: 8px;
}

/* page overview */

#wivr-page-overview {
	box-sizing: border-box;
	bottom: 0;
	display: none;
	max-width: 240px;
	overflow-x: visible;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding-left: 16px;
	position: absolute;
	right: 0;
	top: 0;
	width: 28vh;
	z-index: 1;
}

.wivr-bar-visible #wivr-page-overview {
	bottom: 3.8rem;
	top: 3.8rem;
}

#wivr-po-container {
	background-color: rgba(230, 230, 230, 0.95);
	border-left: 1px solid #c5c5c5;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	opacity: 0.001;
	overflow: visible;
	padding: 14px;
	position: relative;
	transition: opacity 300ms ease-in-out;
	width: auto;
}

.wivr-po-page {
	display: block;
	margin: 0 auto 14px auto;
	overflow: visible;
	position: relative;
	width: 100%;
}

.wivr-po-img {
	bottom: 0;
	display: block;
	left: 0;
	margin: auto;
	max-height: 100%;
	max-width: 100%;
	position: absolute;
	right: 0;
	top: 0;
}

.wivr-po-number {
	align-items: center;
	background-color: rgba(87, 87, 87, 0.8);
	border: 2px solid #ccc;
	border-radius: 50%;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 16px;
	height: 32px;
	justify-content: center;
	left: -25px;
	margin-top: -16px;
	position: absolute;
	text-align: center;
	top: 50%;
	width: 32px;
	z-index: 1;
}

/* related brochures */

.wivr-related-view {
	bottom: 0;
	box-sizing: border-box;
	left: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	position: absolute;
	right: 0;
	top: 0;
	touch-action: pan-y;
}

.wivr-related-brochures {
	bottom: 0;
	box-sizing: border-box;
	left: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 4rem 20px 20px 20px;
	position: absolute;
	right: 0;
	top: 0;
	touch-action: pan-y;
}

.wivr-related-condensed {
	top: 3.8rem;
}

.wivr-related-header {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 3.8rem;
	font-size: 1.2em;
	text-align: center;
}

.wivr-related-title {
	align-items: center;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* brochure grid */

.wivr-brochure-grid {
	box-sizing: border-box;
	display: grid;
	grid-gap: 30px 4%;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	margin: 0 auto;
	max-width: 1000px;
	position: relative;
	padding: 5px 4% 20px 4%;
}

.wivr-brochure-grid-item {
	display: block;
	float: left;
	box-sizing: border-box;
	margin: 0 20px 30px 0;
	position: relative;
	text-decoration: none;
	width: 160px;
}

@supports (display: grid) {
	.wivr-brochure-grid-item {
		margin: 0;
		min-width: 100%;
		width: auto;
	}
}

.wivr-bgi-cover {
	box-sizing: border-box;
	overflow: hidden;
	padding-top: 100%;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
}

.wivr-bgi-cover-image {
	display: block;
	left: 0;
	margin: 0 auto;
	max-width: 100%;
	max-height: 100%;
	opacity: 0.5;
	position: absolute;
	top: 0;
}

.wivr-bgi-title, .wivr-bgi-subtitle {
	color: #575757;
	overflow: hidden;
	text-decoration: none;
	text-overflow: ellipsis;
	user-select: none;
	white-space: nowrap;
}

.wivr-bgi-title {
	font-weight: bold;
	padding: 0.5em 0.1em 0 0.1em;
	position: relative;
}

.wivr-bgi-subtitle {
	font-size: 0.85em;
	padding: 0.5em 0.1em 0 0.1em;
	position: relative;
}

@media screen and (max-width: 479px) {
	.wivr-brochure-grid {
		grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));

	}
}

/* lazyload */

.no-src.lazyload,
.no-src.lazyloading {
	opacity: 0;
}

.no-src.lazyloaded {
	opacity: 1;
}

/* media queries */

@media screen and (min-width: 460px) {
	.wivr-btn-page-overview .material-icons {
		font-size: 34px;
	}
}

/* loader */

.wivr-loader {
	-webkit-animation: typing 1s linear infinite alternate;
	-moz-animation: Typing 1s linear infinite alternate;
	animation: typing 1s linear infinite alternate;
	border-radius: 50%;
	display: block;
	height: 6px;
	left: 50%;
	margin-left: -15px;
	margin-top: -3px;
	position: absolute;
	top: 50%;
	width: 6px;
	z-index: 1;
}

@-webkit-keyframes typing {
	0% {
		background-color: rgba(85, 85, 85, 1);
		box-shadow: 12px 0 0 0 rgba(85, 85, 85, 0.2),
		24px 0 0 0 rgba(85, 85, 85, 0.2);
	}
	25% {
		background-color: rgba(85, 85, 85, 0.4);
		box-shadow: 12px 0 0 0 rgba(85, 85, 85, 2),
		24px 0 0 0 rgba(85, 85, 85, 0.2);
	}
	75% {
		background-color: rgba(85, 85, 85, 0.4);
		box-shadow: 12px 0 0 0 rgba(85, 85, 85, 0.2),
		24px 0 0 0 rgba(85, 85, 85, 1);
	}
}

@-moz-keyframes typing {
	0% {
		background-color: rgba(85, 85, 85, 1);
		box-shadow: 12px 0 0 0 rgba(85, 85, 85, 0.2),
		24px 0 0 0 rgba(85, 85, 85, 0.2);
	}
	25% {
		background-color: rgba(85, 85, 85, 0.4);
		box-shadow: 12px 0 0 0 rgba(85, 85, 85, 2),
		24px 0 0 0 rgba(85, 85, 85, 0.2);
	}
	75% {
		background-color: rgba(85, 85, 85, 0.4);
		box-shadow: 12px 0 0 0 rgba(85, 85, 85, 0.2),
		24px 0 0 0 rgba(85, 85, 85, 1);
	}
}

@keyframes typing {
	0% {
		background-color: rgba(85, 85, 85, 1);
		box-shadow: 12px 0 0 0 rgba(85, 85, 85, 0.2),
		24px 0 0 0 rgba(85, 85, 85, 0.2);
	}
	25% {
		background-color: rgba(85, 85, 85, 0.4);
		box-shadow: 12px 0 0 0 rgba(85, 85, 85, 2),
		24px 0 0 0 rgba(85, 85, 85, 0.2);
	}
	75% {
		background-color: rgba(85, 85, 85, 0.4);
		box-shadow: 12px 0 0 0 rgba(85, 85, 85, 0.2),
		24px 0 0 0 rgba(85, 85, 85, 1);
	}
}