/* Roboto */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
    src: url("/files/cto_layout/fonts/Roboto/Roboto-Regular.ttf") format("truetype");
}
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
    src: url("/files/cto_layout/fonts/Roboto/Roboto-Italic.ttf") format("truetype");
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
    src: url("/files/cto_layout/fonts/Roboto/Roboto-Bold.ttf") format("truetype");
}
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
    src: url("/files/cto_layout/fonts/Roboto/Roboto-BoldItalic.ttf") format("truetype");
}

/*
 * global styles
 */
html, body {
	font-family: 'Roboto', sans-serif;
}

h1, h2, h3, h4,
p,
.ce_revolutionslider_text.bold {
	font-family: 'Unica One', 'Roboto', monospace !important;
}

/*
 * Header
 */
.header {
	background-color: rgba(226,228,231,0.25);
	box-shadow: 0 0 2px 2px rgba(0,0,0,0.1);
	border-bottom: 2px solid rgba(255,255,255,0.6);
}

@media screen and (max-width: 767px) {
	.header {
		background-color: #ffffff;
		border-bottom: none;
	}
}

/*
 * Logo
 */
@media only screen and (min-width: 768px) {
	.header.original .logo {
		height: 139px;
	}
}

.logo a {
	background-image: url('/files/Startseite/Logo_Ritterbach_weiß.png');
	background-position: left bottom;
}

@media screen and (max-width: 767px) {
	.logo a {
		background-image: url('/files/Startseite/Logo_Ritterbach_quer.png');
		background-size: contain;
		background-position: center;
	}
}

/*
 * Burger-Menu
 */
.smartmenu .smartmenu-trigger .line,
.smartmenu .smartmenu-trigger .line:before,
.smartmenu .smartmenu-trigger .line:after {
	height: 3px;
}

.header .smartmenu .smartmenu-trigger .line,
.header .smartmenu .smartmenu-trigger .line:before,
.header .smartmenu .smartmenu-trigger .line:after {
	/* high specifity to overwrite styles */
	background-color: #393939;
}

.smartmenu .smartmenu-trigger {
	background-color: rgba(255, 255, 255, 0.6);
	padding: 10px;
	width: 55px;
	height: 55px;
	top: 45px;
}

/*
 * Link To Content
 */
@-webkit-keyframes mousewheel {
	0% { top: 6px; opacity: 0 }
	30% { opacity: 1 }
	100% { top: 24px; opacity: 0 }
}
@keyframes mousewheel {
	0% { top: 6px; opacity: 0 }
	30% { opacity: 1 }
	100% { top: 24px; opacity: 0 }
}

.ce_revolutionslider #linkToContent:before {
	content: "";
	box-sizing: border-box;
	/* copy styles of `.wheel`: */
	display: block;
	width: 6px;
	height: 6px;
	background-color: #fff;
	border-radius: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 6px;
	left: 0;
	right: 0;
	-webkit-animation: mousewheel 1.7s infinite ease;
	animation: mousewheel 1.7s infinite ease;
}

/* overwrite styles of `.wheel`: */
.ce_revolutionslider #linkToContent .wheel,
.ce_revolutionslider #linkToContent:before {
	position: absolute;
	top: 6px;
	left: 50%;
	margin-left: -4px;
	margin-top: 0;
	margin-right: 0;

	-webkit-animation: mousewheel 2s infinite ease;
	animation: mousewheel 2s infinite ease;

	border: solid #fff;
	border-width: 0 2px 2px 0;
	padding: 3px;
	background-color: transparent;
	border-radius: unset;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.ce_revolutionslider #linkToContent:before {
	/* delay so the arrows appear shifted */
	animation-delay: 0.666667s;
}

/*
 * Revolution Slider
 */
.fullcoveredvideo video, .fullscreenvideo video {
    pointer-events: none;
}

/*
 * Box Ritterbach Logo
 */
.box-ritterbach-logo {
    border: 5px solid rgba(255,255,255,0.6);
    padding: 0 45px 45px;
    background-color: rgba(57,57,57,0.6);
}

.box-ritterbach-logo.verlag {
    /*background-color: rgba(66,107,157,0.6);*/
    background-color: rgba(26,65,117,0.8);
}
.box-ritterbach-logo.beratung {
    /*background-color: rgba(172,170,34,0.6);*/
    /*background-color: rgba(66,107,157,0.8);*/
    background-color: rgba(93,136,189,0.8);
}

.box-ritterbach-logo img {
    width: 160px;
    height: auto;
}

/*
 * Page-Image / Slider
 */
#slider.empty {
	background-color: #426B9D;
}

/*
 * Verlag - Slider - Linkbox
 */
.slide .verlag_slider_linkbox {
    border: 2px solid #ffffff;
    background-color: transparent;
    width: 120px;
    max-width: 120px !important;
    height: 120px;
    padding: 12px 10px 10px !important;
    box-sizing: border-box;
    min-width: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px !important;
    font-style: normal !important; /* does not seem to work in Safari */
    line-height: inherit !important;
    font-weight: 700;
    white-space: initial;
    transition: background-color 0.2s ease-out !important;
}
.slide .verlag_slider_linkbox:hover {
    opacity: 1 !important;
    background-color: rgba(255,255,255,0.1);
}

@media only screen and (max-width : 1024px) {
	/* Die IDs muessen den vier Links jeweils manuell zugewiesen werden: */
	#verlag_slider_linkbox_1 {
	    left: 0 !important;
	}
	#verlag_slider_linkbox_2 {
	    left: 33.33333% !important;
	    margin-left: -40px !important;
	}
	#verlag_slider_linkbox_3 {
	    left: 66.66667% !important;
	    margin-left: -80px !important;
	}
	#verlag_slider_linkbox_4 {
	    left: 100% !important;
	    margin-left: -120px !important;
	}
}

@media only screen and (max-width: 767px) {
	.slide .verlag_slider_linkbox {
		font-size: 16px !important;
	    width: 90px;
	    max-width: 90px !important;
	}
	
	#verlag_slider_linkbox_2 {
	    margin-left: -30px !important;
	}
	#verlag_slider_linkbox_3 {
	    margin-left: -60px !important;
	}
	#verlag_slider_linkbox_4 {
	    margin-left: -90px !important;
	}
}

/*
 * Timeline
 */
.ce_timeline {
    padding-top: 45px;
}
.ce_timeline:before {
	background: #98a8b4;
}
.ce_timeline i.first-point,
.ce_timeline i.last-point {
    background: #98a8b4;
    width: 12px;
    height: 12px;
    border-radius: 100%;
    position: absolute;
    right: 50%;
    margin-right: -6px;
}
.ce_timeline i.first-point {
    top: 0;
    bottom: auto;
}
.ce_timeline i.last-point {
    top: auto;
    bottom: 0;
}
@media only screen and (max-width: 767px) {
	.ce_timeline {
	    padding-top: 50px;
	}
	.ce_timeline i.first-point,
	.ce_timeline i.last-point {
    	left: 19px;
    	right: auto;
	}
}
