/* ==============================================
   0. Fonts 
===============================================*/

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/roboto-v49-latin-300.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url('fonts/roboto-v49-latin-300italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/roboto-v49-latin-regular.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/roboto-v49-latin-italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/roboto-v49-latin-500.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/roboto-v49-latin-500italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/roboto-v49-latin-700.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/roboto-v49-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/roboto-v49-latin-900.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 900;
  src: url('fonts/roboto-v49-latin-900italic.woff2') format('woff2');
}

/* ==============================================
   1. General 
===============================================*/

:root {
    --blau: #0C3FB0;
    --blau-hover: #052E7A;
    --lila: #A03176;
}

html {
  scroll-padding-top: 140px;
}

body {
	font-family: 'Roboto', sans-serif;
	color: var(--blau);
    background: #CCE9ED;
    background: linear-gradient(180deg,rgba(204, 233, 237, 1) 0%, rgba(197, 222, 201, 1) 100%);
}

h1 {
	font-size: 70px;
	font-weight: 700;
    text-shadow: 2px 1px 3px #999999;
    margin: 40px 0 50px;
}

h2 {
	font-size: 44px;
	font-weight: 700;
    text-shadow: 2px 1px 3px #999999;
    margin-bottom: 40px;
}

h3 {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 25px;
}

h5 {
	font-size: 24px;
    text-shadow: 2px 1px 3px #999999;
}

p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .05em;
}

ul {
	list-style-type: none;
	padding-left: 0px;
}

a {
    color: var(--blau);
}
a:hover {
    color: var(--blau-hover);
}

b {
	font-weight: 700;
}

section {
	padding: 50px 0px;
}

.title-block {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}

.title-block,
.title-block p {
    font-size: 36px;
    font-weight: 500;
    text-shadow: 1px 1px 0px #999999;
}

.title-block li {
    list-style: none;
    display: inline-flex;
    gap: 20px;
    padding: 7px 20px;
}

.title-block li::before {
    content: '';
    display: inline-block;
    height: 30px;
    width: 30px;
    background-image: url('../images/check.png');
    background-repeat: no-repeat;
    background-size: 25px;
}

/* ==============================================
   2. Navbar 
===============================================*/

#navbar {
	background-color: transparent;
	height: 70px;
	max-height: 70px;
    transition: background-color 0.5s ease;
}

#navbar.scrolled {
    background-color: rgba(255, 255, 255);
    box-shadow: 0 2px 4px 0 rgba(0,0,0,.09);
}

.custom-navbar .container {
    display: flex;
    align-items: center;
}

.navbar-toggler {
	font-size: 38px;
	background-color: transparent;
}

.navbar-toggler:focus {
	text-decoration: none;
	outline: none;
}

.navbar-toggler span {
	color: #000000;
}

.nav-custom-link {
	font-size: 20px;
	font-weight: 300;
	letter-spacing: .05em;
}

.navbar a {
	color: var(--blau);
    font-weight: 400;
    font-size: 24px;
}

.nav-right {
	float: right;
}

.nav-logo {
    height: 35px;
    width: auto;
}

/* ==============================================
   3. Buttons
===============================================*/

.btn {
	font-size: 20px;
	font-weight: 400;
	border-radius: 50px !important;
	box-shadow: 0 2px 3px 0 rgba(0,0,0,.05), 0 1px 2px 0 rgba(0,0,0,.08);
}

.btn:hover {
	text-decoration: none;
}

.btn-regular {
	background-color: var(--blau);
	color: #ffffff;
	padding: 15px 40px;
	letter-spacing: .1em;
	margin-top: 25px;
	display: inline-block;
    text-shadow: none;
}

.btn-regular:hover {
	background-color: var(--blau-hover);
	color: #ffffff;
}

.btn-demo {
	color: #ffffff;
	background-color: #6772e5;
	letter-spacing: .1em;
	padding: 15px 48px;
	display: inline-block;
	width: 100%;
	margin-top: 20px;
}

.btn-demo:hover {
	color: #ffffff;
	background-color: #636ee1;
}

.btn-demo-small {
	font-size: 12px;
	background-color: #6772e5;
	padding: 1px 4px;
}

.btn-demo-small:hover {
	background-color: #636ee1;
}

.btn-demo-small a {
	color: #ffffff!important;
}

.btn-buy {
	color: #ffffff;
	background-color: #0095f7;
	letter-spacing: .1em;
	padding: 15px 48px;
	display: inline-block;
	width: 100%;
	margin-top: 20px;
}

.btn-buy:hover {
	background-color: #0191f0;
	color: #ffffff;
}

/* ==============================================
   4. Hero
===============================================*/

#hero {
    margin-top: 50px;
    text-align: center;
}

#hero span {
    color: var(--lila);
    font-size: 56px;
}

/* ==============================================
   5. Intro
===============================================*/

#intro h2 {
    color: var(--lila);
    margin-top: 60px;
}

.dots {
    display: block;
    text-align: center;
}

/* ==============================================
   6. Impressum
===============================================*/

#impressum {
    padding-top: 0;
}

#impressum .title-block, #impressum .title-block p {
    font-size: 20px;
    line-height: 28px;
    text-shadow: none;
}
#impressum .title-block h3 {
    font-weight: 700;
}

#impressum .title-block p {
    margin-bottom: 30px;
}

/* ==============================================
   7. Footer
===============================================*/

footer {
    padding: 60px 0;
}

footer .row {
    align-items: center;
    row-gap: 50px;
}

footer h5 {
	letter-spacing: .1em;
	margin-bottom: 20px;
    color: var(--lila)
}

footer p {
	font-size: 20px;
	color: #000;
	text-align: justify;
	padding: 0px;
}

footer a {
	color: #000;
}

footer a:hover {
	color: var(--blau);
	text-decoration: none;
}

footer div:nth-child(1) img {
	max-height: 150px;
    float: right;
}

footer div:nth-child(2) img {
	max-height: 280px;
    float: left;
}

/* ==============================================
   8. Media Queries
===============================================*/

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) { 
	h2 {
		font-size: 30px;
		line-height: 1.6;
	}
	.title-block h2, p {
		text-align: left;
		padding: 0px 20px;
	}

	footer {
		padding: 60px 25px;
	}
	footer h5 {
		font-size: 18px;
		margin-top: 30px;
	}
	footer li {
		font-size: 16px;
		margin-bottom: 15px;
	}
	footer p {
		font-size: 16px;
	}
	footer i {
		font-size: 30px;
		margin-right: 20px;
	}
	footer small {
		float: left;
		margin-top: 20px;
	}
}

@media (max-width: 768px) { 
	#hero h1 {
		font-size: 50px;
	}
    #hero h1 span {
        font-size: 40px;
    }
    footer div img {
        float: none !important;
    }
}

@media (max-width: 991px) {
    html {
        scroll-padding-top: 100px;
    }

    section {
        padding: 30px 0px;
    }

	.nav-right {
		float: left;
	}
    .navbar-collapse {
        background-color: #ffffff;
    }
	.nav-custom-link {
		border-bottom: 1px solid #EEE;
	}
	.navbar-nav{
		width: 100%;
	}
	.navbar-nav .nav-link {
		padding: 20px 0;
		text-align: left;
	}

	.nav-custom-link {
		font-size: 13px;
	}

	.icon-mobile {
		font-size: 18px;
		float: right;
	}

	.navbar-collapse {
		border-bottom: 1px solid #efefef;
	}

	.nav-logo-mobile {
		margin: auto;
	}

	.nav-logo-desktop {
		display: none;
	}

    h2 {
        text-shadow: 1px 1px 20px #dddddd;
    }

    .title-block, .title-block p {
        font-size: 24px;
        font-weight: 500;
        text-shadow: 1px 1px 20px #dddddd;
    }
}

@media (min-width: 992px) { 
	.icon-mobile {
		display: none;
	}
	.nav-logo-mobile {
		display: none;
	}
}