/*------------------------------------------------------------------
Livia Wohnbau
Version: 1.0;
Author: jo's büro für Gestaltung | Designbüro & Agentur
Author URI: https://www.jos-buero.de

/*-----------------------------------------------------------------*/

/*------------------------------------------------------------------
[ Fonts ]
*/
/* poppins-regular - latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/poppins-v20-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v20-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v20-latin-regular.svg#Poppins') format('svg'); /* Legacy iOS */
}

/* poppins-600 - latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/poppins-v20-latin-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v20-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v20-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v20-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v20-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v20-latin-600.svg#Poppins') format('svg'); /* Legacy iOS */
}
/* merriweather-regular - latin */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/merriweather-v30-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/merriweather-v30-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/merriweather-v30-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/merriweather-v30-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/merriweather-v30-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/merriweather-v30-latin-regular.svg#Merriweather') format('svg'); /* Legacy iOS */
}

/* merriweather-700 - latin */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/merriweather-v30-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/merriweather-v30-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/merriweather-v30-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/merriweather-v30-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/merriweather-v30-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/merriweather-v30-latin-700.svg#Merriweather') format('svg'); /* Legacy iOS */
}

/*------------------------------------------------------------------
[ General]
*/
html {
	-webkit-font-smoothing: antialiased;
	font-size: 62.5%;
}
html, body {
	max-width: 100%;
    overflow-x: hidden;
}
body { 
	margin:0;
	padding:0;
	color: #2F3E46;
    font-family: 'Poppins', sans-serif;
	font-weight: normal;
	font-style: normal;
	font-size: 1.5rem;
	line-height: 1.3;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	-moz-osx-font-smoothing: grayscale;
	width: 100%;
    background: #fff;
    overflow-x: hidden;
	overflow-y: scroll;
}
*,
*:before,
*:after {
	box-sizing: border-box;
}
.divider, hr {
	border: none;
	border-bottom: 0px solid #eaeaea;
	padding: 4rem 0;
	height: 0;
}

/*------------------------------------------------------------------
[ Grid ]
*/
.container {
	width: 100%;
	max-width: 140rem;
	margin: 0 auto;
	position: relative;
}
.grid {
	display: block;
    clear: both;
    width: 100%;
    margin: 0 auto;
}
.grid .col,
[class*="content-grid"] .grid-item {
	float: left;
	width: 100%;
	padding: 0 2rem;
}
.grid .grid {
	width: auto;
}

/* Kill nested padding */
.col .col:not(.pull-right):first-child { padding-left: 0;}
.col .col:not(.pull-left):last-child { padding-right: 0;}
.col .col:only-child {
    padding-right: 2rem !important;
}
.col[class*='offset-']:only-child {
    padding-left: 2rem !important;
    padding-right: 0 !important;
}

/* No gutter */
.no-gutter .col,
.col.no-gutter {
	padding: 0 !important;
}

/* Column Widths */
.grid .span-1	{width: 8.33333%;}
.grid .span-2	{width: 16.66667%;}
.grid .span-3	{width: 25%;}
.grid .span-4	{width: 33.33333%;}
.grid .span-5	{width: 41.66667%;}
.grid .span-6	{width: 50%;}
.grid .span-7	{width: 58.33333%;}
.grid .span-8	{width: 66.66667%;}
.grid .span-9	{width: 75%;}
.grid .span-10	{width: 83.33333%;}
.grid .span-11	{width: 91.66667%;}
.grid .span-12	{width: 100%;}

/* Rearrange Columns */
.col.pull-left    { float: left;}
.col.pull-right   { float: right;}
.col .col.pull-left    { padding-left: 0;}
.col .col.pull-right   { padding-right: 0;}

/* Offset */
.grid .offset-1    {margin-left: 8.33333%;}
.grid .offset-2	   {margin-left: 16.66667%;}
.grid .offset-3	   {margin-left: 25%;}
.grid .offset-4	   {margin-left: 33.33333%;}
.grid .offset-5	   {margin-left: 41.66667%;}
.grid .offset-6	   {margin-left: 50%;}
.grid .offset-7	   {margin-left: 58.33333%;}
.grid .offset-8	   {margin-left: 66.66667%;}
.grid .offset-9    {margin-left: 75%;}
.grid .offset-10   {margin-left: 83.33333%;}
.grid .offset-11   {margin-left: 91.66667%;}

/* Clearfix*/
.grid {
 	*zoom: 1;
}
.grid:before, .grid:after {
	display: table;
	content: "";
	line-height: 0;
}
.grid:after {
	clear: both;
}
[class*="content-grid"] {
    margin-left: -2rem;
    margin-right: -2rem;
    overflow: hidden;
}
[class*="content-grid"] .grid-item {
	margin: 0 0 4rem;
	float: left;
}
[class*="content-grid"] .thumbnail {
	float: none;
    margin: 0;
}

/* Item Widths */
.content-grid-1 .grid-item {
	width: 100%;
}
.content-grid-2 .grid-item {
	width: 50%;
}
.content-grid-3 .grid-item {
	width: 33.33333%;
}
.content-grid-4 .grid-item {
	width: 25%;
}
.content-grid-5 .grid-item {
	width: 20%;
}
.content-grid-6 .grid-item {
	width: 16.66667%;
}
[class*="content-grid"].no-gutter,
[class*="content-grid"].no-gutter .grid-item {
    margin: 0;
    padding: 0;
}

/*------------------------------------------------------------------
[ Typography ]
*/
h1, .elementor-widget-heading h1.elementor-heading-title,
h2, .elementor-widget-heading h2.elementor-heading-title,
h3, .elementor-widget-heading h3.elementor-heading-title,
h4, .elementor-widget-heading h4.elementor-heading-title,
h5, .elementor-widget-heading h5.elementor-heading-title,
h6, .elementor-widget-heading h6.elementor-heading-title {
	color: #2F3E46;
    font-weight: normal;
    line-height: 1.2;
	margin: 0;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}
.elementor-element.blue h1, .elementor-element.blue .elementor-widget-heading h1.elementor-heading-title,
.elementor-element.blue h2, .elementor-element.blue .elementor-widget-heading h2.elementor-heading-title,
.elementor-element.blue h3, .elementor-element.blue .elementor-widget-heading h3.elementor-heading-title,
.elementor-element.blue h4, .elementor-element.blue .elementor-widget-heading h4.elementor-heading-title,
.elementor-element.blue h5, .elementor-element.blue .elementor-widget-heading h5.elementor-heading-title,
.elementor-element.blue h6, .elementor-element.blue .elementor-widget-heading h6.elementor-heading-title,
.elementor-element.blue p, .elementor-element.blue .elementor-widget-heading p.elementor-heading-title  {
	color: #fff;
}
h1,
.elementor-widget-heading h1.elementor-heading-title {
    font-family: 'Merriweather';
	font-size: 3.5rem;
    font-weight: normal;
}
h2,
.elementor-widget-heading h2.elementor-heading-title {
    font-family: 'Merriweather';
	font-size: 3rem;
    font-weight: normal;
}
h3,
.elementor-widget-heading h3.elementor-heading-title {
	font-size: 2.8rem;
    font-weight: normal;
}
h4,
.elementor-widget-heading h4.elementor-heading-title {
	font-size: 1.8rem;
    font-weight: normal;
}
h5,
.elementor-widget-heading h5.elementor-heading-title {
	font-size: 1.6rem;
    font-weight: normal;
}
h6,
.elementor-widget-heading h6.elementor-heading-title {
	font-size: 1.4rem;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}
h1 a:hover, 
h2 a:hover, 
h3 a:hover, 
h4 a:hover, 
h5 a:hover, 
h6 a:hover {
    color: inherit;
}
p,
.elementor-widget-heading p.elementor-heading-title {
    color: #2F3E46;
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1.6;
	margin: 0 0 2rem 0;
}
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}
a, p a {
	color: #202020;
	text-decoration: none;
	outline: none;
    transition: all 0.25s ease-out;
}
a:hover, 
p a:hover{
	color: #202020;
	text-decoration: none;
}
a:focus {
   outline: none;
}
strong, b {
    font-weight: 700;
}
.multi-column {
    margin: 0 auto;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 3rem;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    max-width: 100rem;
}
.elementor-heading-title,
.elementor-slide-description,
.elementor-gallery-item__description,
.elementor-carousel-image-overlay,
.elementor-cta__description,
.wp-caption .wp-caption-text,
.gallery-caption,
.entry-caption {
    white-space: pre-line;
}

/* Text Highlight */
::selection {
	background: #333;
	color: #fff;
}
::-moz-selection {
	background: #333;
	color: #fff;
}

/*------------------------------------------------------------------
[ Lists ]
*/
ul, ol {
	margin: 0 0 3rem 0;
	padding: 0;
}
ul {
	list-style: disc outside;
    padding: 0 2rem;
}
ol {
	list-style: decimal inside;
}
ul ul, ul ol,
ol ol, ol ul {
	margin: 0.3rem 0 0.3rem 2rem;
	list-style: inherit;
}
ol ul {
	list-style: disc inside;
}
.elementor-widget-container ul {
    padding: 0;
}
.elementor-widget-container ul li {
    position: relative;
    margin-bottom: 1.6rem;
    padding-left: 4rem;
    font-size: 1.8rem;
    font-weight: 300;
    list-style: none;
}
.elementor-widget-container ul li::before {
    content: '';
    position: absolute;
    top: 2rem;
    left: 0;
    height: .5rem;
    width: 3rem;
    background: #2F3E46;
}
.elementor-element.blue .elementor-widget-container ul li {
    color: #fff;
}
.elementor-element.blue .elementor-widget-container ul li::before {
    background: #fff;
}

/*------------------------------------------------------------------
[ Tables ]
*/
table {
	border: none;
	border-collapse: collapse;
	width: 100%;
}
table caption { 
    font-size: 2rem; 
    color: #444;
    margin: 1rem;
}
table thead th {
    text-align: left;
    border-bottom: 6px solid #2F3E46;
}
td, th {
    vertical-align: top;
    padding: 1.6rem 2rem;
	border: none;
}
.elementor-widget-text-editor:not(.custom) td,
.elementor-widget-text-editor:not(.custom) th {
    padding-left: 0;
}
.elementor-widget-text-editor.custom tr td:first-child {
    border-right: 1px solid #fff;
    border: none;
}
tbody th {
    text-align: left;
    border: none;
    background: #E2E4E5;
}
tbody tr td:not(:first-child) {
    border: 2px solid #E2E4E5;
}
tbody tr td:nth-child(2) {
    border-left: none;
}
tbody tr td:last-child {
    border-right: none;
}
/*
tbody tr:nth-of-type(2n) {
	background-color: #f6f4f4;
}
*/
table tbody tr td::before {
  display: none;
}

/*------------------------------------------------------------------
[ Top Bar ]
*/
/* regular styling (for scrolling up) */
.top {
	position: fixed;
    top: 0;
    padding: 0 9rem;
    width: 100%;
    z-index: 1010;
    height: 21rem;
    visibility: visible;
    opacity: 1;
    transition: all 0.25s ease-out;
}
body.elementor-editor-active .top {
    pointer-events: none;
}
.top .container {
    max-width: 100%;
}
.logo {
    position: absolute;
    top: 6rem;
    left: 0;
	padding: 0;
    opacity: 1;
    transition: all 0.25s ease-out;
}
.logo img {
    width: 24rem;
    transition: all 0.25s ease-out;
}
/* styling for scrolling past header section */
.top.down {
    padding: 0 9rem;
    height: 12rem;
    background: rgba(47, 62, 70, .95);
    /*box-shadow: 0 .8rem 1.5rem rgba(0, 0, 0, 0.1);*/
}
.top.down .logo {
    top: 2rem;
}
.top.down .logo img {
    width: 18rem;
}
.top.down .menu {
    top: 3.5rem;
}
.top.down .navigation {
    top: 3.8rem;
}
/* styling for scrolling down */
.top.shrink {
    /*
    opacity: 0;
    visibility: hidden;
    */
}
/* styling for opened overlay */
.top.force {
    opacity: 1 !important;
    visibility: visible !important;
}
.top.force #nav-icon span {
    background: #fff !important;
}

/*------------------------------------------------------------------
[ Navigation ]
*/
.menu,
.menu ul {
	margin: 0;
	padding: 0;
}
.menu {
    position: absolute;
	top: 7.4rem;
	right: 12rem;
	display: block;
	width: auto;
    transition: top 0.25s ease-out;
}
.menu a:focus {
   outline: none;
}
.menu li {
	display: inline-block;
	position: relative;
	z-index: 100;
}
.menu > li {
	margin: 0 2vw;
}
.menu > li > a {
    height: 4.8rem;
}
.menu li a {
    position: relative;
	font-size: 1.8rem;
	font-weight: normal;
	text-decoration: none;
    text-transform: uppercase;
	padding: 1.5rem 1rem;
	display: block;
	color: #fff;
}
.menu li > a:hover,
.menu li:hover > a {
	color: #D3D3D3;
}
.menu > li.current-menu-item > a,
.menu > li.current-menu-parent > a,
.menu > li.current_page_item > a,
.menu > li.current-page-parent > a,
.menu > li.current_page_ancestor > a,
.menu > li.current-page-ancestor > a,
.menu > li.current-menu-ancestor > a,
.menu > li.current-projekte_category-ancestor > a,
.menu li.current > a {
    font-weight: 600;
    color: #fff;
    border-bottom: 4px solid #fff;
}
/*
.menu li.has-child > a:after {
    content: '';
    position: absolute;
    bottom: 1rem;
    left: 50%;
    margin-left: -.3rem;
    width: .6rem;
    height: .6rem;
    background: url(../images/sub-indicator.png) no-repeat center center;
}
*/
.menu ul { 
	display: none;
	position: absolute;
	top: 4.8rem;
	left: 0;
    padding: 1rem 0 1rem 0;
	width: 26rem;
    background: rgba(255,255,255,.95);
    box-shadow: 0 .8rem 1.5rem rgba(0, 0, 0, 0.1);
}
.menu li:hover > ul { 
	display: block;
    opacity: 1;
	-webkit-animation: fadeIn .5s both;
    animation: fadeIn .5s both;
}
@-webkit-keyframes fadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}
@keyframes fadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}
.menu ul li { 
	display: block;
	float: none;
}
.menu ul li a {
	display: block;
    padding: .6rem 1.5rem;
    font-size: 1.42rem;
	color: #4d4d4d;
}
.menu ul li a:hover,
.menu ul li:hover > a {
	color: #111;
}
.menu ul ul {
	top: 0;
	left: 26rem;
}

/*------------------------------------------------------------------
[ Overlay Navigation]
*/
.navigation {
	position: absolute;
    z-index: 1002;
    right: 0;
    top: 8rem;
    height: 4rem;
	cursor: pointer;
    transition: all 0.25s ease-out;
}
#nav-icon {
	width: 5.8rem;
	height: 3rem;
	position: relative;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	transform: rotate(0deg);
	transition: .5s ease-in-out;
	cursor: pointer;
	float: right;
}
#nav-icon span {
	display: block;
	position: absolute;
	height: .4rem;
	width: 100%;
	background: #fff;
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	transform: rotate(0deg);
	transition: .25s ease-in-out;
}
#nav-icon span:nth-child(1) {
	top: .4rem;
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	transform-origin: left center;
}
#nav-icon span:nth-child(2) {
	top: 1.6rem;
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	transform-origin: left center;
}
#nav-icon span:nth-child(3) {
	top: 2.8rem;
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	transform-origin: left center;
}
#nav-icon.open span:nth-child(1) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 0;
	left: .8rem;
}
#nav-icon.open span:nth-child(2) {
	width: 0%;
	opacity: 0;
}
#nav-icon.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 4rem;
	left: .8rem;
}
#nav-icon span:nth-child(2) {
	width: 80%;
    margin-left: 20%;
}
#nav-icon:not(.open):hover span:nth-child(2) {
    width: 100%;
    margin-left: 0;
}
#nav-icon:not(.open):hover span:nth-child(1),
#nav-icon:not(.open):hover span:nth-child(3) {
    width: 80%;
    margin-left: 20%;
}
.mainnavigation {
    position: relative;
	display: block;
	margin: 0;
	padding: 0;
}
ul.mainnavigation {
    margin-top: 0;
    margin-bottom: 5.4rem;
    padding-left: 0;
}
.mainnavigation li {
    position: relative;
	display: block;
	margin:0;
	padding:0;
}
.mainnavigation li a {
    font-size: 1.8rem;
    font-weight: normal;
    text-decoration: none;
	padding: 1rem .5rem;
	display: block;
	color: #fff;
    line-height: 1;
	transition: all 0.25s ease-out;	
}
.mainnavigation li.current-menu-item > a,
.mainnavigation li.current_page_item > a,
.mainnavigation li.current-page-parent > a,
.mainnavigation li.current_page_ancestor > a,
.mainnavigation li.current-page-ancestor > a,
.mainnavigation li.current-menu-ancestor > a,
.mainnavigation li a:hover,
.mainnavigation li.active > a,
.mainnavigation li:hover > a {
	color: #D3D3D3;
}
.mainnavigation ul {
    display: none;
	margin: 0 0 2rem;
	padding: 0;
    padding-left: 1rem;
}
.mainnavigation ul li { 
	display: block;
	margin: 0;
    width: 100%;
}
.mainnavigation ul li a {
	display: block;
	color: #fff;
    padding: 1rem .5rem;
	transition: all 0.2s linear;
}
.mainnavigation ul ul li a {
    font-size: 1.4rem;
    font-weight: 400;
}
.mainnavigation ul li.current-menu-item > a,
.mainnavigation ul li.current_page_item > a,
.mainnavigation ul li.current-page-parent > a,
.mainnavigation ul li.current_page_ancestor > a,
.mainnavigation ul li.current-page-ancestor > a,
.mainnavigation ul li.current-menu-ancestor > a,
.mainnavigation ul li.current_page_ancestor > a,
.mainnavigation ul li a:hover,
.mainnavigation ul li.active > a,
.mainnavigation ul li:hover > a {
	color: #D3D3D3;
}
.mainnavigation .expand {
    position: absolute;
    top: 0;
    right: 0;
    padding-top: .4rem;
    font-family: Arial, Helvetica, sans-serif;
    color: #fff;
    line-height: 1;
    font-size: 2.5rem;
    text-decoration: none;
    text-transform: uppercase;
    text-align: center;
    width: 3.6rem;
    height: 3.6rem;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.mainnavigation ul .expand {
    padding-top: .8rem;
}
.mainnavigation .expand:after {
    content: '+';
}
.mainnavigation .expand.active:after {
    content: '-';
}
#secondary-menu-side {
    display: none;
    margin-bottom: 2rem;
}

/*------------------------------------------------------------------
[ Overlay / Navigation ]
*/
.overlay {
    position: fixed;
    right: -100%;
    z-index: 1001;
    overflow: auto;
    width: 32rem;
    height: 100%;
    background: rgba(47, 62, 70, .95);
    opacity: 0;
    transition: right .5s, opacity 0.5s ease;
}
.overlay.active {
    right: 0;
    opacity: 1;
    transition: right .3s, opacity .5s cubic-bezier(.14,.62,0,1);
}
.overlay .container {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: 100%;
    padding-top: 21rem;
}
.overlay .grid.navigations {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    opacity: 0;
}
.overlay.active .grid.navigations {
    padding-top: 0;
    opacity: 1;
    transition: padding 1s cubic-bezier(.14,.62,0,1), opacity .4s linear;
    transition-delay: .3s;
}

/*------------------------------------------------------------------
[ Buttons ]
*/
.button,
button,
.site-content a.elementor-button,
.elementor-popup-modal .elementor-button,
.content .elementor-field-type-submit .elementor-button,
.footer .elementor-field-type-submit .elementor-button,
.content .elementor-slides .swiper-slide-inner .elementor-slide-button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
    position: relative;
	display: inline-block;
    margin: 1rem .5rem 0 0;
	padding: 2.2rem 3rem;
	color: #2F3E46;
	text-align: center;
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1;
	text-decoration: none;
    text-transform: uppercase;
	white-space: nowrap;
	background-color: transparent;
	border: 1px solid #2F3E46;
	cursor: pointer;
	transition: all 0.25s ease-out;
    border-radius: 0;
}
.content .elementor-slides .swiper-slide-inner .elementor-slide-button,
.site-content .elementor-element.blue a.elementor-button,
.site-content .elementor-element.blue .elementor-field-type-submit .elementor-button {
    color: #fff;
    border: 1px solid #fff;
}
.site-content .elementor-widget-button.arrow a.elementor-button {
    border: none;
    padding-right: 5rem;
}
.site-content .elementor-widget-button.arrow a.elementor-button::after {
    content: '';
    position: absolute;
    top: 2rem;
    right: 0;
    /* if link is over entire image 
    bottom: 5rem;
    right: 2rem;
    */
    width: 4rem;
    height: 1.8rem;
    background: url(../images/icon-arrow-right.png) no-repeat center center;
    background-size: contain;
}
.site-content .elementor-element.blue .elementor-widget-button.arrow a.elementor-button::after {
    filter: brightness(0) invert(1);
}
.site-content a.elementor-button:focus,
.site-content a.elementor-button:visited,
.elementor-popup-modal .elementor-button:focus,
.elementor-popup-modal .elementor-button:visited {
     color: #2F3E46;
}
.content .button:hover,
.content button:hover,
.site-content a.elementor-button:hover,
.elementor-popup-modal .elementor-button:hover,
.content .elementor-field-type-submit .elementor-button:hover,
.footer .elementor-field-type-submit .elementor-button:hover,
.content .elementor-slides .swiper-slide-inner .elementor-slide-button:hover,
.content input[type="submit"]:hover,
.content input[type="reset"]:hover,
.content input[type="button"]:hover,
.content .button:focus,
.content button:focus,
.site-content a.elementor-button:focus,
.elementor-popup-modal .elementor-button:focus,
.content .elementor-field-type-submit .elementor-button:focus,
.content .elementor-slides .swiper-slide-inner .elementor-slide-button:focus,
.content input[type="submit"]:focus,
.content input[type="reset"]:focus,
.content input[type="button"]:focus {
	color: #fff;
	border-color: #2F3E46;
    background-color: #2F3E46;
	outline: 0; 
}
.content .elementor-slides .swiper-slide-inner .elementor-slide-button:hover,
.content .elementor-slides .swiper-slide-inner .elementor-slide-button:focus,
.site-content .elementor-element.blue a.elementor-button:hover,
.site-content .elementor-element.blue a.elementor-button:focus,
.site-content .elementor-element.blue .elementor-field-type-submit .elementor-button:hover,
.site-content .elementor-element.blue .elementor-field-type-submit .elementor-button:focus {
    color: #2F3E46;
    border: 1px solid #fff;
    background-color: #fff;
}
.site-content .elementor-widget-button.arrow a.elementor-button:hover,
.site-content .elementor-widget-button.arrow a.elementor-button:focus,
.site-content .elementor-widget-button.arrow a.elementor-button:active {
    color: #2F3E46;
    border: none;
    background: none;
}
.site-content .elementor-element.blue .elementor-widget-button.arrow a.elementor-button:hover,
.site-content .elementor-element.blue .elementor-widget-button.arrow a.elementor-button:focus,
.site-content .elementor-element.blue .elementor-widget-button.arrow a.elementor-button:active {
    color: #fff;
}
/* Effect */
.button.effect,
.content .button.effect {
    background: transparent url(../images/button-bg.png) no-repeat top right;
    background-size: 0 100%;
    transition: all .5s ease-in-out;
}
.button.effect:hover,
.content .button.effect:hover {
    background-size: 100% 100%;
}
.button.effect2,
.content .button.effect2 {
    background: transparent url(../images/button-bg.png) no-repeat;
    background-size: 200% 100%;
    background-position: top right 200%;
    transition: all 1s ease-in-out;
}
.button.effect2:hover,
.content .button.effect2:hover {
    background-size: 200% 100%;
    background-position: top right 0;
}

/*------------------------------------------------------------------
[ Forms ]
*/
input {
	transition: all 0.25s ease-out;
}
input[type="text"], 
input[type="email"], 
input[type="url"], 
textarea {
	width: 100%;
	padding: 1.3rem 2.5rem;
	margin:0 0 1.5rem 0;
	font-family:inherit;
	font-size: 1.3rem;
    background: #f9f9f9;
    border: 1px solid #eee;
}
input[type="text"]:focus, 
input[type="email"]:focus, 
input[type="url"]:focus, 
textarea:focus {
	outline:none;
    background: #fff;
    border: 1px solid #ccc;
	box-shadow: 0 0 0.1rem 0 rgba(0,0,0,0.2);
}
.form-element, 
textarea {
	line-height: normal !important;
	background: #f9f9f9;
	color: #666;
	border: 1px solid #eee;
	-webkit-appearance: none;
	-moz-appearance:	none;
	appearance:			none;
	transition: all 0.25s ease-out;
}
.form-element:focus, 
textarea:focus {
	background: #fff;
	color: #333;
	border: 1px solid #ccc;
	box-shadow: 0 0 0.1rem 0 rgba(0,0,0,0.2);
}
textarea {
	min-width: 10rem;
	min-height: 14rem;
    resize: none;
}
.no-resize {
	resize: none;
}
label {
	margin-bottom: 0.8rem;
	color: #666;
	font-size: 1.2rem;
	display: block;
}

/*------------------------------------------------------------------
[ Images ]
*/
img {
    display: inline-block;
	max-width: 100%;
	height: auto;
    vertical-align: middle;
    border: none;
    outline: 0;
}
img.float-left,
.thumbnail.float-left {
    margin: 0 2rem 1rem 0;
}
img.float-right,
.thumbnail.float-right {
    margin: 0 0 1.5rem 2rem;
}
.thumbnail {
    margin-bottom: 3rem;
    position: relative;
    overflow: hidden;
}
.elementor-widget-image.lighthouse .wp-caption .wp-caption-text {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 0;
    padding: 2rem;
    display: flex;
    align-items: center;
    /*justify-content: center;*/
    text-align: left;
    width: 100%;
    height: 100%;
    font-family: 'Merriweather';
    font-size: 2.6rem;
    font-weight: normal;
    /*text-transform: uppercase;*/
    color: #fff;
    background-color: #2F3E46B2;
    pointer-events: none;
    opacity: 0;
    transition: opacity .25s ease-in-out;
}
.elementor-widget-image.lighthouse:hover .wp-caption .wp-caption-text {
    opacity: 1;
}
.elementor-widget-image.lighthouse .wp-caption .wp-caption-text::after {
    content: 'DETAILS ANSEHEN';
    position: absolute;
    bottom: 4rem;
    right: 8rem;
    height: 1.8rem;
    padding: 0 5rem 0 0;
    font-family: 'Poppins', sans-serif;
    font-size: 1.8rem;
    font-weight: normal;
    line-height: 1;
    text-transform: uppercase;
    color: #000;
    background: url(../images/icon-arrow-right.png) no-repeat center right;
    background-size: 4rem 1.8rem;
    filter: brightness(0) invert(1);
    transition: right .25s ease-in-out;
}
.elementor-widget-image.lighthouse:hover .wp-caption .wp-caption-text::after  {
    right: 4rem;
}
.elementor-widget-image.lighthouse a {
	display: block;
}

/*------------------------------------------------------------------
[ Helper Utilities ]
*/

/* Text Alignments */
.align-center { text-align: center; }
.align-left   { text-align: left; }
.align-right  { text-align: right; }

/* Element Floats */
.float-left { float: left !important; }
.float-right { float: right !important; }

/* Clearfix */
.clearfix:before,
.clearfix:after {
	height: 0;
	content: ".";
	display: block;
	overflow: hidden;
}
.clearfix:after {
	clear: both;
}
.clear {
	width: 0;
	height: 0;
	display: block;
	clear: both;
	overflow: hidden;
	visibility: hidden;
}

/* Kill Margin */
.no-margins { margin: 0 !important; }
.no-margin-top { margin-top: 0 !important; }
.no-margin-right { margin-right: 0 !important; }
.no-margin-bottom { margin-bottom: 0 !important; }
.no-margin-left{ margin-left: 0 !important; }

/* Kill Padding */
.no-padding { padding: 0 !important; }
.no-padding-top { padding-top: 0 !important; }
.no-padding-right { padding-right: 0 !important; }
.no-padding-bottom { padding-bottom: 0 !important; }
.no-padding-left { padding-left: 0 !important; }

/*------------------------------------------------------------------
[ Forms ]
*/
input {
	transition: all 0.25s ease-out;
}
.wrapper .elementor-field-group .elementor-field-textual {
    margin: 0;
    font-family: 'Poppins';
    font-size: 2.2rem;
    font-weight: 400;
    text-transform: uppercase;
    padding: 1.2rem;
    color: #fff;
    border: none;
    border-bottom: 2px solid #fff;
    border-radius: 0;
    background: none !important;
    outline: none;
    /*width: auto;*/
    transition: all .25s ease-out;	
}
.wrapper .elementor-field-group .elementor-field-textual:focus {
    border-color: #707070;
    box-shadow: none !important;
}
.wrapper .elementor-field-type-submit .elementor-button {
    font-family: 'Poppins';
    color: #fff;
    margin-top: 2rem;  
    margin-right: 0;
}
.wrapper .elementor-field-type-submit .elementor-button:hover,
.wrapper .elementor-field-type-submit .elementor-button:focus {
    color: #2F3E46 !important;
}
.wrapper .elementor-field-group .elementor-select-wrapper {
    background: url(../images/icon-down-chevron.png) no-repeat center right 1rem;
    background-size: 2.4rem;
}
.wrapper .elementor-field-group .elementor-select-wrapper .eicon-caret-down {
    display: none;
}
.wrapper .elementor-field-group textarea.elementor-field-textual {
    font-size: 2rem;
    text-transform: none;
	min-width: 10rem;
	min-height: 16rem;
    border-radius: 0;
    resize: none;
}
.no-resize {
	resize: none;
}
.elementor-field-label {
    display: block;
    padding-right: 2rem;
    padding-bottom: 1.2rem;
    font-family: 'Poppins';
	margin-top: 1.2rem;
	color: #fff;
	font-size: 2.2rem;
    text-transform: uppercase;
}
.content .elementor-mark-required .elementor-field-label::after {
    padding-left: 0;
    font-size: 2.2rem;
    color: #fff;
}
.content .elementor-field-option label {
    font-family: 'Poppins';
	color: #fff;
	font-size: 1.8rem;
}
/* Making checkbox and radio button invisible */
.elementor-field-option input[type="checkbox"],
.elementor-field-option input[type="radio"]{
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.elementor-field-type-checkbox > div label:before,
.elementor-field-type-acceptance > div label:before,
.elementor-field-type-radio > div label:before {
	content: "";
    display: inline-block;
    width: 3.6rem;
    height: 3.6rem;
    margin: 0 2rem 0 0;
    vertical-align: -1rem;
    border: 2px solid #fff;
    padding: 0;
    background-color: transparent;
    background-clip: content-box;
    transition: all 0.2s ease;
}
.elementor-field-type-radio > div label:before {
    border-radius: 100%;
}
.elementor-field-type-checkbox > div label,
.elementor-field-type-acceptance > div label,
.elementor-field-type-radio > div label {
	margin-right: 1em;
}
.elementor-field-type-checkbox > div input:hover + label:before,
.elementor-field-type-acceptance > div input:hover + label:before,
.elementor-field-type-radio > div input:hover + label:before {
	border-color: #fff;
}
.elementor-field-type-checkbox > div input:checked + label:before,
.elementor-field-type-acceptance > div input:checked + label:before,
.elementor-field-type-radio > div input:checked + label:before {
	background-color: #fff;
    padding: .6rem;
}
*::-webkit-input-placeholder {
    color: #a0a7ab !important;
    font-size: 2rem !important;
}
*:-moz-placeholder {
    color: #a0a7ab !important;
    opacity: 1 !important;
    font-size: 2rem !important;
}
*::-moz-placeholder {
    color: #a0a7ab !important;
    opacity: 1 !important;
    font-size: 2rem !important;
}
*:-ms-input-placeholder {
    color: #a0a7ab !important;
    font-size: 2rem !important;
}
*::-ms-input-placeholder {
    color: #a0a7ab !important;
    font-size: 2rem !important;
}
*::placeholder {
    color: #a0a7ab !important;
    font-size: 2rem !important;
}
.wrapper .elementor-field-group.elementor-field-type-checkbox,
.wrapper .elementor-field-group.elementor-field-type-acceptance {
    margin-top: 2rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-direction: inherit;
}
.elementor-field-type-html .form-title {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.6rem;
    letter-spacing: 4.8px;
    color: #fff;
    padding: 1.6rem 0;
    border-bottom: 2px solid #fff;
}
.wrapper .elementor-field-type-select .elementor-select-wrapper {
    width: 100%;
    flex-basis: auto !important;
}
.wrapper .elementor-field-type-select .elementor-select-wrapper option {
    font-family: 'Poppins';
    background: #fff;
    color: #111;
}
.elementor-field-type-checkbox.elementor-field-group-rueckruf .elementor-field-option {
    padding-left: 3rem;
}
.elementor-field-option label {
    font-family: 'Poppins';
    font-size: 1.8rem;
    font-weight: normal;
    color: #fff;
}
.elementor-field-option label a,
.elementor-field-option label a:active,
.elementor-field-option label a:visited,
.elementor-field-option label a:hover {
    color: #fff;
    text-decoration: underline;
}
.elementor-field-option label a:hover {
    text-decoration: underline;
    color: #d2d2d2;
}
select#form-field-betreff,
select#form-field-betreff option {
  color: #a0a7ab;
}

/*------------------------------------------------------------------
[ Theme Stuff ]
*/
.wrapper {
    padding-top: 0;
}
body.admin-bar .top {
    top: 3.2rem;;
}
.edit-link {
    display: none;
}
body:not(.home) .site-content {
    padding: 0 0 8rem;
}
/*
.content .elementor-section.elementor-section-boxed:not(.elementor-inner-section) > .elementor-container {
    padding: 2rem;
}
*/
.logo,
.navigation {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; 
}
.elementor-section.bg-skewed::before {
    content: '';
    position: absolute;
    top: 4rem;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/bg-skewed-blue.svg) no-repeat top left;
    background: #2F3E46;
    transform: skewY(-5deg);
    background-size: 100%;
}
.elementor-section.bg-skewed-gray::before {
    content: '';
    position: absolute;
    top: 4rem;
    left: 0;
    width: 100%;
    height: 90%;
    background: url(../images/bg-skewed-gray.svg) no-repeat top left;
    background: #E2E4E5;
    transform: skewY(-5deg);
    background-size: 100%;
}
.elementor-section.shape-top::before {
    content: '';
    position: absolute;
    top: -17rem;
    left: 0;
    width: 100%;
    height: 17rem;
    background: url(../images/shape-top.png) no-repeat bottom left;
    background-size: 100% 17rem;
}
.elementor-post__text {
    padding-top: 1rem !important;
}
.elementor-posts .elementor-post__excerpt p::after {
    content: ' ...';
}
.elementor-pagination-position-outside .elementor-swiper .swiper-container {
    padding-bottom: 6rem;
}
/* Swiper General */
.elementor-swiper .swiper-slide {
    /*transition: none !important;*/
}
.elementor-swiper .swiper-slide-contents {
    width: 100%;
    padding: 3.2rem 4rem;
    background: rgba(47, 62, 70, .95);
}
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-heading {
    font-family: 'Merriweather';
    font-weight: normal;
    color: #fff;
    line-height: 1.2;
}
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-description {
    white-space: normal;
}
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-description h5 {
    margin-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: normal;
}
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-description h1,
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-description h2,
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-description h3,
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-description h4,
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-description h5,
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-description h6,
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-description p {
    color: #fff;
}
.elementor-swiper .elementor-slides .swiper-slide-inner .elementor-slide-description p {
    margin: 0;   
}
.elementor-swiper .swiper-slide-contents .elementor-slide-button {
    float: right;   
}
.elementor-swiper .swiper-pagination {
    text-align: right;
    padding: 0 8.4rem;
}
.elementor-swiper .swiper-pagination-bullet {
    border-radius: 0;
    width: 5vw;
    max-width: 5rem;
    height: 1.3rem;
    opacity: 1;
    border: 1px solid #fff;
}
.elementor-element.blue .elementor-swiper .swiper-pagination-bullet {
    background: transparent;
    border-color: #fff;
}
.elementor-element.blue .elementor-swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #fff;
}
.elementor-widget-slides.header {
    margin-bottom: 6rem;
}
.elementor-widget-slides.header,
.elementor-widget-slides.header .swiper-slide-bg {
    position: relative;
    /*
    min-height: 94.6rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    */
}
.elementor-widget-slides.header .swiper-slide-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent url(../images/header-overlay.svg) no-repeat top left;
    background-size: cover;
    pointer-events: none;
    mix-blend-mode: multiply;
}
.elementor-widget-slides.header .elementor-swiper .elementor-slides-wrapper::after {
    content: '';
    position: absolute;
    bottom: -5.6rem;
    left: 15%;
    width: 100%;
    max-width: 59rem;
    height: 64rem;
    background: transparent url(../images/bildmarke.svg) no-repeat bottom left;
    background-size: contain;
    pointer-events: none;
    transition: all .2s ease-in-out;
    z-index: 1;
}
.elementor-widget-slides.header .elementor-swiper .swiper-pagination {
    margin-bottom: 1rem;
}
.elementor-widget-slides.header /* .elementor-swiper .swiper-slide:first-child .swiper-slide-bg */ {
    animation: customZoomIn 1s ease-in-out forwards;
    /*animation-delay: 5s;*/
}
@keyframes customZoomIn {
    0% {
        opacity: 0.01;
        transform: scale(1.1, 1.1); 
    }
    10% {
        
    }
    100% {
        opacity: 1;
        transform: scale(1, 1);
    }
}
.elementor-widget-slides.header .elementor-swiper .swiper-slide .swiper-slide-contents:not(.animated) {
    opacity: 0;
}
/*.elementor-widget-slides.header .elementor-swiper .swiper-slide.swiper-slide-active:not(.swiper-slide-duplicate) .swiper-slide-contents {*/
.elementor-widget-slides.header .elementor-swiper .swiper-slide.swiper-slide-duplicate + .swiper-slide:not(.swiper-slide-duplicate) .swiper-slide-contents {
    /*transition: none !important;*/
    opacity: 0;
    animation: customFadeIn 1.4s cubic-bezier(0.25, 1, 0.5, 1) 2s forwards !important;
}
@keyframes customFadeIn {
    0% {
        opacity: 0.01;
        transform: translate(0px,100%); 
    }
    5% {
    }
    100% {
        opacity: 1;
        transform: translate(0,0);
    }
}

/* Swiper Media Carousel */
.elementor-pagination-position-outside.elementor-widget-media-carousel .elementor-swiper .swiper-container {
    padding-bottom: 4rem;
}
.elementor-widget-media-carousel .elementor-swiper .swiper-pagination {
    text-align: left;
    padding: 0;
}
.elementor-widget-media-carousel.bullets-right .elementor-swiper .swiper-pagination {
    text-align: right;
}
.elementor-widget-media-carousel .elementor-swiper .swiper-pagination .swiper-pagination-bullet:first-child {
    margin-left: 0;
}
.elementor-widget-media-carousel.bullets-right .elementor-swiper .swiper-pagination .swiper-pagination-bullet:last-child {
    margin-right: 0;
}
.elementor-widget-media-carousel .elementor-swiper .swiper-pagination .swiper-pagination-bullet {
    background: transparent;
    border: 1px solid #2F3E46;
}
.elementor-widget-media-carousel .elementor-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #2F3E46;
    border: 1px solid #2F3E46;
}
.elementor-element.blue .elementor-widget-media-carousel .elementor-swiper .swiper-pagination .swiper-pagination-bullet {
    background: transparent;
    border: 1px solid #fff;
}
.elementor-element.blue .elementor-widget-media-carousel .elementor-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #fff;
    border: 1px solid #fff;
}
.elementor-widget-media-carousel .elementor-swiper-button-prev,
.elementor-widget-media-carousel .elementor-swiper-button-next {
    top: 0 !important;
    width: 30%;
    height: calc(100% - 2rem);
    transform: none !important;
    background-color: rgba(47, 62, 70, .5);
    opacity: 0;
    transition: opacity .25s ease-in-out;
}
.elementor-widget-media-carousel .elementor-swiper-button-prev:hover,
.elementor-widget-media-carousel .elementor-swiper-button-next:hover {
    opacity: 1;
}
.elementor-widget-media-carousel .elementor-swiper-button-prev {
    left: 0 !important;
}
.elementor-widget-media-carousel .elementor-swiper-button-next {
    right: 0 !important;
}
.elementor-widget-media-carousel .elementor-swiper .elementor-swiper-button-prev .eicon-chevron-left::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(../images/icon-arrow-left.png) no-repeat center left 2rem;
    background-size: 4rem 1.8rem;
    filter: brightness(0) invert(1);
    transition: background .25s ease-in-out;
}
.elementor-widget-media-carousel .elementor-swiper .elementor-swiper-button-next .eicon-chevron-right::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(../images/icon-arrow-right.png) no-repeat center right 2rem;
    background-size: 4rem 1.8rem;
    filter: brightness(0) invert(1);
    transition: background .25s ease-in-out;
}
.elementor-widget-media-carousel .elementor-swiper .elementor-swiper-button-prev .eicon-chevron-left::before {
    background-position: center left 8rem;
}
.elementor-widget-media-carousel .elementor-swiper .elementor-swiper-button-next .eicon-chevron-right::before {
    background-position: center right 8rem;
}
.elementor-widget-media-carousel .elementor-swiper .elementor-swiper-button-prev:hover .eicon-chevron-left::before {
    background-position: center left 4rem;
}
.elementor-widget-media-carousel .elementor-swiper .elementor-swiper-button-next:hover .eicon-chevron-right::before {
    background-position: center right 4rem;
}

/* Elementor Images with Signet */
.elementor-widget-image.bildmarke::after {
    content: '';
    position: absolute;
    bottom: -3rem;
    right: -3rem;
    width: 35rem;
    height: 32.5rem;
    background: transparent url(../images/livia-bildmarke-white.png) no-repeat bottom right;
    background-size: contain;
    pointer-events: none;
    transform:scaleX(-1);
    z-index: 1;
}

/* Gray-Box Column */
.elementor-column.gray-box::after {
    content: '';
    position: absolute;
    bottom: -15%;
    left: -15%;
    width: 120%;
    height: 100%;
    background: #E2E4E5;
    z-index: -1;
}

/* Hover-Content Section */
body:not(.elementor-editor-active) .elementor-section.hover-content .elementor-container .elementor-column .elementor-background-overlay,
body:not(.elementor-editor-active) .elementor-section.hover-content .elementor-container .elementor-column .elementor-widget {
    opacity: 0 !important;
    transition: opacity .25s ease-in-out;
}
body:not(.elementor-editor-active) .elementor-section.hover-content:hover .elementor-container .elementor-column .elementor-background-overlay,
body:not(.elementor-editor-active) .elementor-section.hover-content:hover .elementor-container .elementor-column .elementor-widget {
    opacity: 1 !important;
}
body:not(.elementor-editor-active) .site-content .elementor-section.hover-content .elementor-container .elementor-column .elementor-widget-button > .elementor-widget-container {
    transition: padding-right .25s ease-in-out;
    padding-right: 8rem;
}
body:not(.elementor-editor-active) .site-content .elementor-section.hover-content:hover .elementor-container .elementor-column .elementor-widget-button > .elementor-widget-container {
    padding-right: 4rem;
}
/* Alternate Version for FullSize Link */
body:not(.elementor-editor-active) .site-content .elementor-section.hover-content .elementor-widget-button.arrow,
body:not(.elementor-editor-active) .site-content .elementor-section.hover-content .elementor-widget-button.arrow a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
body:not(.elementor-editor-active) .site-content .elementor-section.hover-content .elementor-widget-button.arrow a {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 6rem 13rem 6rem;
}
body:not(.elementor-editor-active) .site-content .elementor-section.hover-content:hover .elementor-widget-button.arrow a {
    padding-right: 9rem;
}
body:not(.elementor-editor-active) .site-content .elementor-section.hover-content .elementor-widget-button.arrow a.elementor-button::after {
    top: auto;
    bottom: 6rem;
    right: 8rem;
    transition: right .25s ease-in-out;
}
body:not(.elementor-editor-active) .site-content .elementor-section.hover-content:hover .elementor-widget-button.arrow a.elementor-button::after {
    right: 4rem;
}

/* Quote Heading */
.elementor-widget-heading.quote .elementor-heading-title {
    position: relative;
    font-family: 'Poppins';
    font-size: 3.5rem;
    font-weight: 300;
    line-height: 1;
    hyphens: none;
}
.elementor-widget-heading.quote .elementor-heading-title::before,
.elementor-widget-heading.quote .elementor-heading-title::after {
    content: '”';
    display: inline-block;
    font-family: 'Merriweather';
    font-size: 10rem;
    font-weight: 600;
    line-height: 0;
    vertical-align: bottom;
}
.elementor-widget-heading.quote .elementor-heading-title::after {
    content: '“';
    margin-right: -10rem;
    margin-bottom: -3rem;
}

/* Projekte Slider */
.jet-listing .slick-list {
    margin: 0 8%;
}

/* Initial Animations on Homepage */
body.home .top .logo,
body.home .top .menu li,
body.home .top .navigation {
    opacity: 0;
}
body.home .top .logo { 
	animation: fadeIn 2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    animation-delay: 1.5s;
}
body.home .top .menu li { 
	animation: fadeIn 3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
body.home .top .menu li:first-child { 
    animation-delay: 1.5s;
}
body.home .top .menu li:nth-child(2) { 
    animation-delay: 1.8s;
}
body.home .top .menu li:nth-child(3) { 
    animation-delay: 2.1s;
}
body.home .top .menu li:nth-child(4) { 
    animation-delay: 2.4s;
}
body.home .top .menu li:nth-child(5) { 
    animation-delay: 2.7s;
}
body.home .top .menu li:nth-child(6) { 
    animation-delay: 3s;
}
body.home .top .menu li:nth-child(7) { 
    animation-delay: 3.3s;
}
body.home .top .menu li:nth-child(8) { 
    animation-delay: 3.6s;
}
body.home .top .navigation { 
	animation: fadeIn 2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    animation-delay: 2.8s;
}

/* Projekte Filter */
body.term-projekte-wohnungen .site-content .elementor-widget-button.projekte-wohnungen a.elementor-button,
body.term-referenzen-wohnungen .site-content .elementor-widget-button.referenzen-wohnungen a.elementor-button,
body.term-projekte-haeuser .site-content .elementor-widget-button.projekte-haeuser a.elementor-button,
body.term-referenzen-haeuser .site-content .elementor-widget-button.referenzen-haeuser a.elementor-button {
    color: #fff;
    background-color: #2F3E46;
}

/*------------------------------------------------------------------
[ Footer ]
*/
.footer {
    position: relative;
    padding: 0;
}
.footer p,
.footer .elementor-widget-heading p.elementor-heading-title {
    margin: 0;
}
.footer a, .footer p a {
	color: #111;
}
.footer a:hover, 
.footer p a:hover {
	text-decoration: underline;
}
.footer .elementor-field-type-submit .elementor-button {
    border: 1px solid #fff;
}
.footer .elementor-field-type-submit .elementor-button:hover,
.footer .elementor-field-type-submit .elementor-button:active {
    border: 1px solid #fff;
    background: #fff;
}

/*------------------------------------------------------------------
[ Latest FE Fixes]
*/
.entry-content > .elementor > .elementor-section.elementor-section-boxed:not(.elementor-inner-section) > .elementor-container,
.entry-content > .elementor > .elementor-section.elementor-section-full_width .elementor-inner-section > .elementor-container,
.elementor.elementor-location-archive > .elementor-section.elementor-section-boxed:not(.elementor-inner-section) > .elementor-container,
.elementor.elementor-location-archive > .elementor-section.elementor-section-full_width .elementor-inner-section > .elementor-container {
    padding-left: 6rem;
    padding-right: 6rem;
}
.footer .elementor-section:not(.elementor-inner-section) > .elementor-container {
    
}
.elementor-widget-heading.big h2.elementor-heading-title {
    font-size: 4rem !important;
}
body:not(.single-projekte) .elementor-widget-media-carousel .elementor-main-swiper {
    height: 30vw !important;
    max-height: 560px;
}

/*------------------------------------------------------------------
[ Media Queries ]
*/
/*
@media only screen and (min-width: 1000px) {
        
}
*/
@media only screen and (max-width: 1600px) {
    .elementor-section.shape-top::before {
        top: -10vw;
        height: 10vw;
        max-height: 17rem;
        background-size: 100% 100%;
    }
}
@media only screen and (max-width: 1480px) {
    .menu > li {
        margin: 0 .5rem;
    }
    .elementor-widget-slides.header .elementor-swiper .elementor-slides-wrapper::after {
        bottom: -4rem;
        left: 5vw;
        width: 100%;
        max-width: 41rem;
        height: 40rem;
    }
	.elementor-widget-heading.big h2.elementor-heading-title {
        font-size: 4rem !important;
    }
}
@media only screen and (max-width: 1280px) {
    .entry-content > .elementor > .elementor-section.elementor-section-boxed:not(.elementor-inner-section) > .elementor-container,
    .entry-content > .elementor > .elementor-section.elementor-section-full_width .elementor-inner-section > .elementor-container {
        padding-left: 0;
        padding-right: 0;
    }
    .top,
    .top.down {
        padding: 0 2rem;
    }
    .content .elementor-section.elementor-section-boxed:not(.elementor-inner-section) > .elementor-container {
        /*padding: 1rem;*/
    }
	.content .elementor-section:not(.elementor-inner-section) > .elementor-container {
        /*padding: 1rem;*/
    }
	/*
    .elementor-section:not(.elementor-inner-section) > .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
    .elementor-section:not(.elementor-inner-section) > .elementor-column-gap-default > .elementor-column.customCol > .elementor-element-populated {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
	*/
    .footer > .elementor > .elementor-section {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    body.home .elementor-widget-slides.header .elementor-slides .swiper-slide-inner {
        padding: 2rem 2rem 6rem !important;
    }
	.elementor-widget-container ul li {
		padding-left: 3rem;
		font-size: 1.5rem;
	}
	.elementor-widget-container ul li::before {
		top: 1.4rem;
		left: 0;
		height: .3rem;
		width: 2rem;
	}
    .button,
    button,
    .site-content a.elementor-button,
    .elementor-popup-modal .elementor-button,
    .content .elementor-field-type-submit .elementor-button,
    .footer .elementor-field-type-submit .elementor-button,
    .content .elementor-slides .swiper-slide-inner .elementor-slide-button,
    input[type="submit"],
    input[type="reset"],
    input[type="button"] {
        padding: 1.8rem 2.6rem;
        font-size: 1.5rem;
    }
    .site-content .elementor-widget-button.arrow a.elementor-button {
        padding-right: 4rem;
    }
    .site-content .elementor-widget-button.arrow a.elementor-button::after {
        top: 1.7rem;
        width: 3rem;
        height: 1.8rem;
    }
    .wrapper .elementor-field-group .elementor-field-textual,
    .elementor-field-option label {
        font-size: 1.5rem;
    }
    *::-webkit-input-placeholder {
        font-size: 1.5rem !important;
    }
    *:-moz-placeholder {
        font-size: 1.5rem !important;
    }
    *::-moz-placeholder {
        font-size: 1.5rem !important;
    }
    *:-ms-input-placeholder {
        font-size: 1.5rem !important;
    }
    *::-ms-input-placeholder {
        font-size: 1.5rem !important;
    }
    *::placeholder {
        font-size: 1.5rem !important;
    }
    .elementor-widget-heading.big h2.elementor-heading-title {
        font-size: 4rem !important;
    }
    /* Item Widths */
    .content-grid-5 .grid-item,
    .content-grid-6 .grid-item {
        width: 25%;
    }
}
@media only screen and (max-width: 1024px) {
	.elementor.elementor-location-archive > .elementor-section.elementor-section-boxed:not(.elementor-inner-section) > .elementor-container {
		padding-left: 0;
		padding-right: 0;
	}
    /* Grid */
	.grid .col .grid .col { 
		width: 100%;
		padding-right: 0;
		padding-left: 0;
        margin-left: 0;
	}
    .col .col:only-child,
    .col[class*='offset-']:only-child {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    /* Item Widths */
    .content-grid-4 .grid-item,
    .content-grid-5 .grid-item,
    .content-grid-6 .grid-item {
        width: 33.33333%;
    }
    /* Menu */
	.menu {
		display: none;
	}
    .navigation {
		display: block;
	}
    #secondary-menu-side {
        display: block;   
    }
    .elementor-widget-slides.header .elementor-swiper .elementor-slides-wrapper::after {
        bottom: -2.4rem;
        left: 5vw;
        width: 100%;
        max-width: 25rem;
        height: 22rem;
    }
    .elementor-widget-heading.quote .elementor-heading-title {
        font-size: 3rem;
    }
    .elementor-widget-heading.quote .elementor-heading-title::before,
    .elementor-widget-heading.quote .elementor-heading-title::after {
        font-size: 8rem;
    }
    .elementor-widget-heading.quote .elementor-heading-title::after {
        margin-right: -6rem;
        margin-bottom: -1.5rem;
    }
    body.home .elementor-widget-image.elementor-absolute {
        position: relative;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        right: 0 !important;
    }
    body:not(.single-projekte) .elementor-widget-media-carousel .elementor-main-swiper {
        height: 70rem !important;
        max-height: none;
    }
}
@media only screen and (max-width: 900px) {
    /*
    .header,
    body.home .header {
        overflow: hidden;
    }
    */
}
@media screen and (max-width:782px) {
    body.admin-bar .top {
        top: 4.6rem;;
    }
}
@media only screen and (max-width: 767px) {
    .top {
        height: 13rem;
    }
    .top.down {
        height: 10rem;
    }
    .top .logo img,
    .top.down .logo img {
        width: 12rem;
    }
    .top .navigation {
        top: 6rem
    }
    .top.down .navigation {
        top: 3rem;
    }
    .overlay .container {
        padding-top: 16rem;
    }
	.container {
		max-width: 100%;
	}
    .elementor-widget-slides.header {
        margin-bottom: 0;
    }
    h1,
    .elementor-widget-heading h1.elementor-heading-title {
        font-size: 3rem;
    }
    h2,
    .elementor-widget-heading h2.elementor-heading-title {
        font-size: 2.8rem;
    }
    .elementor-widget-heading.big h2.elementor-heading-title {
        font-size: 2.8rem !important;
    }
    h3,
    .elementor-widget-heading h3.elementor-heading-title {
        font-size: 2rem;
    }
	.elementor-widget-heading.quote .elementor-heading-title {
		font-size: 2rem;
	}
	.elementor-widget-heading.quote .elementor-heading-title::before, 
	.elementor-widget-heading.quote .elementor-heading-title::after {
		font-size: 5rem;
	}
	.elementor-widget-heading.quote .elementor-heading-title::after {
		margin-right: -3rem;
        margin-bottom: -1rem;
	}
    .divider, hr {
        padding: 2rem 0;
    }
    /* Tables */
    table {
		width: 100%;
	}
    table thead { 
        display: none; 
    }
	td, th {
		display: block;
		float: left;
		width: 100% !important;
        height: auto !important;
	}
    tbody tr td:not(:first-child) {
        border-bottom: none;
    }
    .elementor-widget-text-editor.custom tbody tr td:first-child,
    .elementor-widget-text-editor.custom tbody th:not(:first-child) {
        display: none;
    }
    tbody tr td:not(:first-child) {
        border: none;
        border-top: 2px solid #E2E4E5;
    }
    .elementor-widget-text-editor.custom tbody tr td:nth-of-type(2) {
        border-top: 6px solid #2F3E46;
    }
    .elementor-widget-text-editor:not(.custom) tbody tr:not(:last-of-type) {
        border-bottom: 6px solid #2F3E46;
    }
    .elementor-widget-text-editor.custom table tbody tr td::before {
        content: attr(data-content) '';
        display: inline-block;
        width: 50%;
        float: left;
        text-align: left;
    }
	/* Grid */
	.grid .col,
	.grid.no-gutter .col,
	.grid.no-gutter .col.col {
		width: 100%;
	}
    .footer ul {
        text-align: left;
    }
    .footer ul li {
        padding: .5rem 0;
        display: block;
    }
    .footer ul li a {
        padding: 0;
    }
    /* Item Widths */
    .content-grid-3 .grid-item,
    .content-grid-4 .grid-item,
    .content-grid-5 .grid-item,
    .content-grid-6 .grid-item {
        width: 50%;
    }
    .elementor-posts .elementor-post {
        display: block !important;
    }
    .elementor-widget-slides.header .elementor-swiper .elementor-slides-wrapper::after {
        bottom: -1.4rem;
        max-width: 15rem;
        height: 13rem;
    }
    body:not(.single-projekte) .elementor-widget-media-carousel .elementor-main-swiper {
        height: 40rem !important;
    }
    .elementor-widget-image.lighthouse .wp-caption .wp-caption-text {
        opacity: 1;
    }
    .elementor-widget-image.lighthouse .wp-caption .wp-caption-text::after {
        height: 1.5rem;
        font-size: 1.5rem;
        background-size: 3rem 1.4rem;
    }
    body:not(.elementor-editor-active) .elementor-section.hover-content .elementor-container .elementor-column .elementor-background-overlay,
    body:not(.elementor-editor-active) .elementor-section.hover-content .elementor-container .elementor-column .elementor-widget {
        opacity: 1 !important;
    }
}
@media only screen and (max-width: 568px) {
    body:not(.single-projekte) .elementor-widget-media-carousel .elementor-main-swiper {
        height: 30rem !important;
    }
}
@media only screen and (max-width: 480px) {
    .content-grid-2 .grid-item,
    .content-grid-3 .grid-item,
    .content-grid-4 .grid-item,
    .content-grid-5 .grid-item,
    .content-grid-6 .grid-item {
        width: 100%;
    }
}