/*!
Theme Name: LandingPage LuxusCharter
Theme URI: http://underscores.me/
Author: mpage
Author URI: http://m-page.de/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: landingpage-luxuscharter
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

LandingPage LuxusCharter is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* || GENERAL STYLES */

:root {
	--clr-accent: 48, 56, 79;
	--clr-accent-light: #e0e1e5;

    --ft-sans-serif: "Gilroy", "Arial", sans-serif;
    --ft-serif: "EB Garamond", "Times New Roman", serif;
}

* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	scroll-behavior: smooth;
}

*, html {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--ft-sans-serif);
    font-size: 1.1em;
	font-weight: 400;
    line-height: 1.7em;
    letter-spacing: .3px;
    font-kerning: normal;
}

a {
    text-decoration: none;
    color: #000;
}

a:active {
    color: #000;
}

a:hover {
    color: #777;
}

a:focus {
    outline: none;
}

p,
ul, ol,
h1, h2, h3, h4, h5, h6 {
	margin: 1.7em 0 0 0;
}

p:first-of-type,
ul:first-of-type, ol:first-of-type,
h1:first-of-type, h2:first-of-type, h3:first-of-type, h4:first-of-type, h5:first-of-type, h6:first-of-type {
	margin-top: 0;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--ft-serif);
	font-weight: 500;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

ul {
    padding: 0 0 0 20px;
}

* input,
* textarea,
* select {
	border-radius: 0;
	border: 1px solid #000;
	padding: 10px;
}

* input[type=submit] {
	font-family: var(--ft-sans-serif);
    padding: 10px;
    background: transparent;
    cursor: pointer;
}

table {
	width: 100%;
    margin: 20px 0;
    font-size: .7em;
    text-align: center;
    border-collapse: collapse;
}

td, tr, th {
	padding: 6px;
    border: 1px solid #000;
}

button {
	font-family: var(--ft-sans-serif);
	font-size: 1em;
    background: transparent;
    border: 1px solid #000;
    padding: 10px 20px;
    cursor: pointer;
}

.center {
	text-align: center;
}

strong,
.strong {
	font-weight: 600;
}

/* || LAYOUT */

.container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 30px;
}

.col {
	margin: 1.3em 0;
}

@media only screen and (min-width: 1370px) {
	.custom-width.row {
		margin: 0 -100px;
    	width: calc(100% + 200px);
	}
}

@media only screen and (min-width: 1180px) {
    .container {
        padding: 0;
    }
}

@media only screen and (min-width: 880px) {
    .row {
        width: 100%;
        margin: 1.3rem 0;
        padding: 0;
        display: flex;
        gap: 4rem;
    }

    .col {
        display: flex;
		flex-direction: column;
		margin: 0;
    }
	
	.single-center-content {
		width: 70%;
		margin: auto;
	}

    .col-12 {
        width: 100%;
    }
	
	.col-8 {
		width: 75%;
	}

    .col-6 {
        width: 50%;
    }

    .col-3 {
        width: 25%;
    }

    .col-4 {
        width: 33.33%;
    }
	
	.col-5 {
		width: 20%;
	}

    .col-2 {
        width: 16.66%;
    }

    .col-1 {
        width: 8.33%;
    }
	
	#main-navigation {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

    /* || FOOTER */

    footer .col {
        display: grid;
        align-items: end;
    }

    footer .col:nth-of-type(2) {
        justify-content: center;
    }

    footer .col:nth-of-type(3) {
        justify-content: flex-end;
    }
}

@media only screen and (max-width: 650px) {
	
	body {
		text-align: center;
	}
	
	.hide-mobile {
		display: none;
	}
}

@media only screen and (min-width: 650px) {
	.hide-desktop {
		display: none;
	}
}

footer .col {
	margin: 1.3em 0;
}

.row.heading {
    display: block;
}

section {
    margin: 100px 0;
}

/* || CUSTOM MARGIN */

.m-0 {
	margin: 0;
}

.mt-100 {
	margin: 100px 0 0 0;
}	

/* || CUSTOM PADDING */

.p-50 {
	padding: 50px 0;
}

.p-100 {
	padding: 100px 0;
}

.p-200 {
	padding: 200px 0;
}

/* || HEADER */

header {
    max-width: 100vw;
    height: 800px;
	background-color: rgb(var(--clr-accent));
	background-image: url(https://luxuscharter-berlin.m-page.one/landingpage/wp-content/uploads/2021/04/header-large.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	display: flex;
}

header::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(var(--clr-accent),.6);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
}

.header-text {
	color: #fff;
	text-align: center;
	align-self: center;
	z-index: 9;
}

.header-text h1 {
	font-family: var(--ft-sans-serif);
	font-size: 3.5em;
	line-height: 110%;
	font-weight: 600;
}

header .header-element {
	text-align: center;
    position: absolute;
    bottom: -110px;
    left: 0;
    right: 0;
    z-index: 9;
}

.element-text {
	font-family: var(--ft-serif);
    font-size: 4em;
	line-height: 160%;
    font-style: italic;
	margin-bottom: .3em;
}

header .element-text {
	color: #fff;
}

.element-box {
	font-family: var(--ft-serif);
	font-size: 1.5em;
	line-height: 1.6em;
	color: rgb(var(--clr-accent));
	background: #fff;
	padding: 2em 7em;
    box-shadow: 10px 10px 10px #42424230;
}

main .header-element {
    text-align: center;
}

main .element-box {
	font-size: 1.2em;
	padding: 1em 0;
	box-shadow: 0 0 0 transparent;
}

@media only screen and (max-width: 650px) {
	
	header {
		height: unset;
		display: block;
	}
	
	.header-text h1 {
		font-size: 2em;
	}
	
	.header-text {
		padding: 10em 2em 3em 2em;
		position: relative;
	}
	
}

#site-logo img,
#footer .footer-area-one img {
	max-width: 200px !important;
}

/* || NAVIGATION */

#main-navigation {
    width: 100%;
    position: absolute;
    padding: 20px 40px;
	z-index: 999;
	display: flex;
}

#site-logo {
	width: 40%;
}

.menu-right {
	width: 60%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.menu-right svg {
	fill: #fff;
	width: 30px;
	height: 30px;
	margin-left: .6em;
}

.menu-right svg:hover {
	fill: rgb(var(--clr-accent));
}

.h2 {
    font-weight: 700;
    font-size: 2.5em;
	line-height: 100%;
}

button:hover,
button.active,
input[type="submit"]:hover {
    background: #fff;
	border: 1px solid rgb(var(--clr-accent));
    color: rgb(var(--clr-accent)) !important;
}

button:focus {
    border-radius: 0;
    outline: 0 none;
}

/* || WILLKOMMEN */

#section-1 {
	position: relative;
	border-bottom: 5px solid #fff;
}

#section-1 .col-6:nth-of-type(2) {
	font-size: 1.2em;
	color: rgb(var(--clr-accent));
	display: flex;
	justify-content: center;
	
}

#section-2,
#section-3 {
	color: #fff;
	background: rgb(var(--clr-accent));
}

#section-2 .col-6:nth-of-type(1) {
	font-family: var(--ft-serif);
	font-size: 1.2em;
	
}

#section-2 .col-6:nth-of-type(2) {
	display: flex;
	justify-content: center;
	
}

#section-2 .col-6:nth-of-type(2) button {
	color: #fff;
	font-weight: 700;
    border: 1px solid #fff;
	width: max-content;
}

#section-3 {
	border-top: 2px solid #fff;
}

#section-3 a {
	color: #fff;
}

#section-3 .cta-mail {
	font-size: 1.5em;
	font-weight: 700;
	margin-top: 1em;
}

#section-4 .h2 {
	color: rgb(var(--clr-accent));
}

@media only screen and (max-width: 650px) {
	
	.h2 {
		font-size: 2em;
	}
	
	#section-4 .h2 {
		margin-bottom: 1.5em;
	}
	
	#section-3 .cta-mail {
		font-size: 1em;
	}
}

footer {
	border-top: 2px solid;
}

.scrollToTopBtn {
	background: #fff;
	position: fixed;
	bottom: 50px;
	right: 30px;
	z-index: 100;
	opacity: 0;
	transform: translateY(100px);
	transition: all .5s ease
}
    
.showBtn {
	opacity: 1;
	transform: translateY(0)
}

.social-media-buttons svg {
	height: 30px;
	width: 30px;
	margin-right: 10px;
}

/* || MEDIA QUERIES */

@media only screen and (max-width: 1140px) {
	.element-box {
		padding: 2em 2em;
	}
	
	.element-text {
		font-size: 3em;
	}
}

@media only screen and (max-width: 880px) {
	.element-text {
		font-size: 2em;
	}
	
	#section-3 {
		text-align: center;
	}
}

@media only screen and (max-width: 768px) {
	
	footer {
		text-align: center;
	}
	
	footer .footer-area-one a {
		display: flex;
		justify-content: center;
	}
	
	footer .col {
		margin: 40px 0;
	}
	
}

@media only screen and (max-width: 500px) {
	
	#site-logo img,
	#footer .footer-area-one img {
		max-width: 150px !important;
	}
	
	.scrollToTopBtn {
    	padding: 5px 10px;
	}
	
}

@media only screen and (max-width: 470px) {
	
	#main-navigation {
		flex-wrap: wrap;
	}
	
}

/** || CONSENT **/

#usercentrics-button .uc-banner-content {
    background: #fff !important;
}

#uc-banner-centered {
    border: 1px solid #000;
    border-radius: 0;
}

#usercentrics-button .uc-btn-new.uc-btn-deny,
#usercentrics-button .uc-btn-new.uc-btn-accept,
#usercentrics-button .uc-btn-new.uc-btn-more {
	background: #fff !important;
    border: 1px solid #000;
    border-radius: 0;
}

#usercentrics-button .uc-btn-new.uc-btn-accept {
	background: #000 !important;
    color: #000;
}

#usercentrics-button .uc-privacy-button-wrapper {
    left: 40px !important;
    bottom: 40px !important;
}