@font-face {
	font-family: "Open Sans semibold";
	src: url(../media/fonts/OpenSans-SemiBold.ttf) format('truetype');
}

@font-face {
	font-family: "Open Sans regular";
	src: url(../media/fonts/OpenSans-Regular.ttf) format('truetype');
}

:root {
	--background-color: black;
	--text-color: white;
	--text-size: 20.36px;
	--heading-size:29.1px;
}

* {
	font-family: "Open Sans regular", sans-serif;
	align-items: center;
	text-align: left;
	border: none;
	text-decoration: none;
	user-select: none;
	color: white;
}

html::-webkit-scrollbar-track{
	border-radius: 5px;
	background-color: #60605C;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
}

html::-webkit-scrollbar
{
	width: 8px;
	background-color: #F5F5F5;
}

html::-webkit-scrollbar-thumb
{
	border-radius: 10px;
	background-color: #BC147E;
}

body {
	background-color: black;
	padding-bottom: 250px;
	overflow-x: hidden
}

.noOverflow{
	overflow: hidden;
}

.general {
	display: flex;
	flex-direction: column;
}

.text {
	font-size: var(--text-size);
}

p {
	font-size: var(--text-size);
	margin-top: 5vh;
}

.container {
	display: flex;
}

.green_box {
	color: black !important;
	background-color: #2fff3d !important;
	border: 1vh solid #2fff3d !important;
}

.green_box:hover {
	color: black !important;
	border: 1vh solid #00ff88 !important;
	box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
}

.disabled_class {
	cursor: not-allowed;
	background-color: #b30003 !important;
	width: 20vw;
	color: black;
	border: 1vh solid #b30003 !important;
	border-radius: 2vh;
	font-size: min(2vw, 2vh);
}

.disabled_class:hover {
	background-color: white;
	color: black !important;
	border: 1vh solid #b30003 !important;
	transition: 0.5s;
	box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
}

.reasonable_box {
	background-color: #003366;
	width: 330px;
	color: white;
	border: 1vh solid #003366;
	border-radius: 2vh;
	font-size: min(2vw, 2vh);
}

.reasonable_box:hover {
	background-color: white;
	color: #BC147E;
	border: 1vh solid #003366;
	transition: 0.5s;
	box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
}

.box {
	background-color: #BC147E;
	width: 307px;
	height: 64px;
	font-family :"Open Sans semibold" !important;
	font-size: 1.6vh;
	color: var(--text-color);
	border-radius: 14px;
	bottom: 0%;
	text-align: center;
}

.inverted {
	background-color: #D9D9D9;
	color: black;
}

#box-wide {
	width: 50%;
	position: absolute;
	top: 50%;
	left: auto;
	right: auto;
	margin: 0;
}

#auswertung_anzeigen {
	width: 500px;
	position: absolute; /* Setzt das Element in Bezug auf den nächsten positionierten Vorfahren */
	top: 50%; /* Zentriert das Element vertikal */
	left: 50%; /* Zentriert das Element horizontal */
	transform: translate(-50%, -50%); /* Verschiebt das Element um die Hälfte seiner Breite und Höhe */
}

#test_images {
	position: relative;
	top: 2vw;
	width: 80vw;
	font-size: 1vh;
}

#visualization {
	display: contents;
	position: absolute;
	top: 70px;
	width: 80%;
	min-width: 1200px;
}

#yourself {
	width: 500px;
	position: absolute;
	left: 711px;
	top: 691px;
}

.matrix_text {
	text-align: left;
	font-size: 2.5vh;
	position: absolute;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	top: 35%;
	margin-top: 0;
}

red {
	font-size: 2.5vh;
	background-color: #BC147E;
}

green {
	font-size: 2.5vh;
	background-color: #287185;
	color: white;
}

#matrix_text {
	text-align: center;
	top: 60%;
	left: 50%;
}

#matrix_text_apfel {
	left: 20%;
	width: 30%;
}

#matrix_text_orange {
	left: 50%;
	width: 30%;
}

#matrix_text_banane {
	left: 80%;
	width: 30%;
}

#tryit {
	font-size: var(--text-size);
	
	width: 307px;;
	position: absolute;
	left: 66px;
	margin: 0;
	bottom: 66px;
}

.TRANSLATEME_try_it{
	font-family: "Open Sans semibold";
}

.font_bold{
	font-family: "Open Sans semibold";
}
.rectangle {
	width: 85vw;
	height: 70vh;
	margin-top: 5vh;
	background: #D9D9D9;
}

.float-container {
	float: left;
}

.float-child {
	float: left;
	padding-right: 2vw;
}

.optimizer_no_show {
	visibility: hidden;
}

#plotly_history {
	display: flex;
	width: 150%;
	flex-wrap: wrap;
}

#plotly_batch_history {
	float:left;
	height: 450px;
	width: 400px;
}
#plotly_time_per_batch {
	float:left;
	height: 450px;
	width: 400px;
}
#plotly_epoch_history {
	float:left;
	height: 450px;
	width: 400px;
}

.stop_start_webcam_button {
	display: none;
}

#webcam_prediction {
	position: absolute;
	left: 66px;
	width: 316px;
	top: 350px
}

#webcam_prediction_results {
	position: absolute;
    right: 59px;
    width: 257px;
    top: 50%;
    transform: translate(0, -50%);
}

#show_internals_slider {
	display: none;
}

progress {
	width: 500px;
	appearance: none;
}

progress::-webkit-progress-value {
	background: linear-gradient(135deg, rgb(86, 9, 58) 0%, rgb(188, 20, 126) 100%);
	inset: 0 110% 0 0;
	border-radius: 14px;
}

progress::-webkit-progress-bar {
	background: linear-gradient(135deg, #343434 0%, #60605c 100%);
	box-shadow: inset 0 0 6px rgba(0,0,0,0.25);
	border-radius: 14px;
}

.flex_box {
	display: flex;
	flex-wrap: nowrap;
}

.largeimg {
	width: 100%;
	object-fit: cover;
}

.pic {
	position: absolute;
	right: 0;
	top: -91px;
	width: 1098px;
	height: 565px;
}

.video-container {
	position: absolute;
	right: -56px;
	top: 23px;
	width: 1108px;
	height: 581px;
}

.start {
	position: absolute;
	overflow: hidden;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	left: 50%;
	top: 50%;
	height: 100vh;
	width: 100vw;
	background: black;
}

video {
	max-height: 100%;
	max-width: 100%;
	object-fit: cover;
}

#plotly_time_per_batch { display: none; }
#plotly_batch_history { display: none; }
#plotly_epoch_history { display: none; }

#__fcnn_canvas {
	position: fixed;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	left: 960px;
	top: 565px;
}

#text_training {
	font-family: "Open Sans regular", sans-serif;
	font-size: var(--text-size);
	width: 1200px;
	margin-top: 50px;
	margin-left: auto;
	margin-right: auto;
}

#progress-text {
	margin-top: 64px;
	color: white;
	font-family: "Open Sans semibold";
}

#explanation {
	font-size: min(2vh, 2vw);
	text-align: left;
	position: relative;
	width: 30vw;
	left: 50%;
}

.halfvideo {
	max-width: 75% !important;
}

.smaller {
	margin: 0 !important;
	padding: 0 !important;

	font-size: unset !important;
}

#auswertung {
	display: none;
}

#auswertung_element {
	margin: 200px;
	margin-bottom: 22px;
	font-size: var(--text-size);
}

#auswertung_element td{
	padding-left: 20px;
    padding-right: 20px;
    line-height: 1.4;
}

.tab {
	position: absolute;
	left: 66px;
	top: 288px;
	width: 1490px;
}

.startpage_tab {
	left: auto !important;
	right: auto !important;
}

.halftext {
	width: 330px;
}

.simple-keyboard {
	position: fixed;
	bottom: 0px;
	z-index: 9;
}

#analysis {
	margin-left: 200px;
	margin-right: 200px;
	margin-top: 100px;
}

.thumbnail_container {
	min-height: 50px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 12px;
	font-size: 0;
}

.thumbnail_container img {
	max-width: 100%; /* Ensures images don't exceed their container */
	height: auto; /* Maintains aspect ratio */
	width: 18.4%;
	border-radius: 14px;
}

.custom_images_category {
	width: 100%;
	border: 1px dashed #ffffff;
	border-radius: 14px;
	margin-bottom: 5px;
}
.class_ui{
	display: flex;
	justify-content: flex-start; 
}

.custom_img_error{
	width: 200px;
	margin: 0;
}

.delete_image_x {
	left: -41px;
	position: relative;
	top: 52px;
	width: 1px;
	height: 1px;
	background: url(../media/images/trash-Button.svg);
	background-size: contain;
	transform: scale(30);
}

#custom_images_table {
	padding-top: 140px;
}

#custom_images_ui{
	width: 30%;
	position: fixed;
	padding-left: 20px;

}
#custom_images_gallery{
	width: 70%;
	float: right;
	padding-right: 8px;
}
#custom_images_cat{
	position: fixed;
	left: 66px;
	bottom: 180px;
}
#start_custom_training{
	position: fixed;
	left: 66px;
	bottom: 85px;
}

.delete_single_image_button{
	width: 64px !important;
	height: 64px;
	position: relative;
	background:url(../media/images/trash-Button.svg);
	background-repeat: no-repeat;
	background-size: 40px 40px;
	background-position: center;
}

.take_image {
	width: 64px !important;
	height: 64px;
	position: relative;
	background:url(../media/images/AddPhoto-Button.svg);
	background-repeat: no-repeat;
	background-size: 40px 40px;
	background-position: center;
}

.category_name{
	width: 75%;
	color: white;
	background-color: #000000;
	font-size: 1.6vh;
}

.asanai_logo {
	position: fixed;
	top: 10px;
	left: 66px;
	width:80px;
	color: white;
	font-size: var(--heading-size);
	font-family: "Open Sans semibold";
}

.asanai_img{
	width:100%;
	object-fit: contain;
}

.button {
	width:33px;
	height:33px;
	/*background:#BC147E;*/
	background:#BC147E;
	border-radius: 9.5px;
	position: absolute;
}

.invertedBg {
	background:var(--r-heading-color);
}

.button-header{
	position: fixed;
	width: 70%;
	right: 0;
	top:0;
	height:64px;
	background-color: black;
	box-shadow: 0px 0px 14px 0px #000000;
}

.b_topRight {
	position: fixed;
	top: 24px;
	right: 18px;
	z-index:3;
}

.b_topRight2 {
	position: fixed;
	top: 24px;
	right: 64px;
}

.b_topLeft {
	top: 24px;
	left: 18px;
}

.b_info {
	background:url(../media/images/info.svg);
	background-repeat: no-repeat;
	background-size: 20px 20px;
	width: 100%;
	height: 100%;
	display: inline-block;
	background-position: center;
}

.language_en {
	background:url(../media/images/Language-EN_white.svg);
	background-repeat: no-repeat;
	background-size: 20px 20px;
	width: 100%;
	height: 100%;
	display: inline-block;
	background-position: center;
}

.language_de {
	background:url(../media/images/Language-DE_white.svg);
	background-repeat: no-repeat;
	background-size: 20px 20px;
	width: 100%;
	height: 100%;
	display: inline-block;
	background-position: center;
}

.close {
	float: right;
	background:url(../media/images/exit.svg);
	background-repeat: no-repeat;
	background-size: 20px 20px;
	width: 100%;
	height: 100%;
	display: inline-block;
	background-position: center;

}

.info-box {
	position: absolute;
	width: 220px;
	font-size: 1.4vh;
}

#cam_text {
	left: 100px;
	top:200px;
}

#explanation_input {
	left:123px;
	top: 615px;
}

#explanation_filter {
	left: 123px;
	top: 794px;
}

#explanation_kernel {
	right:82px;
	top: 794px;
}

#explanation_classification {
	right:82px;
	top: 615px;
}

.connectionLine {
	position: absolute;
	border: 1px solid #BC147E;
	border-top: none;
	top: 730px;
	height: 15px;
}

#line_exp_input {
	left: 356px;
	width: 101px;
	border-left: none;
}

#line_exp_filter {
	left: 356px;
	width: 353px;
	top: 597px;
	height: 297px;
	border-left: none;
}

#line_exp_kernel {
	right: 334px;
	width: 624px;
	top: 620px;
	height: 257px;
	border-right: none;
}

#line_exp_classification{
	right: 334px;
	width: 124px;
	top: 514px;
	height: 198px;
	border-right: none;
}

#webcam_preview_video{
	width: 25vw;
	border-radius: 14px;
}

.spinner {
	border: 8px solid #f3f3f3;
	border-top: 8px solid #3498db;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	animation: spin 1s linear infinite;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Hidden class */
.hidden {
	display: none;
}

/* Spinner animation */
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.container_center {
	display: flex;
	justify-content: center; /* Zentriert die Boxen horizontal */
	align-items: center;     /* Zentriert die Boxen vertikal */
	gap: 120px;               /* Abstand zwischen den Boxen */
}

#box1, #box2, #box3 {
	flex: 1;                /* Jede Box nimmt gleichmäßig verfügbaren Platz ein */
	min-width: 100px;       /* Minimale Breite der Boxen */
	max-width: 300px;       /* Maximale Breite der Boxen */
	padding: 20px;          /* Abstand innerhalb der Boxen */
	border: 1px solid #000; /* Optional: Rahmen zur Sichtbarkeit */
	box-sizing: border-box; /* Verhindert, dass Padding die Gesamtbreite beeinflusst */
}

.main_content {
	top: 100px;
	position: relative;
	height: 80vh;
}

#canvas_grid_visualization {
	text-align: center;
}

button {
	z-index: 99999999999999;
}
