/*-----------------------------------------------------------------------------------
	Datenschutzlernen
	About: A shiny new Blocs website.
	Author: Admin
	Version: 1.0
	Built with Blocs
-----------------------------------------------------------------------------------*/
body{
	margin:0;
	padding:0;
    background:#FFFFFF;
    overflow-x:hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.page-container{overflow: hidden;} /* Prevents unwanted scroll space when scroll FX used. */
a,button{transition: background .3s ease-in-out;outline: none!important;} /* Prevent blue selection glow on Chrome and Safari */
a:hover{text-decoration: none; cursor:pointer;}
.scroll-fx-lock-init{position:fixed!important;top: 0;bottom: 0;left: :0;right: 0;z-index:99999;} /* ScrollFX Lock */
.blocs-grid-container{display: grid!important;grid-template-columns: 1fr 1fr;grid-template-rows: auto auto;column-gap: 1.5rem;row-gap: 1.5rem;} /* CSS Grid */
nav .dropdown-menu .nav-link{color:rgba(0,0,0,0.6)!important;} /* Maintain Downdown Menu Link Color in Navigation */
[data-bs-theme="dark"] nav .dropdown-menu .nav-link{color:var(--bs-dropdown-link-color)!important;} /* Maintain Downdown Menu Link Color in Navigation in Darkmode */

/* = Web Fonts
-------------------------------------------------------------- */

@font-face {
	font-family:'OpenSans-Regular';
	src: url('./fonts/OpenSans-Regular/open-sans.woff2');
	src: url('./fonts/OpenSans-Regular/open-sans.woff2') format('woff2'),
	url('./fonts/OpenSans-Regular/open-sans.eot?#iefix') format('embedded-opentype'),
	url('./fonts/OpenSans-Regular/open-sans.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display:swap;
}

/* = Blocs
-------------------------------------------------------------- */

.bloc{
	width:100%;
	clear:both;
	background: 50% 50% no-repeat;
	padding:0 20px;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position:relative;
	display:flex;
}
.bloc .container{
	padding-left:0;
	padding-right:0;
}


/* Sizes */

.bloc-md{
	padding:50px 20px;
}
.bloc-sm{
	padding:20px;
}


/* Group Styles */

.bloc-group{
	display:flex;
}
.bloc-tile-2{
	width:50%;
}
.bloc-tile-3{
	width:33.33333333%;
}
.bloc-tile-4{
	width:25%;
}
.bloc-tile-2 .container, .bloc-tile-3 .container, .bloc-tile-4 .container{
	width:100%;
}


/* Light theme */

.d-bloc .card,.l-bloc{
	color:rgba(0,0,0,.5);
}
.d-bloc .card button:hover,.l-bloc button:hover{
	color:rgba(0,0,0,.7);
}
.l-bloc .icon-round,.l-bloc .icon-square,.l-bloc .icon-rounded,.l-bloc .icon-semi-rounded-a,.l-bloc .icon-semi-rounded-b{
	border-color:rgba(0,0,0,.7);
}
.d-bloc .card .divider-h span,.l-bloc .divider-h span{
	border-color:rgba(0,0,0,.1);
}
.d-bloc .card .a-btn,.l-bloc .a-btn,.l-bloc .navbar a,.l-bloc a .icon-sm, .l-bloc a .icon-md, .l-bloc a .icon-lg, .l-bloc a .icon-xl, .l-bloc h1 a, .l-bloc h2 a, .l-bloc h3 a, .l-bloc h4 a, .l-bloc h5 a, .l-bloc h6 a, .l-bloc p a{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .a-btn:hover,.l-bloc .a-btn:hover,.l-bloc .navbar a:hover, .l-bloc a:hover .icon-sm, .l-bloc a:hover .icon-md, .l-bloc a:hover .icon-lg, .l-bloc a:hover .icon-xl, .l-bloc h1 a:hover, .l-bloc h2 a:hover, .l-bloc h3 a:hover, .l-bloc h4 a:hover, .l-bloc h5 a:hover, .l-bloc h6 a:hover, .l-bloc p a:hover{
	color:rgba(0,0,0,1);
}
.l-bloc .navbar-toggle .icon-bar{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .btn-wire,.d-bloc .card .btn-wire:hover,.l-bloc .btn-wire,.l-bloc .btn-wire:hover{
	color:rgba(0,0,0,.7);
	border-color:rgba(0,0,0,.3);
}


/* = NavBar
-------------------------------------------------------------- */

/* = Sticky Nav
-------------------------------------------------------------- */

.sticky-nav.sticky{
	position:fixed;
	top:0;
	z-index:1000;
	box-shadow:0 1px 2px rgba(0,0,0,.3);
	 transition: all .2s ease-out;
}
/* Navbar Icon */
.svg-menu-icon{
	fill: none;
	stroke: rgba(0,0,0,0.5);
	stroke-width: 2px;
	fill-rule: evenodd;
}
.navbar-dark .svg-menu-icon{
	stroke: rgba(255,255,255,0.5);
}
.menu-icon-thin-bars{
	stroke-width: 1px;
}
.menu-icon-thick-bars{
	stroke-width: 5px;
}
.menu-icon-rounded-bars{
	stroke-width: 3px;
	stroke-linecap: round;
}
.menu-icon-filled{
	fill: rgba(0,0,0,0.5);
	stroke-width: 0px;
}
.navbar-dark .menu-icon-filled{
	fill: rgba(255,255,255,0.5);
}
.navbar-toggler-icon{
	background: none!important;
	pointer-events: none;
	width: 33px;
	height: 33px;
}
/* Handle Multi Level Navigation */
.dropdown-menu .dropdown-menu{
	border:none}
@media (min-width:576px){
	
.navbar-expand-sm .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-sm .dropdown-menu .submenu-left{
	right:100%;
	left:auto}}@media (min-width:768px){
	.navbar-expand-md .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-md .dropdown-menu .submenu-left{
	right:100%;
	left:auto}}@media (min-width:992px){
	.navbar-expand-lg .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-lg .dropdown-menu .submenu-left{
	right:100%;
	left:auto}
}
/* = Bric adjustment margins
-------------------------------------------------------------- */

.mg-clear{
	margin:0;
}
.mg-sm{
	margin-top:10px;
	margin-bottom:5px;
}
.mg-md{
	margin-top:10px;
	margin-bottom:20px;
}
.mg-lg{
	margin-top:10px;
	margin-bottom:40px;
}
img.mg-sm,img.mg-md,img.mg-lg{
	margin-top: 0;
}
img.mg-sm{
	margin-bottom:10px;
}
img.mg-md{
	margin-bottom:30px;
}
img.mg-lg{
	margin-bottom:50px;
}

/* = Buttons
-------------------------------------------------------------- */

.btn-d,.btn-d:hover,.btn-d:focus{
	color:#FFF;
	background:rgba(0,0,0,.3);
}

/* Prevent ugly blue glow on chrome and safari */
button{
	outline: none!important;
}

.dropdown a .caret{
	margin:0 0 0 5px}.btn-dropdown .dropdown-menu .dropdown{
	padding: 3px 20px;
}





.card-sq, .card-sq .card-header, .card-sq .card-footer{
	border-radius:0;
}
.card-rd{
	border-radius:30px;
}
.card-rd .card-header{
	border-radius:29px 29px 0 0;
}
.card-rd .card-footer{
	border-radius:0 0 29px 29px;
}




.carousel-nav-icon{
	fill: none;
	stroke: #fff;
	stroke-width: 2px;
	fill-rule: evenodd;
	stroke-linecap:round;
}


/* ScrollToTop button */

.scrollToTop{
	width:36px;
	height:36px;
	padding:5px;
	position:fixed;
	bottom:20px;
	right:20px;
	opacity:0;
	z-index:999;
	transition: all .3s ease-in-out;
	pointer-events:none;
}
.showScrollTop{
	opacity: 1;
	pointer-events:all;
}
.scroll-to-top-btn-icon{
	fill: none;
	stroke: #fff;
	stroke-width: 2px;
	fill-rule: evenodd;
	stroke-linecap:round;
}

/* = Custom Styling
-------------------------------------------------------------- */

h1,h2,h3,h4,h5,h6,p,label,.btn,a{
	font-family:"OpenSans-Regular";
	font-weight:300;
}
.container{
	max-width:1140px;
	font-family:"OpenSans-Regular";
}
.img-style{
	width:360px;
	font-family:"OpenSans-Regular";
	border-radius:0px 0px 0px 0px;
}
.img-1-style{
	width:49px;
	font-family:"OpenSans-Regular";
}
.btn-style{
	width:100%;
	border-style:none;
	font-family:"OpenSans-Regular";
	border-radius:8px 8px 8px 8px;
}
.p-style{
	font-size:16px;
	width:100%;
	font-family:"OpenSans-Regular";
}
.link-style{
	font-weight:bold;
	font-family:"OpenSans-Regular";
}
.h2-style{
	font-family:"OpenSans-Regular";
	font-weight:400;
	font-size:36px;
	margin-left:0px;
	text-transform:uppercase;
	text-decoration:none;
	width:100%;
}
.header-icon{
	background-repeat:no-repeat;
	width:120px;
	padding-top:20px;
	float:none;
	overflow:visible;
	font-family:"OpenSans-Regular";
}
h3{
	font-size:15px;
	font-weight:bold;
	text-transform:uppercase;
	text-decoration:none;
	border-style:none;
	border-top-width:1px;
	border-left-width:0px;
	border-right-width:0px;
	padding-top:0px;
	opacity:1.0;
	font-family:"OpenSans-Regular";
}
h2{
	font-weight:lighter;
	font-family:"OpenSans-Regular";
	text-transform:uppercase;
	font-size:40px;
	letter-spacing:1px;
}
.button-clean{
	border-style:solid;
	border-color:#BBC0CB!important;
	font-weight:normal;
	font-size:18px;
	margin-bottom:20px;
	box-shadow:0px 0px 0px rgba(0,0,0,0.10);
	margin-right:20px;
	width:85.22%;
	font-family:"OpenSans-Regular";
	border-width:1px 1px 1px 1px;
}
.bloc-margin-top{
	margin-top:0px;
	font-family:"OpenSans-Regular";
}
.bloc-bloc-2-margin-top{
	margin-top:-10px;
	font-family:"OpenSans-Regular";
}
.bloc-0-margin-top{
	margin-top:-10px;
	font-family:"OpenSans-Regular";
}
.bloc-0-bloc-2-margin-top{
	margin-top:-10px;
	font-family:"OpenSans-Regular";
}
.row-margin-bottom{
	margin-bottom:0px;
	font-family:"OpenSans-Regular";
}
.h3-style{
	margin-left:0px;
	font-family:"OpenSans-Regular";
}
.p-margin-left{
	margin-left:0px;
	margin-top:0px;
	font-family:"OpenSans-Regular";
}
h6{
	padding-top:7px;
	background-color:transparent;
	border-style:none;
	background-size:auto auto;
	font-family:"OpenSans-Regular";
	font-weight:700;
	margin-top:0px;
	padding-bottom:0px;
	margin-bottom:12px;
	font-size:16px;
	border-width:1px 0px 0px 0px;
}
.impressum{
	font-family:"OpenSans-Regular";
}
.row-bloc-2-margin-bottom{
	margin-bottom:24px;
	font-family:"OpenSans-Regular";
	padding-bottom:74px;
}
.h2-bloc-2-style{
	font-size:25px;
	margin-top:30px;
	font-weight:lighter;
	font-family:"OpenSans-Regular";
}
.bloc-margin-bottom{
	margin-bottom:15px;
	font-family:"OpenSans-Regular";
}
.img-bloc-1-style{
	width:116px;
	font-family:"OpenSans-Regular";
	border-radius:0px 0px 0px 0px;
}
.bloc-bloc-5-margin-bottom{
	margin-bottom:195px;
	font-family:"OpenSans-Regular";
}
.p-bloc-5-style{
	width:100%;
	font-family:"OpenSans-Regular";
}
.h2-bloc-5-style{
	margin-bottom:50px;
	font-family:"OpenSans-Regular";
}
.p-7-style{
	margin-bottom:33px;
	font-family:"OpenSans-Regular";
}
.button-clean:hover{
	box-shadow:0px 0px 0px rgba(0,0,0,0.00);
	background-color:#D9D9D9;
	border-style:solid;
	font-weight:lighter;
	border-width:1px 1px 1px 1px;
}
.button-clean:active{
	box-shadow:0px 0px 0px rgba(0,0,0,0.00);
	background-color:rgba(0,0,0,0.20);
}
.bloc-0-bloc-2-margin-top:hover{
	;
}
.bloc-bloc-2-margin-bottom{
	margin-bottom:0px;
	font-family:"OpenSans-Regular";
}
.list-margin-bottom{
	margin-bottom:0px;
	font-family:"OpenSans-Regular";
}
.img-17-style{
	width:146px;
	margin-bottom:35px;
	font-family:"OpenSans-Regular";
}
.img-logo-dsb-zh-p-style{
	width:146px;
	margin-bottom:26px;
	font-family:"OpenSans-Regular";
}
.row-bloc-5-margin-bottom{
	margin-bottom:0px;
	font-family:"OpenSans-Regular";
}
.p-5-style{
	line-height:24px;
	font-family:"OpenSans-Regular";
}
.container-div-margin-top{
	margin-top:19px;
	font-family:"OpenSans-Regular";
}
.p-5-bloc-2-style{
	font-size:12px;
	font-family:"OpenSans-Regular";
}
.link-zyklus-2-style{
	font-weight:bold;
	font-family:"OpenSans-Regular";
}
.link-zyklus-3-style{
	font-weight:bold;
	font-family:"OpenSans-Regular";
}
.p-bloc-2-style{
	margin-bottom:26px;
	font-family:"OpenSans-Regular";
}
.buttonblue{
	background-color:#2797CD;
	font-family:"OpenSans-Regular";
	font-weight:600;
	margin-bottom:16px;
	font-size:16px;
	letter-spacing:-1px;
}
.btn-epub-laden-style{
	width:100%;
	font-family:"OpenSans-Regular";
}
.btn-bloc-2-style{
	width:100%;
	font-family:"OpenSans-Regular";
}
.buttonblue:hover{
	background-color:#2487BF;
}
.link-epub-reader-style{
	text-decoration:underline;
	font-family:"OpenSans-Regular";
}
.h3-bloc-1-style{
	font-family:"OpenSans-Regular";
}
.p-4-bloc-2-style{
	font-family:"OpenSans-Regular";
}
.p-11-style{
	font-family:"OpenSans-Regular";
}
.container-div-style{
	height:44px;
	font-family:"OpenSans-Regular";
}
.p-9-style{
	font-family:"OpenSans-Regular";
}
.p-4-style{
	font-family:"OpenSans-Regular";
}
.img-5-style{
	font-family:"OpenSans-Regular";
}
.row-style{
	font-family:"OpenSans-Regular";
	padding-bottom:25px;
	padding-top:0px;
	margin-top:23px;
}
.footer-link{
	font-family:"OpenSans-Regular";
}
.p-6-style{
	font-family:"OpenSans-Regular";
}
.p-8-style{
	font-family:"OpenSans-Regular";
}
.bloc-0-margin-bottom{
	font-family:"OpenSans-Regular";
}
.img-bloc-2-style{
	font-family:"OpenSans-Regular";
}
.img-logo-jm-rgb-style{
	width:96px;
	font-family:"OpenSans-Regular";
}
.p-87-style{
	font-size:15px;
	width:72.28%;
	font-family:"OpenSans-Regular";
}
.row-padding-top{
	padding-top:26px;
	padding-bottom:0px;
	margin-bottom:-109px;
	margin-top:8px;
	font-family:"OpenSans-Regular";
}
.divider-margin-top{
	margin-top:17px;
	font-family:"OpenSans-Regular";
}
.bloc-bloc-9-margin-top{
	margin-top:-25px;
	font-family:"OpenSans-Regular";
}
.bloc-bloc-11-margin-bottom{
	margin-bottom:0px;
	font-family:"OpenSans-Regular";
}
.img-logo-dsb-zh-j-style{
	width:150px;
}
.p-94-style{
	font-size:13px;
	width:100%;
}
.img-51-style{
	width:150px;
}
.img-50-style{
	height:80px;
}

/* = Colour
-------------------------------------------------------------- */

/* Swatch Variables */
:root{
	
	--swatch-var-7435:#4967DF;
	
	--swatch-var-5019:rgba(255,255,255,1.0);
	
	--swatch-var-2083:#FAFAFA;
	
}


/* Background colour styles */

.bgc-5019{
	background-color:var(--swatch-var-5019);
}

/* Bloc image backgrounds */




/* = Bloc Padding Multi Breakpoint
-------------------------------------------------------------- */

@media (min-width: 576px) {
    .bloc-xxl-sm{padding:200px 20px;}
    .bloc-xl-sm{padding:150px 20px;}
    .bloc-lg-sm{padding:100px 20px;}
    .bloc-md-sm{padding:50px 20px;}
    .bloc-sm-sm{padding:20px;}
    .bloc-no-padding-sm{padding:0 20px;}
}
@media (min-width: 768px) {
    .bloc-xxl-md{padding:200px 20px;}
    .bloc-xl-md{padding:150px 20px;}
    .bloc-lg-md{padding:100px 20px;}
    .bloc-md-md{padding:50px 20px;}
    .bloc-sm-md{padding:20px 20px;}
    .bloc-no-padding-md{padding:0 20px;}
}
@media (min-width: 992px) {
    .bloc-xxl-lg{padding:200px 20px;}
    .bloc-xl-lg{padding:150px 20px;}
    .bloc-lg-lg{padding:100px 20px;}
    .bloc-md-lg{padding:50px 20px;}
    .bloc-sm-lg{padding:20px;}
    .bloc-no-padding-lg{padding:0 20px;}
}


/* = Mobile adjustments 
-------------------------------------------------------------- */
@media (max-width: 1024px)
{
    .bloc.full-width-bloc, .bloc-tile-2.full-width-bloc .container, .bloc-tile-3.full-width-bloc .container, .bloc-tile-4.full-width-bloc .container{
        padding-left: 0; 
        padding-right: 0;  
    }
}
@media (max-width: 991px)
{
    .container{width:100%;}
    .bloc{padding-left: constant(safe-area-inset-left);padding-right: constant(safe-area-inset-right);} /* iPhone X Notch Support*/
    .bloc-group, .bloc-group .bloc{display:block;width:100%;}
}
@media (max-width: 767px)
{
    .bloc-tile-2 .container, .bloc-tile-3 .container, .bloc-tile-4 .container{
        padding-left:0;padding-right:0;
    }
    .btn-dwn{
       display:none; 
    }
    .voffset{
        margin-top:5px;
    }
    .voffset-md{
        margin-top:20px;
    }
    .voffset-lg{
        margin-top:30px;
    }
    form{
        padding:5px;
    }
    .close-lightbox{
        display:inline-block;
    }
    .blocsapp-device-iphone5{
	   background-size: 216px 425px;
	   padding-top:60px;
	   width:216px;
	   height:425px;
    }
    .blocsapp-device-iphone5 img{
	   width: 180px;
	   height: 320px;
    }
}

@media (max-width: 991px){
	.button-clean{
		box-shadow:0px 0px 0px rgba(0,0,0,0.10);
		width:100%;
	}
	h2{
		;
	}
	h3{
		padding-top:10px;
	}
	.h2-style{
		font-size:34px;
	}
	.p-margin-left{
		margin-left:-5px;
		width:98.57%;
	}
	.p-style{
		margin-left:-5px;
		width:98.57%;
	}
	.h2-bloc-5-style{
		width:100%;
	}
	.p-bloc-5-style{
		width:100%;
	}
	.img-17-style{
		margin-bottom:20px;
	}
	.img-logo-dsb-zh-p-style{
		margin-bottom:20px;
	}
	.img-5-style{
		width:344px;
	}
	.p-94-style{
		margin-top:13px;
		width:100%;
	}
	
}

@media (max-width: 767px){
	.header-icon{
		width:100px;
		margin-top:10px;
	}
	.h2-style{
		font-size:36px;
		margin-top:28px;
	}
	h2{
		font-size:36px;
	}
	.p-margin-left{
		margin-top:23px;
		margin-left:0px;
	}
	.h2-bloc-5-style{
		font-size:29px;
	}
	.p-bloc-5-style{
		width:100%;
	}
	.row-style{
		width:100%;
	}
	.img-17-style{
		margin-left:11px;
	}
	.img-logo-dsb-zh-p-style{
		margin-left:11px;
	}
	
}

@media (max-width: 575px){
	.footer-link{
		text-align:center;
	}
	.h2-style{
		font-size:26px;
	}
	.img-style{
		width:36px;
	}
	.h2-bloc-2-style{
		font-size:24px;
	}
	.h3-style{
		font-size:13px;
	}
	.p-margin-left{
		margin-top:22px;
		font-size:14px;
	}
	.h3-bloc-1-style{
		font-size:12px;
	}
	.p-bloc-2-style{
		font-size:14px;
	}
	.p-style{
		font-size:14px;
	}
	.p-4-style{
		font-size:14px;
	}
	.p-5-style{
		font-size:14px;
	}
	.p-6-style{
		font-size:14px;
	}
	.p-7-style{
		font-size:14px;
	}
	.p-8-style{
		font-size:14px;
	}
	.h2-bloc-5-style{
		font-size:26px;
	}
	.p-bloc-5-style{
		width:100%;
	}
	.bloc-0-margin-bottom{
		margin-bottom:12px;
	}
	.img-bloc-2-style{
		margin-bottom:12px;
	}
	
}

