
:root {
    
  --as-font-size-base             : 1.7rem;
  --as-font-weight-base           : 300;
  --as-line-height-base           : 1.47;

  --as-ff-sans-serif              : 'Helvetica Neue LT Std', sans-serif;
  --as-ff-serif                   : Georgia, "Times New Roman", Times, serif;
  --as-ff-font-awesome            : "Font Awesome 5 Pro";  
  
  
  --as-t-duration                 : 0.4s;
  --as-t-duration2                : 0.7s;
  --as-t-duration-hover           : 0.3s;  
  
  
  
  --as-c-black                    : #000;
  --as-c-white                    : #fff;
  --as-c-base                     : #383938;
  --as-c-red                      : #DB0B06;
  --as-c-darkred                  : #B20500;
  --as-c-darkgray                 : #767676;
  --as-c-gray                     : #DDD;
  --as-c-lightgray                : #F5F5F5;  
  
  
}


* {
    padding: 0;
    /*margin: 0;*/
    outline: 0;    
    box-sizing: border-box;
}

*:before,
*:after {
    box-sizing: border-box;
}






@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('/typo3conf/ext/template/Resources/Public/Css/Fonts/HelveticaNeueLTStd-Lt.woff2') format('woff2'),
        url('/typo3conf/ext/template/Resources/Public/Css/Fonts/HelveticaNeueLTStd-Lt.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('/typo3conf/ext/template/Resources/Public/Css/Fonts/HelveticaNeueLTStd-Bd.woff2') format('woff2'),
        url('/typo3conf/ext/template/Resources/Public/Css/Fonts/HelveticaNeueLTStd-Bd.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('/typo3conf/ext/template/Resources/Public/Css/Fonts/HelveticaNeueLTStd-Md.woff2') format('woff2'),
        url('/typo3conf/ext/template/Resources/Public/Css/Fonts/HelveticaNeueLTStd-Md.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('/typo3conf/ext/template/Resources/Public/Css/Fonts/HelveticaNeueLTStd-Roman.woff2') format('woff2'),
        url('/typo3conf/ext/template/Resources/Public/Css/Fonts/HelveticaNeueLTStd-Roman.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



html {
    font-size: 62.5%;
}

body{
    
    margin:0;
    
    
    font-family: var(--as-ff-sans-serif);
    font-weight: var(--as-font-weight-base);
    font-size: var(--as-font-size-base);
    line-height: var(--as-line-height-base);
    color: var(--as-c-base);
    
    
    -webkit-font-smoothing: subpixel-antialiased;
    letter-spacing:0.02em;
    
}

button {
    font-family:inherit;
}


.h1,
h1,
.h2,
h2,
.h3,
h3,
.h4,
h4,
.h5,
h5,
.h6,
h6 {
    letter-spacing: .01em;
    margin-bottom: calc(1.47em / 2);
    font-weight: 300;
    color: var(--as-c-red);
}

.h1,
h1 {
    font-size: 6rem;
    line-height: 1.1;
}

.h2,
h2 {
    font-size: 5rem;
    line-height: 1.1;
}

.h3,
h3 {
    font-size: 4rem;
    line-height: 1.1;
}

.h4,
h4 {
    font-size: 2.5rem;
    line-height: 1.2;
}

.h5,
h5 {
    font-size: 1.4rem;
    line-height: 1.43;
}

.h6,
h6 {}















.ht-container {
    
	
	text-align:left;
    
    margin:0;
    position: relative;
    border:2px solid #bfbfbf;
    padding:10px 0;

}


#progress {
	text-align: center;
	height:38px;
	font-size: 18px;
	line-height: 26px;
	letter-spacing: 10px;
	color: #e82c26;
    
}
#progress .progress-to-go {
	color:#d6dee6;
}

#titlebar {
	padding:15px 20px;
   
}

.ht-content-row {
	padding: 15px 20px;    
}

.ht-content-row:after {
    content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0px;
}




/*
.btn.red {    
    margin:0px auto;
    background-image:url('asset/btn-active.png');    
    background-size:100% 100%;
    color:#fff;
    padding:16px 25px;
    padding-top: 14px;
    display:block;
    font-size:19px;
}

.btn.red:disabled {
    background-image:url('asset/btn-inactive.png');    
}

a.btn.red {
    display:inline-block;
    text-decoration: none;
    margin-top: 20px;
}
   */


.ht-container button.btn.red,
.btn,
a.btn {
    

    font-weight: 400;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color var(--as-t-duration), color var(--as-t-duration);
    background-color: var(--as-c-red);
    color: var(--as-c-white);
    font-size: 1.6rem;
    min-height: 5.8rem;
    min-width: 23.5rem;
    border-radius: .5rem;
    overflow: hidden;
    cursor: pointer;
    z-index: 2;
    
    
    
    margin:0px auto;
    text-decoration:none;
    text-align:center;
}

.ht-container button.btn.red:after,
.btn:after,
a.btn:after {    

    bottom:auto;
    right:auto;
    background:transparent;

    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scaleX(0);
    transform-origin: center;
    width: 150%;
    height: 150%;
    border-radius: 35%;
    transition: transform .5s, opacity var(--as-t-duration), visibility var(--as-t-duration);
    opacity: 0;
    visibility: hidden;
    background-color: #B20500;
    z-index: 1;
}

.ht-container button.btn.red span,
.btn span,
a.btn span {
    position: relative;
    z-index: 2;
}

   
   
   
   
   
.ht-container button.btn.red:hover,
a.btn:hover,
.btn:hover {

    color:var(--as-c-white);
    
}

.ht-container button.btn.red:hover:after,
a.btn:hover:after,
.btn:hover:after {

    width: 150%; 
    height: 150%;        
    
    transform: translate(-50%, -50%) scaleX(1);
    opacity: 1;
    visibility: visible;
    
}




a.btn.disabled,
a.btn:disabled,
.btn.disabled,
.btn:disabled {
    pointer-events: none;
}


   
   
   
   
   
   
   








#bottombar p {
	line-height:50px;
	/*font-size:17px;*/
}


#bottombar .bottom-lft {	  }
#bottombar .bottom-rgt {	}


.ht-container button { background-color:transparent; cursor:pointer; border:0px none; }

.ht-container h1 {	

	font-size: 24px;	
	line-height: 31px;	
	/*padding: 4px 0; */
}


.ht-container h1.big {	font-size:36px; }


.ht-container h2 {
    
	font-size: 18px;	
	line-height: 24px;	
	/*padding:0; */
    
}



.ht-container .col3 { 
    text-align: center;
    position: relative;
    min-height: 1px;    
}

.ht-container .col2 {
	width: 50%;
	float: left;
	height: 250px;
}



.ht-container .step { margin-top:20px; }
.ht-container .step span {
	display: inline-block;
	height: 26px;
	font-size:16px;
	color:#fff;
	font-weight:bold;
	line-height:26px;
}


.ht-container .step .lft {
	background: url(asset/step-lft.png) no-repeat;
	width: 8px;
}
.ht-container .step .rgt {
	background: url(asset/step-rgt.png) no-repeat;
	width: 8px;
}
.ht-container .step .mid {
	background: url(asset/step-mid.png) repeat-x;
}
.ht-container .step.ok .lft {
	background: url(asset/step-ok-lft.png) no-repeat;
}
.ht-container .step.ok .rgt {
	background: url(asset/step-ok-rgt.png) no-repeat;
}
.ht-container .step.ok .mid {
	background: url(asset/step-ok-mid.png) repeat-x;
}


.ht-container .button-play {
	text-align:center;
	display:inline-block;
	height:90px;
	width:90px;
	background-position:center center;
	background-repeat:no-repeat;
	background-image: url(asset/button-play-big.png);
}

.ht-container .button-play:active, .ht-container .button-play-active { 	background-image: url(asset/button-play-big-active.png); }

.ht-container .button-volume {
	height:50px;
	width:50px;
	margin:4px;
	background-repeat:no-repeat;
	display:inline-block;
}
.ht-container .button-volume-up { background-image:url(asset/volume-up.png); }
.ht-container .button-volume-up:active { background-image:url(asset/volume-up-act.png); }
.ht-container .button-volume-up.disabled {	background-image:url(asset/volume-up-dis.png); }
.ht-container .button-volume-down {	background-image:url(asset/volume-down.png); }
.ht-container .button-volume-down:active { background-image:url(asset/volume-down-act.png); }
.ht-container .button-volume-down.disabled { background-image:url(asset/volume-down-dis.png); }


#level, .ht-container #signalbutton {
	height:10px;
	padding:1px;
	background-repeat:no-repeat;
	background-position:center;
}




#level {
	height:110px;
}
.level0 { background-image:url(asset/level0.gif); }
.level1 { background-image:url(asset/level1.gif); }
.level2 { background-image:url(asset/level2.gif); }
.level3 { background-image:url(asset/level3.gif); }
.level4 { background-image:url(asset/level4.gif); }
.level5 { background-image:url(asset/level5.gif); }
.level6 { background-image:url(asset/level6.gif); }
.level7 { background-image:url(asset/level7.gif); }
.level8 { background-image:url(asset/level8.gif); }
.level9 { background-image:url(asset/level9.gif); }
.level10 { background-image:url(asset/level10.gif); }
.ht-container #signalbutton {
	background-image:url(asset/signal-bullet-red.png);
	background-position:center;
	margin-top:10px;
}
.ht-container #signalbutton.disabled {
	background-image:url(asset/signal-bullet-grey.png);
}

#oscillator {
	position:relative;
	width: 203px;
	height: 158px;
	background: url(asset/oscillator.jpg) no-repeat;
    margin:0px auto;
}
#wave {
	width: 191px;
	margin: 42px 5px;
	background: url(asset/wave0.png);
	position: absolute;
	height: 70px;
	left:0;
}
#wave.f500 {
	background: url(asset/wave500.png);
}
#wave.f1000 {
	background: url(asset/wave1000.png);
}
#wave.f2000 {
	background: url(asset/wave2000.png);
}
#wave.f4000 {
	background: url(asset/wave4000.png);
}
#wave.blink {
	background-position:1px;
}

.red {
	color:#c00;
}

a {
	color:#2f6b83;
}
a:hover {
	color:#4195b6;
}

.ht-container input {
	margin: 2px 3px 0 12px;
	font-size: 18px;
	
}
.ht-container input[type=number],
.ht-container input[type=password],
.ht-container input[type=text] {
	padding:2px;
	width:60px;
	Xborder:1px solid #999;
	-moz-box-shadow: inset 1px 1px 4px #888;
	-webkit-box-shadow: inset 1px 1px 4px #888;
	box-shadow: inner 1px 1px 4px #888;
}

/* pages */
.ht-container #page-begin .ht-content-row {
	text-align:center;
	top:165px;
}



/*.ht-container #page-begin #bottombar {
	display:block;
} */


.ht-container #page-result-f .ht-content-row h1,
.ht-container #page-result-f .ht-content-row p,
.ht-container #page-result-q .ht-content-row h1,
.ht-container #page-result-q .ht-content-row p {
	width: 100%;
}
.ht-container #page-result-f .ht-content-row p.red,
.ht-container #page-result-q .ht-content-row p.red {
	margin-left:8px;
	margin-top:20px;
}
.ht-container .button-clickhere {
	height: 81px;
	width: 187px;
	display: block;
	margin-left:100px;
	background: url(asset/button-hierklicken.png) no-repeat;
}










/* section 2:
   make adjustments for tablet layouts. extend selectors from section 1
   Small devices (tablets, 768px and up) 
*/
@media (min-width:768px) {   


    
    .ht-container .col3 { 
        width: 33%;
        float: left;
    }
    
}
