/*
  Theme Name: Morean 2.0
  Theme URI: https://zzzooo.studio
  Author: zzzooo Studio
  Author URI: https://zzzooo.studio
  Description: Morean template by zzzooo Studio <a href="../wp-content/themes/morean_2.0/changelog.txt" target="_blank">changelog</a>
  Version: 2.8.1
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
  Text Domain: morean
  Requires at least: 5.9
  Tested up to: 6.7.2
  Requires PHP: 7.4
*/

/* STYLES TO ADD TO SCSS FILES */

.word-break::after {
  content: "\0020";
  white-space: pre;
}
a.no-follow{
	cursor: default;
}
.work-post.main-editor{
	padding-bottom: 100px;
}
.archive-content .row.processing,
#load-more-project.processing{
	pointer-events: none;
	opacity: 0.8;
	filter: blur(2px);
    -webkit-filter: blur(2px);
}
#project-filter.processing{
	pointer-events:	none;
	opacity: 0.8;
}
iframe {
	border: none;
}
.iframe-container iframe,
.video-block-fullscreen iframe {
	display: block;
    background: #000;
    border: none;
    height: 100vh;
    width: 100vw;
}
.video-block-fullscreen {
	padding: 0;
}
.video-block-fullscreen .video-inner {
	padding: 0;
}

/* Loading */
.wrapper{
	opacity: 1;
	transition: opacity .25s ease-in-out;
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
}
.wrapper.loading{
	opacity: 0;
}
.theme-loading,.theme-loading:after {
	width: 64px;
	height: 64px;
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -32px;
	margin-left: -32px;
	border-radius: 50%;
	z-index: 2
}
.theme-loading {
	background-color: transparent;
	border-top: 5px solid #d7dff0;
	border-right: 5px solid #d7dff0;
	border-bottom: 5px solid #d7dff0;
	border-left: 5px solid #1587db;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-duration: .8s;
	animation-duration: .8s;
	-webkit-animation-name: theme-loading;
	animation-name: theme-loading
}
@-webkit-keyframes theme-loading {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg)
	}
	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn)
	}
}
@keyframes theme-loading {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg)
	}
	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn)
	}
}
@-webkit-keyframes fade-in {
	0% {
		opacity: 0
	}
	to {
		opacity: 1
	}
}
@keyframes fade-in {
	0% {
		opacity: 0
	}
	to {
		opacity: 1
	}
}
.fade-in {
    opacity: 0;
    transform: scale(0.9); /* Optional: kleinerer Start */
    transition: opacity 1s ease, transform 1s ease; /* Dauer und Typ der Animation */
}

/* Eingefadeter Zustand */
.fade-in.loaded {
    opacity: 1;
    transform: scale(1); /* Optional: zurück auf Originalgröße */
}

div.wpcf7-response-output{
	line-height: 1.2;
	margin: 1em 0;
	padding: 1.344em;
	border: none;
	color: #ffffff;
	background-color: #255379;
	position: relative;
	z-index: 1;
}
span.wpcf7-not-valid-tip{
	font-size: 1em;
}
div.wpcf7-validation-errors{
	background-color: #c90000;
}
div.wpcf7-mail-sent-ok{
	background-color: #0fa55d;
}
/* WordPress Generated Classes */
.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
	max-width: 100%;
	height: auto;
}
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 40px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 40px 20px 20px 0;
}
img{
	height: auto;
}
a img.alignright {
    float: right;
    margin: 40px 0 20px 20px;
}

a img.alignnone {
    margin: 40px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 40px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}
.wp-pagenavi{
	text-align: center;
}
/* Text meant only for screen readers. ( z-index: 100000; - Above WP toolbar. )
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
*/
.gallery-caption {
	display: block;
	line-height: 1.5;
	padding: 0.5em 0;
}
.bypostauthor > .comment-body .fn:before {
	content: "\f408";
	vertical-align: text-top;
}

.ajax-loader{
	display: none !important;
}

.screen-reader-text{
	display: none;
}
.home h2 b {
	white-space:pre;       
}
@media (max-width: 767.98px) {
	.home h2 b {
		white-space: break-spaces;       
	}
}
.home h2 b:before {
	content: '\A';
	text-transform: uppercase;
}
.langs-menu{
	text-transform: capitalize;
}

/* WordPress Generated Classes END */

.trigger-load-posts {
  padding: 3.65714em 0 0;
}
@media (max-width: 991px) {
	.trigger-load-posts {
		padding: 2.30769em 0 3.84615em;
	}
}
.lds-default {
  display: inline-block;
  position: relative;
  width: 100%;

}
.dot-flashing {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #474c52;
  color: #474c52;
  animation: dotFlashing 1s infinite linear alternate;
  animation-delay: .5s;
  margin: 0 auto;
}

.dot-flashing::before, .dot-flashing::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
}

.dot-flashing::before {
  left: -15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #474c52;
  color: #474c52;
  animation: dotFlashing 1s infinite alternate;
  animation-delay: 0s;
}

.dot-flashing::after {
  left: 15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #474c52;
  color: #474c52;
  animation: dotFlashing 1s infinite alternate;
  animation-delay: 1s;
}

/* .swiper-fullpage .swiper-slide .banner-link {
	position: absolute;
} */
.swiper-fullpage .swiper-slide a:hover {
	opacity: 1;
}

@keyframes dotFlashing {
  0% {
    background-color: #474c52;
  }
  50%,
  100% {
    background-color: #a1aebb;
  }
}

/* Elementor style hacks
*/
:root {
	--e-global-color-accent: #00F9CC;
	--default-border-radius: 6px;
	--bg-main: #fff;
	--bg-light: #F7F7F7;
	--bg-accent: #02333A;
	--text-default: #000;
	--text-light: #fff;
	--default-container-padding: 3.42857em; /* 48px @ 1680px Screen width */
	--default-container-inner-padding: 2.285715em; /* 32px @ 1680px Screen width */
	--default-content-padding: 2.285715em; /* 32px @ 1680px Screen width */
	--default-single-content-padding: 18em;
	--default-section-spacing: 3em;
	--footer-item-spacing: 0.3571425em;
	--hero-section-padding-top: var(--header-height, 6em);
	--font-size-reset: 1em;
	--default-line-height: 1.3;
	--default-text-size: 1.571425em; /* 22px @ 1680px Screen width */
	--bigger-text-size: 1.82857em; /* 24px @ 1680px Screen width */
	--biggest-heading-size: 4.28571em; /* 60px @ 1680px Screen width */
	--big-heading-size: 2.85714em; /* 40px @ 1680px Screen width */
	--special-heading-size: 3.04762em; /* 40px @ 1680px Screen width */
	--small-heading-size: 2em; /* 28px @ 1680px Screen width */
	--button-font-size: 2.285715em; /* 30px @ 1680px Screen width */
	--grid-column-gap: 2em;
	--grid-row-gap: 2.28571em;
	--default-gap: 2.28571em;
	--default-btn-padding: 0.715em 0.8em 0.572em 0.8em;
	--main-heading-letter-spacing: -0.035em;
	--swiper-navigation-color: #000;
}
@media (max-width: 991px) {
	:root {
		--default-container-padding: 0.86667em;
		--default-container-inner-padding: 1.30769em;
		--default-content-padding: 1.2em; /* 18px @ 390px Screen width */
		--default-single-content-padding: 0em;
		--hero-section-padding-top: var(--header-height, 4.33334em);
		--default-text-size: 1.2em; /* 18px @ 390px Screen width */
		--bigger-text-size: 1.46667em; /* 22px @ 390px Screen width */
		--biggest-heading-size: 1.86667em; /* 28px @ 390px Screen width */
		--special-heading-size: 1.692305em; /* 22px @ 390px Screen width */
		--big-heading-size: 2.61538em;
		--small-heading-size: 1.86667em; /* 28px @ 390px Screen width */
		--button-font-size: 1.692305em; /* 22px @ 390px Screen width */
		--grid-column-gap: 1em;
		--grid-row-gap: 1em;
		--default-gap: 1em;
	}
}

/* .page section:first-of-type, */
.elementor .section:first-of-type {
	margin: 0 auto;
	padding-top: var(--hero-section-padding-top);
}
.elementor .e-con-full.section-home {
	padding-top: var(--hero-section-padding-top);
}
.elementor section {
	margin-top: initial;
}
.elementor section .row {
	margin-left: 0;
	margin-right: 0;
}
.elementor section footer .row {
	margin-left: calc(var(--default-content-padding) * -1);
	margin-right: calc(var(--default-content-padding) * -1);
}
.elementor section footer .container-fluid {
	padding-top: 0;
}
.e-con-boxed > .e-con-inner,
.e-con-full, .e-con>.e-con-inner {
	--bc-padding-block-start: 0;
	--bc-padding-block-end: 0;
}
.e-con-full.section,
.e-con-full.section .row,
.e-con-full.section .cols,
.e-con-full.section .cols > .col {
	padding: 0;
}
:is(.elementor-section-wrap,[data-elementor-id])>.e-con {
	max-width: min(100%, var(--content-width)) !important;
}
.elementor .section.hero {
	min-height: 100dvh;
}
.e-con.section.hero .container-fluid,
.e-con-full.section-home:not(.section-footer) .container-fluid {
	padding-bottom: 2.438095em;
	flex: 1;
}
/* @media (max-width: 991px) {
	.e-con.section.hero .container-fluid {
		padding-bottom: 1em;
	}
} */
.hero .container-fluid .hero-video {
	flex: 1;
	/* aspect-ratio: 21/6.33; */
	border-radius: var(--default-border-radius);
	overflow: hidden;
}
.hero .container-fluid .reel-video-wr {
	flex: 1;
	overflow: hidden;
}
@media (max-width: 991px) {
	.hero .container-fluid .reel-video-wr {
		margin-left: -1em;
  	margin-right: -1em;
  	width: auto;
	}
}
/* @media (max-width: 991px) {
	.hero .container-fluid .hero-video {
		aspect-ratio: 1/1;
	}
} */
.hero .container-fluid .hero-video video {
	width: 100% !important;
}
.hero .container-fluid .hero-video:before {
	width: auto;
	max-width: var(--content-width);
	height: auto;
	margin: 0 auto;
}
.elementor-element.elementor-widget.hero-claim {
	position: absolute;
	padding: var(--default-content-padding);
}
.elementor-element.elementor-widget.hero-claim b,
.elementor-element.elementor-widget.hero-claim strong {
	/* color: var(--e-global-color-accent); */
	font-weight: 700;
}
.e-con .border-radius {
	border-radius: var(--default-border-radius);
	overflow: clip;
}
.reel-video-wr .custom-controls {
	opacity: 0;
	transition: opacity 0.3s 0.5s ease;
}
.reel-video-wr:hover .custom-controls {
	opacity: 1;
	transition: opacity 0.3s ease;
}
.default-btn .elementor-button-icon svg {
	width: 1.75em;
}
.text-box,
.e-con .with-padding,
.e-con .row.with-padding {
	padding: var(--default-content-padding);
}
.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text {
	padding-left: 0 !important;
}
@media (min-width: 992px) {
	.quote .elementor-blockquote {
		display: flex;
		gap: 10em;
  	justify-content: space-between;
	}
}
.quote .elementor-blockquote .e-q-footer {
	flex: 1 0 auto;
	justify-content: flex-end !important;
	border-left-width: 1px;
  border-left-style: dotted;
  padding-left: 2.42857em;
}
.logo-carousel .swiper-slide .swiper-slide-image {
	max-height: 6.4em;
}
.e-con .service-box {
	border-radius: var(--default-border-radius);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
@media (max-width: 991px) {
	.e-con .service-box {
		-webkit-backdrop-filter: blur(2px);
		backdrop-filter: blur(2px);
	}
}
.elementor-element.figure .elementor-widget-image {
	width: 100%;
	height: 100%;
}
.elementor-widget-loop-grid.e-load-more-pagination-end>.elementor-widget-container>.e-load-more-message {
    display: none
}
.elementor-widget-video .elementor-wrapper iframe {
	background-color: var(--bg-accent) !important;
}
/* .btn-dot .elementor-button .elementor-button-content-wrapper {
	align-items: self-start;
} */
#btn-dot.elementor-button .elementor-button-text,
.btn-dot .elementor-button .elementor-button-text {
	padding-top: 0.125em;
	margin-bottom: -0.125em;
}
#btn-dot.elementor-button .elementor-button-icon,
.btn-dot .elementor-button .elementor-button-icon {
	animation: pulse 1.1s ease-in-out infinite alternate;
	transform-origin: center;
	display: flex;
	align-items: center;
}
/* #btn-dot.elementor-button:hover .elementor-button-icon,
.btn-dot .elementor-button:hover .elementor-button-icon {
	animation: pulse 1.1s ease 1 forwards;
} */
#btn-dot.elementor-button .elementor-button-icon svg {
  width: 0.425em;
}
#btn-dot.elementor-button .elementor-button-icon svg,
.btn-dot .elementor-button .elementor-button-icon svg circle {
	transition: all 1s ease;
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.5);
  }
}
.highlight-archive-item .project-info .project-title {
	padding: var(--default-container-inner-padding) var(--default-container-inner-padding) calc(var(--default-content-padding) *2.5);
}
.highlight-archive-item .project-info h2 {
	font-size: var(--biggest-heading-size);
}
#btn-dot.elementor-button:hover .elementor-button-icon svg,
.btn-dot .elementor-button:hover .elementor-button-icon svg circle {
	fill: var(--e-global-color-accent);
}
.arr-holder .arr-right,
.arr-holder .elementor-icon {
	transform: translateX(-15%);
	transition: all 0.3s 175ms ease;
}
a:hover .arr-holder .arr-right,
a:hover .arr-holder .elementor-icon {
	transform: translateX(0%);
}
.grid {
	display: grid;
	gap: var(--grid-column-gap);
}
footer .grid {
	grid-template-columns: repeat(3, auto);
}
@media (max-width: 991px) {
	footer .grid {
		grid-template-columns: repeat(1, auto);
	}
}

/* Related Projects Fix - max 3 Cols */
.related-projects .container-fluid .row .col-12:nth-child(4) {
	display: none;
}
.footer-block.footer-block-categories.related-projects figure img {
	-webkit-transition: all 0.3s 75ms ease;
	transition: all 0.3s 75ms ease;
} 
.footer-block.footer-block-categories.related-projects figure:hover img {
	-webkit-transform: scale(1.03);
	transform: scale(1.03);
}