/*-------------- MAIN INTERFACE*/

body {
	background: rgb(0, 0, 0);
	font-family: 'Arial', serif;
	font-weight: bold;
	letter-spacing: 1.2px;
}

a{
	color: black;
	font-style: italic;
	text-decoration: underline; 
	cursor: pointer;
	pointer-events: auto;
}
a:hover{
	background-color: #000;
	color: white;
	text-decoration: underline; 
}

#headlines{
	position: relative;
	z-index: 10;
	color: white;
	text-align: center;
	
}
.navText a{
	background-color: #000;
	color: white;
	font-style: italic;
	padding: 10px;
	text-decoration: underline overline; /*underline overline*/
	font-size: 30px;
}
#topHeadline{
	position: fixed;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
}

#topHeadline span{
	white-space: normal;
}

#leftContainer{
	position: fixed;
	top: 50%;
	left: 40px;
	transform: translateX(-50%) translateY(-50%) rotate(-90deg);
	-webkit-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
}
#rightContainer{
	position: fixed;
	top: 50%;
	left: calc(100% - 40px);
	transform: translateX(-50%) translateY(-50%) rotate(90deg);
	-webkit-transform: translateX(-50%) translateY(-50%) rotate(90deg);
}
#bottomContainer{
	position: fixed;
	top: calc(100% - 40px);
	left: 50%;
	transform: translateX(-50%) translateY(-50%) rotate(180deg);
	-webkit-transform: translateX(-50%) translateY(-50%) rotate(180deg);
}
.navText a:hover {
	color: black;
	background-color: #fff;
	padding: 5px;
	cursor: pointer;
}

.selected a{
	color: black;
	background-color: #fff;
	padding: 5px;
	cursor: pointer;
}

.analysisSelected a{
	color: black;
	background-color: #fff;
	padding: 5px;
	cursor: pointer;
}

#loadingContainer {
	display: flex;
  justify-content: center;
}

#loadingAnimation {
	z-index: 100;
	position:  fixed;
	height: 30%;
	top: 35%;
	max-height: 400px;
}

/*-------------- Tool Tip */


.tip span {
    display: none
}
@media (hover: hover) {
	.tip:hover span {
	    padding: 5px;
	    display: block;
	    z-index: 100;
	    background-color: white;
	    color: black;
	    font-size: 10px;
			text-decoration: none;
	    position: absolute;
	}

	#rightContainer.tip:hover {
		right:  40px;
		position: fixed;
	}
}


/*-------------- VISUALIZATION*/


#vis {
	top: 0px;
	left: 0px;
	margin: 0px;
	position: fixed;
	min-width: 100%;
	min-height: 100%;
	display: flex;   
	justify-content: center;
	z-index: 0;
}

#vis svg{
	position: absolute;
	min-width: 100%;
	min-height: 100%;
}

.hoverPaths:hover {
	stroke: rgba(255,255,255,1);
	mix-blend-mode: difference;
}
#tweetContainer {
	position: fixed;
	top: 100px;
	left: 100px;
	width: calc(100% - 200px);
	max-height: calc(100% - 200px);
	max-width: 600px;
	z-index: 2;
	pointer-events: none;
	padding: 10px;
	overflow-y: auto;
}

#tweetContainer text {
	font-family: 'Arial', serif;
	font-weight: bold;
	font-style: italic;
	background-color: #fff;
	color: black;
	font-size: 15px;
	letter-spacing: 1.2px;
	padding: 5px;
	line-height: 2.4;
	text-align: center;
	pointer-events: all;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
#tweetContainerClose {
	position: fixed;
	top: 90px;
	left: 90px;
	width: 20px;
	height: 20px;
	background-color: black;
	color: white;
	font-size: 20px;
	z-index: 2;
	text-align: center;
	vertical-align: middle;
	line-height: 20px; 
	cursor: pointer;
	display:  none;
}
#tweetContainerClose:hover{
	color: black;
	background-color: white;
}


/*Textual Additions-----------*/

.overlayBG {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.3);
	z-index: 5;
	cursor: alias;
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.overlayText{
	padding: 95px;
	max-width: 600px;
	overflow-y: auto;
	overflow-x: hidden;
}

 /* Hide scrollbar for Chrome, Safari and Opera */
.overlayText::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.overlayText {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

.overlayText text {
	background-color: #fff;
	color: black;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: 1.2px;
	padding: 5px;
	line-height: 2.2;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.overlayText b{
	background-color: #000;
	color: white;
	font-size: 20px;
	font-weight: bold;
	font-style: italic;
	letter-spacing: 1.2px;
	padding: 10px;
	margin: -5px;
	line-height: 2.2;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

#aboutText{
	display: none;
}
#infoText{
	display: none;
}
#visText{
	display: none;
	background-color: rgba(0,0,0,1);
}

/*-------------- Project Layout*/


#projectLayout{
	flex: 1200px 0 1;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr 1fr;
	width: 100%;
	margin-top: 75px;
	margin-bottom: 75px;
	margin-left: 75px;
	margin-right: 75px;
	padding: 20px;
}
.card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
	width: 100%;
	max-width: 1200px;
	max-height: 628px;
	transition: all 500ms;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 0;
	margin: 0;
	cursor: pointer;
}
.card a{
	font-size: 20px;
	white-space: nowrap;
}
.card:hover > .navText a{
	text-decoration: none;
	color: black;
	background-color: #fff;
	padding: 5px;
	cursor: pointer;
}

/*-------------- ANALYSIS*/
/*-------------- ANALYSIS*/
/*-------------- ANALYSIS*/
/*-------------- ANALYSIS*/

#analysisText {
    width: 100%;
    height: 100%;
    z-index: 2;
    display: none;
    position: relative;
    margin: auto;
}

#analysisSvg {
	top: 0px;
	left: 0px;
	margin: 0px;
	position: fixed;
}

#analysisCanvas {
	top: 0px;
	left: 0px;
	margin: 0px;
	position: fixed;
}

.analysisiContainer {
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	position: absolute;
	z-index: 2;
	pointer-events: none;
}
.analysisiContainer text {
	background-color: #fff;
	color: black;
	font-size: 13px;
	padding: 5px;
	line-height: 2.2;
	font-weight: bold;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.stories {
	/*height: 150%;*/
	max-width: calc(50% - 70px);
	display: block;
	padding-left: 70px;
	padding-top: 25%;
	padding-bottom: 75%;
	/*pointer-events: none;*/
	margin-right: 2px;
}

#tweetText{
	position: fixed;
	right: 90px;
	top: 20%;
	max-width: calc(50% - 90px);
	padding: 5px;
	margin-left: 2px;
	text-align: right;
}

#tweetText text{
	background-color: #fff;
	font-size: 13px;
	font-weight: bold;
	line-height: 2.2;
	padding: 5px;
	/*margin: 0px;*/
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

#analysisTweetContainerClose {
	position: fixed;
	top: calc(20% - 16px);
	right: 74px;
	width: 20px;
	height: 20px;
	background-color: black;
	color: white;
	font-size: 20px;
	z-index: 2;
	text-align: center;
	vertical-align: middle;
	line-height: 20px; 
	cursor: pointer;
	display:  none;
}
#analysisTweetContainerClose:hover{
	color: black;
	background-color: white;
}



/*-------------- Analysis scroll animation*/
/*-------------- Analysis scroll animation*/
/*-------------- Analysis scroll animation*/
/*-------------- Analysis scroll animation*/


[data-ca3_icon]::before {
    font-weight: normal;
    content: attr(data-ca3_icon);
}

.ca3-scroll-down-arrow {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2hldnJvbl90aGluX2Rvd24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiBmaWxsPSJ3aGl0ZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTE3LjQxOCw2LjEwOWMwLjI3Mi0wLjI2OCwwLjcwOS0wLjI2OCwwLjk3OSwwYzAuMjcsMC4yNjgsMC4yNzEsMC43MDEsMCwwLjk2OWwtNy45MDgsNy44M2MtMC4yNywwLjI2OC0wLjcwNywwLjI2OC0wLjk3OSwwbC03LjkwOC03LjgzYy0wLjI3LTAuMjY4LTAuMjctMC43MDEsMC0wLjk2OWMwLjI3MS0wLjI2OCwwLjcwOS0wLjI2OCwwLjk3OSwwTDEwLDEzLjI1TDE3LjQxOCw2LjEwOXoiLz48L3N2Zz4=);
  background-size: contain;
  background-repeat: no-repeat;
}

.ca3-scroll-down-link {
	left: 25%;
	cursor:pointer;
	height: 30px;
	width: 30px;
	margin: 75px 0 0 -40px;
	line-height: 30px;
	position: absolute;
	color: #FFF;
	text-align: center;
	font-size: 70px;
	z-index: 100;
	text-decoration: none;
	text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.4);

	-webkit-animation: ca3_fade_move_down 2s ease-in-out infinite;
	-moz-animation:    ca3_fade_move_down 2s ease-in-out infinite;
	animation:         ca3_fade_move_down 2s ease-in-out infinite;
}


/*animated scroll arrow animation*/
@-webkit-keyframes ca3_fade_move_down {
  0%   { -webkit-transform:translate(0,-20px); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { -webkit-transform:translate(0,20px); opacity: 0; }
}
@-moz-keyframes ca3_fade_move_down {
  0%   { -moz-transform:translate(0,-20px); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { -moz-transform:translate(0,20px); opacity: 0; }
}
@keyframes ca3_fade_move_down {
  0%   { transform:translate(0,-20px); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { transform:translate(0,20px); opacity: 0; }
}



/*-------------- Media Scaling*/
/*-------------- Media Scaling*/
/*-------------- Media Scaling*/
/*-------------- Media Scaling*/


@media only screen and (max-width: 700px) {
	.analysisiContainer text{
		font-size: 9px;
	}
	#tweetText text{
		font-size: 10px;
	}
	h1.navText a{
		font-size: 25px;
	}
	h2.navText a{
		font-size: 25px;
	}
	h4.navText a{
		font-size: 15px;
	}

	.card a{
		font-size: 10px;
	}
	#projectLayout{
		grid-template-columns: 1fr;
	}
}

/*-------------- ANIMATIONS*/
/*-------------- ANIMATIONS*/
/*-------------- ANIMATIONS*/
/*-------------- ANIMATIONS*/

.fade-in {
  animation: fadeIn ease 1s;
  -webkit-animation: fadeIn ease 1s;
  -moz-animation: fadeIn ease 1s;
  -o-animation: fadeIn ease 1s;
  -ms-animation: fadeIn ease 1s;
}@keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-moz-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-o-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-ms-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
}
