@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root {
	--top-tools-height: 30px;
}

html,
body {
	position: relative;
	height: 100%;
	font-size: 16px;
}

html {
	/* background-color: #222; */
}
body {

	background: transparent;
	color: #fff;
	font-family: sans-serif;
	margin: 0;
	padding: 0;

	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.container {
	position: relative;
}


/* --------  CONTROLLERS   ------- */

.controllers {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.controllers button {
	width: 48px;
	height: 48px;
	background-color: transparent;
	background-position: center;
	background-repeat: no-repeat;
	border: 0;
	outline: 0;
	cursor: pointer;
}

.controllers .logo {
	display: inline-block;
	padding: 0;
	color: #fff;
	text-decoration: none;
}

.hidelogo .controllers .logo {
	display: none;
}


.controllers .interactive {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 5px;
}


.controllers button span {
	display: none;
	font-size: 1rem;
}

.controllers .sound-toggle {
  background-image: url(../images/sound.svg) !important;
  background-size: auto 24px;
}

body[class*="no-noise"] .sound-toggle {
  display: none;
}

html.has-bg-audio .sound-toggle {
  display: inline-block;
}

/* .controllers .sound-toggle.mute { */
body.sound-muted .controllers .sound-toggle {
	background-image: url(../images/mute.svg) !important;
}

.controllers .share {
	background-image: url(../images/share.svg) !important;
}

.controllers .icons {
  --icon-size: 38px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}
.controllers .icons > * {
  display: block;
  width: 0;
  height: var(--icon-size);
  object-fit: contain;

  opacity: 0;
  transition: opacity .15s ease-out;
}
.controllers .icons > *.visible {
  width: var(--icon-size);
  opacity: 1;
}

.controllers .icons:empty {
  display: none;
}


/* --------  CLASS / TEMPLATE   ------- */

.align-top {}

.align-middle {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.align-bottom {
	-webkit-box-align: flex-end;
	-ms-flex-align: flex-end;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}

.align-center {
	text-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.align-right {
	text-align: right;
	/* margin-left: auto; */
}

/* ---- webStoryPage .OVERLAY ---- */

.overlay .page-background:not(.bg-mask-hidden)::after {
	content: "";
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .75);
}


/* ---------  SHARE  ---------- */

#shareBox {
	position: absolute;
	z-index: 9;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, .8);
	display: none;
}

#shareBox .share-wrapper {
	background: #fff;
	padding: 1em 2em;
	position: relative;
}

#shareBox .box-close {
	position: absolute;
	padding: 0.5em 1em;
	top: 0;
	right: 0;
	cursor: pointer;
	color: #999;
	background-color: transparent;
	border: 0;
	outline: 0;
}
#shareBox .box-close:hover {
	color: #000;
}
#shareBox .box-close::before {
    content: "\2716";
    font-size: 1.5em;
}
#shareBox .box-close span {
	display: none;
}

#shareBox .share-media ul{
	display: flex;
	flex-direction: row;
	list-style-type: none;
	padding: 0;
}

#shareBox .share-media li{
	text-align: center;
	padding: 1.2em;
}

#shareBox .share-media li > span{
	color: #000;
	display: block;
	text-transform: uppercase;
	font-size: .7em;
	margin-top: .75em
}

#shareBox.show {
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 720px) {

	#shareBox .share-media ul{
		flex-direction: column;
	}
}

/* BACKGROUND */

.page-background > audio {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;

  visibility: hidden;
  opacity: 0;
}

/* CONTENT */

.webStoryPage .page-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.webStoryPage .page-content .page-icon {
  display: none;
}

.webStoryPage .page-text-wrap {
  position: relative;
}

.webStoryPage .page-text-wrap > .text-bg {
  position: absolute !important;
  /* top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important; */
/* inset: 0 0 0 0 !important; */
}
.webStoryPage .page-text-wrap > .text-bg *{
  color: transparent !important;

  --bg-size: 0.125em;
  --bg-color: transparent;

  background-color: var(--bg-color);
  box-shadow: 
    var(--bg-size) 0 0 var(--bg-size) var(--bg-color), 
    calc(var(--bg-size) * -1) 0 0 var(--bg-size) var(--bg-color);
  
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.webStoryPage .page-text-wrap > .text-content {
  position: relative;
}
.webStoryPage .page-text-wrap > .text-content *{
  --bg-color: transparent !important;
  background-color: transparent !important;
}

.webStoryPage .page-text > *:first-child {
  margin-top: 0;
}
.webStoryPage .page-text > *:last-child {
  margin-bottom: 0;
}

/* SHORTCUTS */

.webStoryPage .page-link,
.webStoryPage .page-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.webStoryPage.align-left .page-link,
.webStoryPage.align-left .page-shortcuts {
  justify-content: flex-start;
}

.webStoryPage.align-center .page-link,
.webStoryPage.align-center .page-shortcuts {
  justify-content: center;
}

.webStoryPage.align-right .page-link,
.webStoryPage.align-right .page-shortcuts {
  justify-content: flex-end;
}

/* YT VIDEO */

.webStoryPage .page-background .player-mask {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  cursor: pointer;
}

/* PAGE DESCRIPTION */

.webStoryPage .page-description {
  --pd-icon-size: 1.5em;

	position: absolute;
	bottom: 2%; right: 2%;
  max-width: 70%;

	z-index: 999;
}

.webStoryPage .page-description-toggle {
  position: absolute;
  right: 0; bottom: 0;

  display: block;
  width: var(--pd-icon-size);
  height: var(--pd-icon-size);

  font-size: inherit;
  appearance: none;
  padding: 0;
  border: none;

  background-color: transparent;
  background-image: url('../images/info.svg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;

  cursor: pointer;

  z-index: 1;
}

.webStoryPage .page-description-content {
  --pd-padd-x: 1em;
  padding: 1em calc(var(--pd-padd-x) + var(--pd-icon-size)) 1em var(--pd-padd-x);

  font-size: .8em;
	line-height: 1.6em;
	font-weight: 500;

  background-color: rgba(0, 0, 0, .75);
	color: #fff;
  
  border-radius: 1px;
  box-shadow: 0 0 0 5px rgba(0, 0, 0, .75);

  transform: translateX(100vw);
  opacity: 0;
  transition: opacity .15s ease-out, transform 0s linear .15s;
}

.webStoryPage:focus-within .page-description-content ,
.webStoryPage .page-description-toggle:hover + .page-description-content ,
.webStoryPage .page-description-content:hover {
  transform: none;
  opacity: 1;
  
  transition: opacity .15s ease-out;
}

.webStoryPage .page-description .webstory-url {
	padding: .25em 1em;
    border: 1px solid var(--btn-color);
    border-radius: 999px;
    color: var(--btn-color);
    text-decoration: none;
    transition: all .15s ease-out;
    margin-top: .75em;
    display: inline-block;
}
.webStoryPage .page-description .webstory-url:hover {
  background-color: var(--btn-color);
  color: var(--text-color);
}

.webStoryPage.align-left .page-description {
  right: unset;
  left: 2%;
}
.webStoryPage.align-left .page-description-toggle {
  right: unset;
  left: 0;
  filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 1)) drop-shadow(0px 0px 2px rgba(0, 0, 0, 0));
}
.webStoryPage.align-left .page-description-content {
  padding: 1em var(--pd-padd-x) 1em calc(var(--pd-padd-x) + var(--pd-icon-size));
}