/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/


/* general styling */

em {
	font-style: normal;
	color: var(--color-red);
}

.nowrap {
	white-space: nowrap;
}

ul.nodash {
	list-style-type: none;
	margin-left: 0;
}

.deco-img img {
    box-shadow: 0 0 12px -2px var(--color-content-text);
	border-radius: calc( 1.66 * var(--site-border-radius));
	aspect-ratio: 3 / 2;
}

.web-apps .deco-img img {
    object-position: center 80%;;
}

.round-edge img {
	border-radius: calc( 1.66 * var(--site-border-radius));
}
.drop-shade img {
    box-shadow: 0 0 12px -2px var(--color-content-text);
}

.width-limit {
	max-width: 64rem !important;
	margin-left: auto;
	margin-right: auto;
}
.width-limit-2 {
	max-width: 53rem !important;
	margin-left: auto;
	margin-right: auto;
}

.gradient-text > .wpb_wrapper {
	background: linear-gradient(90deg, #11235C -0.5%, #274DAB 30%, #F212EB 65%, #11F7F7 93%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
    display: inline-block;
    margin: 0 auto;
}
.gradient-text-light > .wpb_wrapper {
	background: linear-gradient(90deg, #F212EB -0.5%, #E2DFFC 47%, #11F7F7 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
    display: inline-block;
    margin: 0 auto;
}

[id] {
    scroll-margin-top: 20px;
}

/* message-box */

.w-message.color_blue {
	background: var(--color-content-faded);
	color: #FFF;
}
.w-message-body {
    padding: 0.75rem 1.25rem
}
.w-message-body > p {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

@media (max-width: 900px) {
	.w-message-body > p {
		flex-direction: column;
	}
}

/* slider */

.dotstyle_smudge .owl-dot span {
    background: var(--color-content-faded) !important;
}

.owl-carousel>.owl-nav button:hover {
    background-color: transparent !important;
	color: var(--color-red) !important;
}


/* header + footer + navi */

.l-header .l-subheader.at_middle .l-subheader-h {
	border-bottom: 1px solid #FFF;
}

.l-subheader.at_middle .type_mobile .w-nav-list.level_1 {
    background: #FFF !important;
}

.l-subheader.at_bottom .w-nav {
    margin-left: calc(-1 * var(--menu-items-gap, 20px));
}

#contact .w-separator {
	width: 100%;
}

#contact a {
	white-space: nowrap;
}

/* portfolio */

.portfolio#embedded {
	background: linear-gradient(113.59deg, rgba(255, 255, 255, 0.748334) -2.78%, rgba(199, 197, 253, 0.68) 34.72%, rgba(242, 18, 235, 0.1) 78.1%, rgba(255, 255, 255, 0) 104.05%);
}
.portfolio#web-app {
	background: linear-gradient(113.59deg, rgba(255, 255, 255, 0.748334) -2.78%, rgba(199, 197, 253, 0.68) 34.72%, rgba(242, 18, 235, 0.1) 78.1%, rgba(255, 255, 255, 0) 104.05%);
}

/* grid keywords */

.layout_190 .w-grid-item-h {
    display: flex;
    justify-content: center;
}


/* grid posts */

.layout_438 .w-hwrapper>*:not(:last-child), .w-grid .w-hwrapper>*:not(:last-child) {
    margin-inline-end: 0;
}

/* details gallery */

.layout_blog_1 .post_title {
    text-align: center;
    color: var(--color-content-faded);
}

/* legal pages */

.legal p, .legal li {
	font-size: 14px;
    margin: 0.5em 0;
}
.legal h2, .legal h3, .legal h4, .legal h5.legal h6 {
	font-size: 22px;
    padding-bottom: 10px;
    margin-top: 15px;
    margin-bottom: 10px;
}

/* bg morph */

@property --angle { syntax: '<angle>';      inherits: false; initial-value: 164.46deg; }
@property --s1    { syntax: '<percentage>'; inherits: false; initial-value: 25.46%; }
@property --s2    { syntax: '<percentage>'; inherits: false; initial-value: 43.43%; }
@property --s3    { syntax: '<percentage>'; inherits: false; initial-value: 64.22%; }
@property --s4    { syntax: '<percentage>'; inherits: false; initial-value: 76.66%; }

:root {
  --bg-morph-speed: 1;
}
.bg-morph {
  background: linear-gradient(
    var(--angle),
    rgba(255, 255, 255, 0.748334) var(--s1),
    rgba(199, 197, 253, 0.15)     var(--s2),
    rgba(242, 18, 235, 0.1)       var(--s3),
    rgba(255, 255, 255, 0)        var(--s4)
  );
  animation: morph calc(14s / var(--bg-morph-speed)) ease-in-out infinite;
}
@keyframes morph {
  0%   { --angle: 164deg; --s1: 25%; --s2: 43%; --s3: 64%; --s4: 77%; }
  25%  { --angle: 200deg; --s1: 8%;  --s2: 34%; --s3: 72%; --s4: 96%; }
  50%  { --angle: 250deg; --s1: 30%; --s2: 52%; --s3: 70%; --s4: 88%; }
  75%  { --angle: 130deg; --s1: 15%; --s2: 40%; --s3: 80%; --s4: 100%; }
  100% { --angle: 164deg; --s1: 25%; --s2: 43%; --s3: 64%; --s4: 77%; }
}
@media (prefers-reduced-motion: reduce) { 
	.bg-morph { animation: none; } 
}
