@font-face {
  font-family: 'SBfont';
  src: local('Roboto Black'), 
	   url('roboto-black-webfont.woff2') format('woff2');
  font-weight: 900;
}

* {
	font-family: SBfont;
	font-size: 62.5%;
    font-weight: 900;
    -webkit-font-smoothing: antialiased;
	cursor: none;
	border: none;
}

#sphere {
    position: fixed;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    top: 14.75rem;
    right: 10rem;
    background: radial-gradient(circle at 30% 30%, #fff, #333);
    transition: width 0.5s, height 0.5s; /* Smooth size transition */
}
.blink {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   animation: blink 1.5s infinite alternate;
}

.blink-sphere {
   width: 40%;
   height: 40%;
   border-radius: 50%;
}
.blink-sphere-red {
   background: radial-gradient(circle at 30% 30%, #ffcccc, red);
}

@keyframes blink {
   0% {
      opacity: 1;
   }
   49.99% {
      opacity: 1;
   }
   50% {
      opacity: 0;
   }
   100% {
      opacity: 0;
   }
}

html, body {
    font-size: 24px; 
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #000;
    box-sizing: border-box;
}

*, *::before, *::after { 
    box-sizing: inherit;
}

#shadow-host {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	height: 90vh;
	transform: translate(-50%, -50%);
	overflow: hidden;
	background: transparent;
}

#wrap-laden {
	position: fixed;
/* 	display: flex;  weer terug*/ 
	display: none;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background-color: black;
	color: white;
	height: 100vh;
	width: 100vw;
	margin: 0;
	text-align: center;
	z-index: 50;
}

button#focus {
	display: none;
}

.balls {
    display: flex;
    gap: 30px;
    margin-bottom: 20px;
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-15px);
    }
}

.ball {
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    animation: bounce 1s infinite;
}

.ball.red {
	background: radial-gradient(circle at 10% 10%, #fff, #800000);
	animation-delay: 0s;
}

.ball.white {
	background: radial-gradient(circle at 30% 30%, #fff, #333);
	animation-delay: 0.2s;
}

.ball.yellow {
	background: radial-gradient(circle at 10% 10%, #fff, #808000);
	animation-delay: 0.4s;
}

.text {
	font-size: 3rem;
	font-weight: bold; 
	letter-spacing: .3rem;
}

body {
	overflow: hidden;
	top: 0;
	left: 0;
}

#body {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#container {
	/* visibility: hidden; */  /* weer terug */
	visibility: visible;
	position: relative;
	width: 100%;
	height: 100vh;
}

canvas {
  image-rendering: crisp-edges;
}

#SBcanvas {
/* 	z-index: -1; */
	position: absolute;  
	top: 0;
	left: 0;	
	cursor: none;
	border: none;
}

#iframe-flip {
	position: absolute;
	z-index: 7;
	border: none;
	overflow: hidden;
	display: block;
	box-sizing: content-box;
}

.grey span {
	background-color: red;
}

#div-image, #div-iframe { 
	z-index: 8;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	overflow: hidden;
}


img, iframe, iframe-flip {
	border: none;
}


.iframe-container {
	position: relative;
	overflow: hidden;
	text-align: center;
}

#iframe {
	display: block;
    margin: 0 auto;
    position: absolute;
    top: 50%; 
    left: 50%;
    transform: translate(-50%, -50%);
    border: none;

}


.sb {
    position: absolute;
	white-space: nowrap;
	width: 100%;
	top: 0;
}


#hidden {
	visibility: hidden;
	width: 100%;
	height: 100%;
	z-index: 30;
}

.tellijst {
	height: 14.35rem;
	width: 15%;
	/* visibility: hidden; weer terug; */
	visibility: visible;
	z-index: 0;
	font-size: 110%;

}
#L,#R {
	z-index: 3;
	width: 15%;
	max-width: 15%;
	font-size: 4.5em;
}
#L {
	left: 0;
}

#R {
	top: 50%;
	left: 0%
}

.background-color-green {
 /*    background-color: #00e600 !important; */
	background-color: lime !important;

}

.left {
	text-align: left;
}

.right {
	text-align: left;
}

.center {
	text-align: center;
}

.tel tr td {
	width:5%;
	padding: 0;
	margin: 0;
}
.tel {
	height:35.8%;
}
.car {
	top: 1%;
	height: 45%;
}

.Box {
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
#LightBox {
	background:rgba(0, 0, 0, .8);
	z-index:11;
}
.Text {
	color:#000000; 
	padding: 1%;
	vertical-align:middle; 
	display:inline-block; 
	text-align:center;	
	margin: 0;
	position: absolute;               
	top: 50%;    
	left:50%;		
	transform: translate(-50%, -50%); 
}

#TextBox {
	background-color:#FFFFAA; 
	z-index:10;
}

#TextDemo {
	background-color:#FFFFFF; 
	font-size: 200%;
}

table, td { 
	border: 1px solid #808080;
	border-spacing: 0;
	border-collapse: collapse;
	padding-right: 3%;
	white-space: nowrap; 
}

table.tel {
	table-layout: fixed;
	width: 100%;
	box-shadow: 5px 0px 5px rgba(0, 0, 0, 0.2);
	border-top: none;
	border-bottom: none;
}



table.dialog-table-pk {
	padding: 0;
	margin:	0 auto;
	font-size: 300%;
}

h3.html-serie-en-klok {
	padding: 0;
	margin: 0;
	font-size: 66%;
}
table.html-serie-en-klok {
	padding: 0;
	margin:	0 auto;
	font-size: 250%;
}

table.html-serie-en-klok tr.green {
	background: #ccffcc;
}

table.html-serie-en-klok th {
	padding-left: 0.25rem;
	padding-right: 0.25rem;
	border: 1px solid #fff;
	background: #800000;
	color: #fff;
}

table.html-serie-en-klok td {
	padding-left: 0.25rem;
	padding-right: 0.25rem;
}

td.td-tel {
	vertical-align: middle;
	text-align: right;
	overflow: hidden;
	width: 5.5%;
	min-width: 5.5%;
	max-width: 5.5%;
	white-space: nowrap;

}

td.td-tel:nth-child(0) {
	border-top: none;

}
td.td-tel:nth-child(0) {
	border-bottom: none;
}

td.w3 {
	width: 3.5%;
	min-width: 3.5%;
	max-width: 3.5%;
	white-space: nowrap;
}

td.Ldark, #Tdark {
	background-color: #600000;
	color: #FFF;
}

td.Llight, #Tlight {
	background-color: #FFC1C1;
}

td.Rdark, #Bdark {
	background-color: #000060;
	color: #FFFFFF;
}

td.Rlight, #Blight {
	background-color: #C0C0FF;
}

.td {
	padding: .2rem .2rem .2rem .2rem !important;
    text-align: left;
    font-size: 2.5rem;
	border-width: 0;
}

.init {
	border-width: 0;
	padding-left: 2rem;
    border-collapse: collapse;
}

#carButton0 {
	background-color: #600000;
}

#carButton1 {
	background-color: #000060;
}


#carButton0, #carButton1 {
    position: absolute;
    margin-top: 0.25rem;
    right: 0.3rem;
	padding: .25rem .75rem .5rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

#carText0, #carText1 {
    color: #fff;
    line-height: 1;
    display: block;
}

#spelButton0, #spelButton1 {
	position: absolute;
    background-color: gold;
    border: 0.2rem solid black;
    z-index: 4;
}
#spel0, #spel1 {
	font-size: 3.75vw;
    line-height: 1;
    margin: 0 0.5vw 0 0.5vw;
    text-align: center;
}
#carpButton0, #carpButton1 {
	position: absolute;
    background-color: gold;
    border: 0.2rem solid black;
    z-index: 4;
}
#carp0, #carp1 {
	letter-spacing: -.1rem;
	font-size: 3.75vw;
    line-height: 1;
    margin: 0 0.5vw 0 0.5vw;
    text-align: center;
}

#tcarButton0, #tcarButton1 {
    position: absolute;
    background-color: gold;
    border: 0.2rem solid black;
    z-index: 4;
}

#tcar0, #tcar1 {
	letter-spacing: -.2rem;
	font-size: 6vw;
    line-height: 1;
    margin: 0 0.5vw 0 0.5vw;
    text-align: center;
}


.blink-sphere-lime {
   background-color: lime;
}

.blink-svg {
  width: 4rem; 
  height: 4rem;
  top: 45%;
  background-size: contain;
  background-repeat: no-repeat;
}

.blink-url-clock {
  background-image: url('../svg/clock.svg');
  background-color: transparent; /* Optional */
}

audio, video {
	display: none;
}

#circleG{
	width:20rem;
	margin:0 auto;
}

.circleG{
	background-color:rgb(255,0,21);
	float:left;
	height:4rem;
	margin-left:2rem;
	width:4rem;
	animation-name:bounce_circleG;
		-o-animation-name:bounce_circleG;
		-ms-animation-name:bounce_circleG;
		-webkit-animation-name:bounce_circleG;
		-moz-animation-name:bounce_circleG;
	animation-duration:4s;
		-o-animation-duration:4s;
		-ms-animation-duration:4s;
		-webkit-animation-duration:4s;
		-moz-animation-duration:4s;
	animation-iteration-count:infinite;
		-o-animation-iteration-count:infinite;
		-ms-animation-iteration-count:infinite;
		-webkit-animation-iteration-count:infinite;
		-moz-animation-iteration-count:infinite;
	animation-direction:normal;
		-o-animation-direction:normal;
		-ms-animation-direction:normal;
		-webkit-animation-direction:normal;
		-moz-animation-direction:normal;
	border-radius:66px;
		-o-border-radius:66px;
		-ms-border-radius:66px;
		-webkit-border-radius:66px;
		-moz-border-radius:66px;
}

#circleG_1{
	animation-delay:0.8s;
		-o-animation-delay:0.8s;
		-ms-animation-delay:0.8s;
		-webkit-animation-delay:0.8s;
		-moz-animation-delay:0.8s;
}

#circleG_2{
	animation-delay:1.87s;
		-o-animation-delay:1.87s;
		-ms-animation-delay:1.87s;
		-webkit-animation-delay:1.87s;
		-moz-animation-delay:1.87s;
}

#circleG_3{
	animation-delay:2.4s;
		-o-animation-delay:2.4s;
		-ms-animation-delay:2.4s;
		-webkit-animation-delay:2.4s;
		-moz-animation-delay:2.4s;
}


@keyframes bounce_circleG{
	0%{}

	50%{
		background-color:rgb(255,255,255);
	}

	100%{}
}

@-o-keyframes bounce_circleG{
	0%{}

	50%{
		background-color:rgb(255,255,255);
	}

	100%{}
}

@-ms-keyframes bounce_circleG{
	0%{}

	50%{
		background-color:rgb(255,255,255);
	}

	100%{}
}

@-webkit-keyframes bounce_circleG{
	0%{}

	50%{
		background-color:rgb(255,255,255);
	}

	100%{}
}

@-moz-keyframes bounce_circleG{
	0%{}

	50%{
		background-color:rgb(255,255,255);
	}

	100%{}
}

.hidden {
    display: none;
}

.float-right {
	float: right;
}

.float-left {
	float: left;
}

button {
	font-size: 48px;
}

button.green {
	background-color: green;
	color: white;
}

button.red {
	background-color: red;
	color: white;
}

#SBbuffer-container {
    position: fixed;
    z-index: 7;
    background-color: #fff;
    overflow: hidden; /* Ensures no content overflows */
    display: flex; /* Centers the content if needed */
    align-items: center;
    justify-content: center;
	visibility: hidden;
}

#SBbuffer {
    position: relative; /* Required for transform */
	font-size: 20vh;
    border: none;
    padding: 3px;
    line-height: .8;
    transform: translateY(-6%); /* Adjust this value to balance top and bottom */
}


		
.dialog-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / 75%);
  display: none;
  z-index:5;
}

/* Animation classes */
.dialog-explode {
  animation: explode 1s ease-out forwards;
}

.dialog-implode {
  animation: implode 1s ease-in forwards;
}
/* Modify the animation keyframes to work with the centered position */
@keyframes explode {
  0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.05);
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}

@keyframes implode {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
  }
}
.dialog {
  position: fixed;
  top: 50vh;
  left: 50vw;
  transform: translate(-50%, -50%);
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  max-width: 90%;
  max-height: 90vh;
  display: none;
  overflow: hidden;
  z-index: 8;
  width: fit-content; /* Use fit-content instead of auto */
  height: fit-content;
}

.dialog-content {
  display: block;
  width: max-content; /* Ensure content defines width */
  min-width: min-content;

}

.dialog.info, .dialog.confirm {
    background-color: #ECEADF;
	border: 6px solid #ECEADF;
}

.dialog.error {
    background-color: #f8d7da;
	border: 6px solid #f8d7da;
}

.dialog-header-footer, .error {
	font-size: 6vh;
	color: #fff;
	letter-spacing: 0.1rem;
	padding: 0.4rem;
	text-align: center;
}

.dialog-header {
	text-transform: uppercase;
	background-color: #003366;
}

.dialog-body {
	color: #000;
	font-size: 6vh;
	padding: 1rem;
	letter-spacing: 0.05rem;
	margin: 0; 
}

.head {
	background-color: grey;
	color: #fff;
}

.dialog-footer {
    background-color: #003366;
}

.dialog-header-footer.error {
	background-color: red !important;
}

.dialog-table {
	font-size: 20vh;
	border: none;
	border-collapse: collapse;
	text-align: left;
}

.dialog-td, .dialog-td-left, .dialog-td-center,  .dialog-td-right {
	border: none;
	border-collapse: collapse;
}

.dialog-td-left {
	text-align: left;
}

.dialog-td-center {
	text-align: center;
}

.dialog-td-right {
	text-align: right;
}


/* cache test Wed Jul 30 11:21:19 AM CEST 2025 */
/* cache test Thu Jul 31 09:23:06 AM CEST 2025 */
