/*
Theme Name: Vivo
Theme URI: https://www.anarieldesign.com/themes/
Author: Anariel Design
Author URI: https://anarieldesign.com/
Description: Vivo is a versatile, easy-to-use block-based WordPress theme optimized for nonprofit organizations. It comes with dozens of beautifully designed block patterns, headers, footers, carefully selected typography, and color options that can be mixed and matched to turn almost any idea into reality. Vivo also includes professionally designed starter sites that can easily be imported with a few clicks.
Requires at least: 5.9
Tested up to: 6.3
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vivo
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments

Vivo WordPress Theme, (C) 2023 Anariel Design
Vivo is distributed under the terms of the GNU GPL.
*/


/*
 * Font smoothing.
 * This is a niche setting that will not be available via Global Styles.
 * https://github.com/WordPress/gutenberg/issues/35934
 */

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-animation: fadein 0.7s;
	-moz-animation: fadein 0.7s;
	-ms-animation: fadein 0.7s;
	-o-animation: fadein 0.7s;
	animation: fadein 0.7s;
}

/*
 * Text link styles.
 * Necessary until the following issue is resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/27075
 */

a {
	-webkit-box-shadow: currentColor 0 2px 0;
	-moz-box-shadow: currentColor 0 2px 0;
	box-shadow: currentColor 0 2px 0;
	text-decoration: none;
	text-decoration: none;
	transition: all .3s linear;
	-webkit-transition: all .3s linear;
}
a:hover,
a:focus {
	-webkit-box-shadow: currentColor 0 4px 0;
	-moz-box-shadow: currentColor 0 4px 0;
	box-shadow: currentColor 0 4px 0;
}
a:active {
	text-decoration: none;
}
.wp-block-site-title a,
.wp-block-post-featured-image a,
.is-style-vivo-post-title-border a,
.is-style-vivo-post-date-border a,
.wp-block-button__link,
.wp-block-button__link:hover,
figure a:hover,
a.custom-logo-link,
.taxonomy-category a,
.taxonomy-post_tag a, 
.taxonomy-post_tag a:hover {
	-webkit-box-shadow: 0 0 0;
	-moz-box-shadow: 0 0 0;
	box-shadow: 0 0 0;
}

figure {
	margin-top: 0;
}

/* ------------------------------------------- */
/* Navigation
/* ------------------------------------------- */
.wp-block-navigation .wp-block-navigation-item__content {
	padding: .5em;
	position: relative;
	-webkit-box-shadow: 0 0 0;
	-moz-box-shadow: 0 0 0;
	box-shadow: 0 0 0;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .6em 1em;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	border: 1px solid transparent
}
.wp-block-navigation .has-child>.wp-block-navigation__submenu-container {
	transition: opacity .25s ease, transform .5s all;
	transform: translateY(15px)
}
.wp-block-navigation__container>.wp-block-navigation-item>a {
	line-height: 2.5;
	position: relative
}
.wp-block-navigation__container>.wp-block-navigation-item:not(.has-child)>a:after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	height: 2px;
	width: 0;
	transition: width .5s;
	background-color: currentColor
}
.wp-block-navigation__container>.wp-block-navigation-item:not(.has-child)>a:hover:after {
	width: 100%
}
.wp-block-navigation :where(.wp-block-navigation__submenu-container)>.wp-block-navigation-item:first-child>.wp-block-navigation-item__content {
	margin-top: .5em
}
.wp-block-navigation :where(.wp-block-navigation__submenu-container)>.wp-block-navigation-item:last-child>.wp-block-navigation-item__content {
	margin-bottom: .5em
}
.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container)>.wp-block-navigation-item>.wp-block-navigation-item__content:hover {
	transform: translateX(5px)
}
.wp-block-navigation-item.current-menu-item > a {
	font-weight: 700;
}
.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) {
	z-index: 10;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	z-index: 100;
}
.wp-block-navigation__responsive-container-close {
	transition: transform .3s ease-in-out;
	opacity: .8
}
.wp-block-navigation__responsive-container-close:focus,
.wp-block-navigation__responsive-container-close:hover {
	transform: rotate(90deg);
	opacity: 1
}
/* Media Queries for Navigation */
@media only screen and (max-width: 482px) {
	.wp-block-navigation__container {
		justify-content: start;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, 
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, 
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
		align-items: flex-start;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
	}
}
@media only screen and (max-width: 962px) {
	.wp-block-navigation.items-justified-right {
		--navigation-layout-justification-setting: flex-start;
		--navigation-layout-justify: flex-start;
	}
}
@media (min-width:600px) {
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
		display: block;
	}
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}
@media (max-width:960px) {
	.wp-block-navigation__responsive-container-close {
		top: 50px;
		right: 20px;
	}
	.wp-block-navigation__responsive-container {
		opacity: 0;
		visibility: hidden;
		transition: opacity 0s, visibility 0s;
		display: flex
	}
	.wp-block-navigation__responsive-container.is-menu-open {
		opacity: 1;
		visibility: visible;
		transition: opacity .3s ease-in-out, visibility .3s ease-in-out
	}
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		transition: transform .4s all, opacity .4s all;
		transform: translateY(-35px);
		opacity: 0;
		transition-delay: .2s;
		font-size: 20px;
		width: 100%
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		transform: translateY(0);
		opacity: 1;
		gap: 20px;
		padding: 40px;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
		font-size: .9em;
		gap: 15px;
		padding: 0 30px 24px 30px;
		position: relative
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container:before {
		content: "↑";
		position: absolute;
		left: 0;
		top: 10px
	}
}
@media (min-width:962px) {
	.wp-block-navigation .has-child:hover>.wp-block-navigation__submenu-container,
	.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]+.wp-block-navigation__submenu-container {
		box-shadow: 0 20px 40px -5px rgb(15 16 18 / 18%);
		transform: translateY(0)
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: block;
		width: 100%;
		position: relative;
		z-index: auto;
		background-color: inherit;
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
		display: none;
	}
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none;
	}
	.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-icon {
		margin-right: .7em
	}
	[class*=' is-style-mega-menu'].has-child>.wp-block-navigation__submenu-container {
		flex-direction: row
	}
	[class*=' is-style-mega-menu'].has-child>.wp-block-navigation__submenu-container>li {
		max-width: 250px;
		display: block;
		min-width: 200px
	}
	[class*=' is-style-mega-menu'].has-child>.wp-block-navigation__submenu-container>li button {
		display: none
	}
	[class*=' is-style-mega-menu'].has-child>.wp-block-navigation__submenu-container>li>a {
		font-weight: var(--wp--custom--font-weight--bold, 700);
		margin: 5px 0 0 0 !important
	}
	[class*=' is-style-mega-menu'].has-child>.wp-block-navigation__submenu-container>li>a:hover {
		transform: translateX(0) !important
	}
	[class*=' is-style-mega-menu'].has-child>.wp-block-navigation__submenu-container>li>ul {
		position: static;
		visibility: visible;
		opacity: .9;
		font-size: .9em;
		width: auto;
		height: auto;
		display: block;
		box-shadow: none !important;
		transform: translateY(0) !important
	}
}

/*
 * Search and File Block button styles.
 */

.wp-block-search__button,
.wp-block-file .wp-block-file__button {
	background-color: var(--wp--preset--color--primary);
	border-radius: 7px;
	border: none;
	color: var(--wp--preset--color--background);
	font-size: var(--wp--preset--typography--font-size--normal);
	padding: calc(.667em + 2px) calc(1.333em + 2px);
}

/* ------------------------------------------- */
/* Blocks Styles
/* ------------------------------------------- */
/* Button Styles */
.is-style-vivo-button-shadow-outline .wp-block-button__link {
	background-color: transparent;
	color: currentColor;
	border: 2px solid;
	box-shadow: 5px 5px 0 currentColor;
	transition: all .3s linear;
	-webkit-transition: all .3s linear;
}
.is-style-vivo-button-shadow-outline .wp-block-button__link:hover {
	box-shadow: 0 0 0 currentColor;
}
.is-style-vivo-3d-button-light .wp-block-button__link {
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--foreground);
	box-shadow: 0px 2px 4px rgba(38, 23, 14, 0.1), 0px 7px 13px -3px rgb(45 35 66 / 30%), inset 0px -3px 0px #d6d0d0;
	padding: 7px 25px;
	border-radius: 100px;
	transition: all .3s ease;
}
.is-style-vivo-3d-button-dark .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	box-shadow: 0px 2px 4px rgba(66, 44, 35, 0.2), 0px 7px 13px -3px rgb(45 35 66 / 30%), inset 0px -3px 0px rgba(111, 81, 58, 0.5);
	padding: 7px 25px;
	border-radius: 100px;
	transition: all .3s ease;
}
.is-style-vivo-3d-button-dark .wp-block-button__link:hover,
.is-style-vivo-3d-button-light .wp-block-button__link:hover {
	box-shadow: none;
	margin-left: 0;
}
.is-style-vivo-button-line-light .wp-block-button__link {
	background: transparent;
	color: currentColor;
	border-radius: 0;
	padding: 0;
	transition: all .3s ease;
	display: inline-block;
	box-shadow: 0 -9px var(--wp--preset--color--primary) inset;
}
.is-style-vivo-button-line-light .wp-block-button__link:hover {
	box-shadow: 0 -50px 0 0 var(--wp--preset--color--primary) inset;
	padding: 0;
}
.is-style-vivo-button-line-dark .wp-block-button__link {
	background: transparent;
	color: currentColor;
	border-radius: 0;
	padding: 0;
	transition: all .3s ease;
	display: inline-block;
	box-shadow: 0 -9px var(--wp--preset--color--foreground) inset;
}
.is-style-vivo-button-line-dark .wp-block-button__link:hover {
	color: var(--wp--preset--color--secondary)!important;
	box-shadow: 0 -50px 0 0 var(--wp--preset--color--foreground) inset;
	padding: 0;
}
.is-style-vivo-button-shadow .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	border-radius: 100px;
	box-shadow: var(--wp--preset--color--foreground) 0 8px 20px -10px;
	color: var(--wp--preset--color--background);
	transition: all .3s ease;
}
.is-style-vivo-button-shadow .wp-block-button__link:hover {
	box-shadow: none;
	margin-left: 0;
}
.is-style-vivo-button-effect-1 .wp-block-button__link {
	background: var(--wp--preset--color--foreground);
	position: relative;
	border-radius: 0;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
}
.is-style-vivo-button-effect-1 .wp-block-button__link:after {
	content: "";
	border: 2px solid var(--wp--preset--color--foreground);
	width: 100%;
	z-index: -1;
	position: absolute;
	height: 100%;
	top: 5px;
	left: 5px;
	transition: 0.3s all;
}
.is-style-vivo-button-effect-1 .wp-block-button__link:hover {
	margin-left: 0;
}
.is-style-vivo-button-effect-1 .wp-block-button__link:hover:after {
	top: 0px;
	left: 0px;
	margin-left: 0;
}
.is-style-vivo-button-effect-2 .wp-block-button__link {
	outline: none;
	border: 2px solid var(--wp--preset--color--primary);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	box-shadow: var(--wp--preset--color--foreground) 0 8px 20px -10px;
	transition: all 0.3s ease;
	position: relative;
	z-index: 1;
}
.is-style-vivo-button-effect-2 .wp-block-button__link:after {
	border-radius: 100px;
	position: absolute;
	content: "";
	width: 0;
	height: 100%;
	top: 0;
	right: 0;
	z-index: -1;
	background: var(--wp--preset--color--background);
	transition: all 0.3s ease;
 }
.is-style-vivo-button-effect-2 .wp-block-button__link:hover {
	color: var(--wp--preset--color--foreground);
}
.is-style-vivo-button-effect-2 .wp-block-button__link:hover:after {
	left: 0;
	width: 100%;
}
.is-style-vivo-button-effect-2 .wp-block-button__link:hover {
	margin-left: 0;
}
/* Image, Groups, Columns Styles */
.is-style-vivo-shadow {
	box-shadow: 0 3px 10px 0 rgb(15 16 18 / 10%), 0 12px 30px 0 rgb(15 16 18 / 10%);
}
.is-style-vivo-shadow-image img,
.is-style-vivo-post-featured-image-shadow img {
	box-shadow: 0 3px 10px 0 rgb(15 16 18 / 10%), 0 12px 30px 0 rgb(15 16 18 / 10%);
}
.is-style-vivo-hover-shadow,
.is-style-vivo-hover-shadow-image img {
	transition: box-shadow 0.5s;
}
.is-style-vivo-hover-shadow:hover,
.is-style-vivo-hover-shadow-image img:hover {
	box-shadow: 0 3px 10px 0 rgb(15 16 18 / 20%), 0 12px 30px 0 rgb(15 16 18 / 20%);
}
.is-style-vivo-border {
	border: 2px solid;
}
.is-style-vivo-post-featured-image-effect-1 img,
.is-style-vivo-effect-1-image img,
.is-style-vivo-effect-3-image img {
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.is-style-vivo-post-featured-image-effect-1:hover img,
.is-style-vivo-effect-1-image:hover img {
	transform: scale(.95);
}
.is-style-vivo-effect-3-image:hover img {
	transform: scale(1.05);
}
.is-style-vivo-post-featured-image-effect-2,
.is-style-vivo-effect-2-image {
	cursor: pointer;
	position: relative;
	overflow: hidden;
}
.is-style-vivo-post-featured-image-effect-2::before,
.is-style-vivo-effect-2-image::before {
	position: absolute;
	top: 0;
	left: -75%;
	z-index: 2;
	display: block;
	content: '';
	width: 50%;
	height: 100%;
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
}
.is-style-vivo-post-featured-image-effect-2:hover::before,
.is-style-vivo-effect-2-image:hover::before {
	-webkit-animation: shine 1s;
	animation: shine 1s;
}
@-webkit-keyframes shine {
	100% {
		left: 125%;
	}
}
@keyframes shine {
	100% {
		left: 125%;
	}
}
.is-style-vivo-shape-one .wp-block-cover__background,
.is-style-vivo-shape-one img {
	border-radius: 500px;
	border-bottom-right-radius: 20px;
}
.is-style-vivo-shape-two .wp-block-cover__background,
.is-style-vivo-shape-two img {
	border-radius: 500px;
	border-top-left-radius: 20px;
}
.is-style-vivo-shape-three .wp-block-cover__background,
.is-style-vivo-shape-three img {
	border-radius: 13px;
}
/* Heading Border Style */
.is-style-vivo-heading-border-radius {
	border-top-left-radius: 13px;
	border-top-right-radius: 13px;
}
/* Blog */
.wp-block-post-excerpt__more-link {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	padding: 7px 25px;
	border-radius: 100px;
	transition: all .3s ease;
}
.wp-block-post-excerpt__more-link:hover {
	padding: 7px 27px;
}
/*
 * Button hover styles.
 * Necessary until the following issue is resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/27075
 */
 .wp-block-search__button,
 .wp-block-file .wp-block-file__button,
 .wp-block-button__link {
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
 } 
.wp-block-search__button:hover,
.wp-block-file .wp-block-file__button:hover,
.wp-block-button__link:hover {
	opacity: 0.96;
	margin-left: 3px;
}

/* ------------------------------------------- */
/* Block Patterns
/* ------------------------------------------- */
/* Header */
.header.sticky-header {
	background: var(--wp--preset--color--background);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 100%;
	padding: 0 0 30px 0!important;
	position: fixed;
	z-index: 999;
	top: 0;
}
.sticky-header .vivo-banner {
	display: none;
}
.banner-info figure {
	display: grid;
}
p.banner-text-margin {
	margin-left: -1rem;
}
.wp-block-cover.additional {
	align-items: initial;
}
.hero-header .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
}
.wp-block-group.columns-negative-top-margin {
	position: relative;
	margin-top: -100px;
	z-index: 1;
}
.hero-header .logo-menu {
	margin-top: 0;
}
.deco-line,
.negative-margin {
	margin-top: -30px!important;
	z-index: 10;
}
/* Testimonials */
.testimonials .negative-margin {
	margin-top: 0!important;
	position: relative;
	z-index: 10;
}
.testimonials .negative-margin.alternative {
	margin-top: -30px!important;
}
.testimonials.one .negative-margin.alternative {
	margin-top: -30px!important;
}
.testimonials.one .wp-block-image {
	position: relative;
	z-index: 12;
}
/* What We Do */
.what-we-do .wp-block-column {
	position: relative;
}
.what-we-do .tagline,
.volunteers .tagline {
	margin-bottom: -15px;
}
.what-we-do .number,
.what-we-do .icon {
	display: inline-block;
}
.what-we-do .icon {
	position: absolute;
	top: -20px;
	left: -40px;
}
.vivo-rating {
	margin: -5px 0 -20px 0!important;
}
.testimonials .rating{
	margin: 0 0 -10px 0!important;
}
.testimonials blockquote.wp-block-quote.is-style-default {
	margin: 0;
}
/* Volunteers */
.volunteers .volunteers-box {
	position: relative;
	margin: -100px 30px 0 30px;
}
.volunteers .volunteers-box-1 {
	margin-top: 0;
}
.donations-4 .wp-block-column {
	position: relative;
}
.quote-mark {
	margin-bottom: -70px!important;
	left: 5%!important;
	position: relative;
}
/* Events */
.event-date {
	display: inline-block;
}
.events.alternative .is-layout-flex {
	gap: 0;
}
.events.alternative .is-layout-flow > * + * {
	margin-block-start: 0;
}
/* FAQ */
.faq .content {
	margin-top: 0;
}
.list-alternative li {
	list-style: none;
	padding-bottom: 20px;
}
.wp-block-column.facts {
	text-align: center;
}
#row-media img {
	border-top-left-radius: 13px;
	border-bottom-left-radius: 13px;
}
/* Footer */
.footer figure.icon img {
	margin-top: 0;
	display: block;
}
/* Blog */
.wp-block-group.date-negative-margin {
	margin-top: -80px;
	position: relative;
}
.is-style-vivo-post-excerpt-border-shadow, 
.is-style-vivo-post-excerpt-border {
	border: 2px solid var(--wp--preset--color--senary);
	padding: var(--wp--preset--spacing--40);
	border-radius: 13px;
}
.is-style-vivo-post-excerpt-border-shadow {
	box-shadow: 0 3px 10px 0 rgb(15 16 18 / 10%), 0 12px 30px 0 rgb(15 16 18 / 10%);
}
.wp-block-post-date {
	border-radius: 7px;
}
.wp-block-group.commments-block {
	margin-bottom: -1.5rem!important;
}
.wp-block-post-author__name {
    font-weight: 600;
}
img.avatar {
    border-radius: 100%;
}

/* Scroll to Top */
.scroll-to-top {
	cursor: pointer;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
.scroll-to-top:hover {
	opacity: 60%;
}
.float-right {
	float: right;
}

/* Scroll Text */
.scroll-container {
	overflow: hidden;
}
.is-style-vivo-scroll-text {
	/* animation properties */
	-moz-transform: translateX(100%);
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	-moz-animation: my-animation 15s linear infinite;
	-webkit-animation: my-animation 15s linear infinite;
	animation: my-animation 15s linear infinite;
}
/* for Firefox */
  @-moz-keyframes my-animation {
	from { -moz-transform: translateX(100%); }
	to { -moz-transform: translateX(-100%); }
  }
/* for Chrome */
  @-webkit-keyframes my-animation {
	from { -webkit-transform: translateX(100%); }
	to { -webkit-transform: translateX(-100%); }
  }
@keyframes my-animation {
	from {
	  -moz-transform: translateX(100%);
	  -webkit-transform: translateX(100%);
	  transform: translateX(100%);
	}
	to {
	  -moz-transform: translateX(-100%);
	  -webkit-transform: translateX(-100%);
	  transform: translateX(-100%);
	}
}
/* ------------------------------------------- */
/* Effects
/* ------------------------------------------- */
/* Floating Images */
.floating-image {
	display: flex;
}
.floating-image figure {
	margin: 0px;
}
.floating-image img {
	object-fit: cover;
}
.floating-image .image-two img,
.floating-image .image-alternative-two img {
	height: 460px;
}
.floating-image .image-alternative-two img {
	margin: 0 40px;
}
.floating-image .image-one img, 
.floating-image .image-three img,
.floating-image .image-alternative-one img,
.floating-image .image-alternative-three img {
	width: 240px;
}
.floating-image .image-alternative-three {
	align-items: self-end;
	display: flex !important;
}
.floating-image .image-one {
	animation: left-right-effect 2.5s infinite alternate;
}
.floating-image .image-three {
	animation: right-left-effect 2.5s infinite alternate;
	margin-left: 0 !important;
	align-items: self-end;
	display: flex !important;
}
.floating-image .image-two {
	animation: updownEffect 2s infinite alternate;
	z-index: 1;
}
@keyframes updownEffect{
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-20px);
	}
}
@keyframes left-right-effect{
	0% {
		transform: translateX(70px);
	}
	100% {
		transform: translateX(110px);
	}
}
@keyframes right-left-effect{
	0% {
		transform: translateX(-70px);
	}
	100% {
		transform: translateX(-110px);
	}
}
/* Image Hover Effect */
.image-effect {
	position: relative;
	cursor: crosshair;
}
.image-effect .wp-block-cover {
	background-color: var(--wp--preset--color--foreground);
	border-radius: 13px;
	overflow: hidden;
}
.image-effect .wp-block-column h2, 
.image-effect .wp-block-column p {
	transition: 1s;
	transition-delay: 0.5s;
	opacity: 0;
}
.image-effect .wp-block-column .wp-block-group{
	transform: scale(1.2);
	transition: 1s ease-in-out;
	opacity: 0;
}
.image-effect .wp-block-cover__image-background {
	transition: 0.8s ease-in;
}
/* Hover */
.image-effect .wp-block-column:hover .wp-block-group {
	transform: scale(0.9);
	opacity: 1;
}
.image-effect .wp-block-column:hover .wp-block-cover__image-background {
	opacity: .6;
	transform: scale(1.5);
}
.image-effect .wp-block-column:hover h2, 
.image-effect .wp-block-column:hover p {
	opacity: 1 !important;
}

@media only screen and (max-width: 961px){
	.taxonomy-category.wp-block-post-terms {
		margin-top: 0px;
	}
}


/* ------------------------------------------- */
/* Contact Form Inputs & Textarea
/* ------------------------------------------- */
input[type = submit] {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: none;
	cursor: pointer;
	font-size: 18px;
	padding: 7px 25px;
	border-radius: 100px;
	transition: all .3s ease;
}
input[type = submit]:hover {
	opacity: 0.9;
}
input, textarea {
	border: 2px solid;
	border-radius: 4px;
}
textarea {
	width: 100%;
}

/* ------------------------------------------- */
/* Media Queries
/* ------------------------------------------- */
@media (min-width: 600px) and (max-width: 781px) {
	/* Columns */
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child) {
		flex-basis: 100%!important;
		flex-grow: 0;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n) {
		margin-left: 0;
	}
}

@media only screen and (max-width: 482px) {
	/* Header Banner */
	p.banner-text-margin {
		font-size: 14px;
	}
	.wp-block-group.banner-info img {
		width: 10px;
	}
	.vivo-banner .wp-block-social-links {
		font-size: 16px;
		justify-content: center;
	}
	.wp-block-group.banner-info {
		margin-bottom: -20px;
	}
}

@media only screen and (max-width: 961px) {
	/* Sticky Header Hide Banner on Mobile */
	.sticky-header.remove-sticky-mobile .vivo-banner {
		display: block;
	}
	.header.sticky-header.remove-sticky-mobile {
		background: transparent;
		margin-left: 0;
		margin-right: 0;
		width: auto;
		max-width: auto;
		padding: 0!important;
		position: relative;
		top: auto;
	}
	.header.remove-sticky-mobile {
		-webkit-transition: none;
		-moz-transition: none;
		transition: none;
		transition-duration: 0;
		transform: none;
	}
	.header.sticky-header.remove-sticky-mobile {
		top: auto;
		transform: none;
		transition-duration: 0;
	}
	.vivo-banner .wp-block-social-links {
		justify-content: center;
	}
	/* Post Template Columns */
	.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li, 
	.wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li {
		 width: 100%;
	}
	/* Columns */
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child),
	.vivo-grid .wp-block-column,
	.vivo-grid-post .wp-block-column {
		flex-basis: 100%!important;
	}
	.vivo-grid .wp-block-columns {
		display: block;
	}
	.vivo-grid .wp-block-columns.is-not-stacked-on-mobile>.wp-block-column:not(:first-child) {
		margin-left: 0;
	}
	.vivo-grid .wp-block-columns .wp-block-group {
		padding: 0!important;
	}
	.vivo-grid .wp-block-columns .vivo-food-categories-circle {
		padding: 4px 6px!important;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:first-child) {
		margin-left: 0;
	}
	.wp-block-columns {
		flex-wrap: wrap;
	}
	.vivo-grid-post li:last-child .wp-block-column,
	.vivo-grid-post li:nth-child(2) .wp-block-column {
		margin-left: 0;
	}
	.taxonomy-category.wp-block-post-terms {
		margin-top: 10px;
	}
	/* Hero Patterns */
	.wp-block-social-links.mobile-center,
	.banner-info.mobile-center {
		justify-content: center;
	}
	.hero-1 .mobile-image img {
		margin-top: -50px;
	}
	.border-box {
		border: none;
		padding: 0;
	}
	.hero-header.additional {
		min-height: 550px!important;
	}
	.wp-block-image.wave img {
		height: 100px;
	}
	/* About Patterns */
	.what-we-do .icon {
		top: -20px;
		left: -10px;
	}
	.what-we-do.gradient {
		background: none!important;
	}
	/* Events Patterns */
	.events.alternative .wp-block-cover {
		min-height: 300px!important;
	}
	.events.alternative .wp-block-group {
		border-right: none;
	}
	.wp-block-column.facts {
		border-right: none;
	}
	.events.alternative.pricing .pricing-table {
		border: 2px solid var(--wp--preset--color--senary);
	}
	.events.alternative {
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.events.alternative .wp-block-cover {
		margin-left: 30px;
		margin-right: 30px;
	}
	/* Blog Layout Patterns */
	.blog-sidebar .has-global-padding {
		padding: 0;
	}
	.blog-sidebar .has-global-padding .additional-column-padding {
		padding-right: 0!important;
	}
	.blog-sidebar .has-global-padding .additional-column-padding-left {
		padding-left: 0!important;
	}
	/* Floating Image Effect */
	.floating-image .image-two img, 
	.floating-image .image-alternative-two img {
		height: 300px;
	}
	.floating-image .image-one img, 
	.floating-image .image-three img, 
	.floating-image .image-alternative-one img, 
	.floating-image .image-alternative-three img {
		width: 340px;
	}
	/* Footer */
	.footer-1 .has-global-padding.wp-block-group.alignfull {
		padding: 0;
	}
	/* Hide on Mobile Class */
	.hide-mobile {
		display: none!important;
	}
}

@media (max-width: 982px){
	/* Columns */
	.wp-block-columns {
		 flex-wrap: wrap!important;
	}
}
@media only screen and (min-width: 961px) {
	/* Sticky Header Effect */
	.header {
		-webkit-transition: background-color .4s ease, transform 0.4s ease;
		-moz-transition: background-color .4s ease, transform 0.4s ease;
		transition: background-color 0.4s ease, transform 0.4s ease;
		transition-duration: 0.7s;
	}
	.header.sticky-header {
		top: 45px;
		transform: translateY(-45%);
		transition-duration: 0.5s;
	}
	/* Layout Positions */
	.negative-top-margin {
		margin-top: -40px;
	}
	.image-right-position {
		left: 100px;
	}
	.bring-to-front {
		position: relative;
		z-index: 10;
	}
	.image-left-position {
		right: 100px;
	}
	.overlapping-image {
		margin-left: -50px!important;
		margin-top: 30px;
	}
	.rotate-text {
		transform: rotate(90deg);
		position: absolute;
		top: 0;
		right: 0;
	}
	.text-overlay {
		display: inline-block;
		float: right;
		margin-right: -100px;
		position: relative;
		z-index: 1;
	}
	.left-bottom {
		left: -100px;
		top: -100px;
		position: relative;
		z-index: 2;
	}
	/* Profile Card */
	.profile-card {
		position: relative;
		cursor: pointer;
	}
	.profile-card .wp-block-group {
		transition: 0.8s;
		position: relative;
		margin: 0;
	}
	.profile-card .wp-block-group:first-child {
		z-index: 1;
	}
	.profile-card .wp-block-group:last-child {
		transform: translateY(-350px);
	}
	.profile-card:hover .wp-block-group {
		transform: translateY(0);
	}
	.volunteers .volunteers-image {
		margin-top: -100px;
	}
}
@media screen and (max-width: 60em){
	.wc-block-mini-cart__footer {
		padding-bottom: 64px;
	}
}

/* ------------------------------------------- */
/* Vivo */
/* ------------------------------------------- */
.vivo-heading {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-top: auto !important;
	margin-bottom: auto !important;
}
.login-form {
	background: #fff;
	border: 1px solid #ffe5d2;
	box-shadow: 0 8px 20px 0 rgb(255 113 5 / 11%), 0 12px 30px 0 rgb(255 113 5 / 11%);
	border-radius: 1.6rem;
	width: 65%;
	margin: 65px auto;
	padding: 40px;
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
}
.login-form .logo-image {
	display: block;
	margin: 0 auto 40px auto;
	text-align: center;
}
.login-form p.register {
	font-size: 18px;
	font-weight: 300;
	margin-top: 20px;
	text-align: center;
}
.login-form .input-field {
	padding: 12px 0;
}
.login-form .input-field input {
	background: #fff;
	border: 1px solid #E9DECE;
	border-radius: 1.6rem;
	font-size: 16px;
	display: block;
	width: 95.6%;
	padding: 10px;
	outline: none;
	-webkit-transition: all .2s;
	transition: all .2s;
}
body input:valid, body input:-internal-autofill-selected {
	background-color: #fff!important;
}
.login-form .input-field input:focus {
	border-color: #000;
}
.flex {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 2rem;
}
.border-top {
	border-top: 1px solid #E9DECE;
}
.col {
	flex-basis: 0;
	flex-grow: 1;
	max-width: 100%;
}
.col-2 {
	flex: 0 0 60%;
	max-width: 60%;
	text-align: center;
	background: #FFD068;
	border-radius: 1.6rem;
	line-height: 2rem;
	margin: 0 10px;
	padding: 0 10px;
	transition: all .3s linear;
	-webkit-transition: all .3s linear;
}
.col-2:hover {
	opacity: 0.8;
}
.login-form a.link {
	font-size: 14px;
	text-decoration: none;
	box-shadow: none;
}
.login-form .action {
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	flex-direction: row;
}
.login-form .action button {
	width: 100%;
	border: none;
	padding: 18px;
	cursor: pointer;
	text-transform: none;
	background: #FA640B;
	color: #fff;
	box-shadow: 0px 2px 4px rgba(66, 44, 35, 0.2), 0px 7px 13px -3px rgb(45 35 66 / 30%), inset 0px -3px 0px rgba(111, 81, 58, 0.5);
	border-radius: 100px;
	letter-spacing: 0;
	font-family: var(--wp--preset--font-family--outfit);
	font-weight: 500;
	font-size: 20px;
	margin-top: 2rem;
	outline: 0;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.login-form .action button:hover {
	background: #4D8716;
	box-shadow:none;
}
.testimonial-image {
	border-radius: 95% 81% 100% 70% / 100% 100% 80% 79%!important;
	padding: 10px!important;
}
.slide-1 .testimonial-image {
	border: 1px dashed #FA640B!important;
}
.slide-2 .testimonial-image {
	border: 1px dashed #4D8716!important;
}
.slide-3 .testimonial-image {
	border: 1px dashed #F1AC13!important;
}
.testimonial-image img {
	border-radius: 95% 81% 100% 70% / 100% 100% 80% 79%!important;
}
body .testimonial-name .n2-ss-text {
	border-bottom: none!important;
}
body .n2-bullet {
	padding: 1px 20px!important;
	border-radius: 0!important;
}
.moving {
	animation: moving 4s linear infinite;
}
@keyframes moving {
	0% {
		transform: translateY(0);
   }
	50% {
		transform: translateY(20px);
   }
	100% {
		transform: translateY(0);
   }
}
.movingX {
	animation: movingX 4s linear infinite;
}
@keyframes movingX {
	0% {
		transform: translateX(0) translateY(0);
   }
	50% {
		transform: translateX(-40px) translateY(20px);
   }
	100% {
		transform: translateX(0) translateY(0);
   }
}
.shapePulse {
	animation: shapePluse 6s linear infinite;
}
@keyframes shapePluse {
	0% {
		transform: scale(1);
   }
	50% {
		transform: scale(1.2);
   }
	100% {
		transform: scale(1);
   }
}
.movingA {
	animation: movingA 3s linear infinite;
}
@keyframes movingA {
	0% {
		transform: translateX(0);
   }
	50% {
		transform: translateX(-10px);
   }
	100% {
		transform: translateX(0);
   }
}
.movingB {
	animation: movingB 3s linear infinite;
}
@keyframes movingB {
	0% {
		transform: translateX(0);
   }
	50% {
		transform: translateX(10px);
   }
	100% {
		transform: translateX(0);
   }
}
.rotate {
	animation: rotateShape 10s linear infinite;
}
@keyframes rotateShape {
	0% {
		transform: rotate(0deg);
   }
	100% {
		transform: rotate(360deg);
   }
}
@media only screen and (max-width: 961px) {
	.vivo-intro-page .mobile-first {
		order: 0;
   }
	.vivo-intro-page .mobile-second {
		order: 1;
   }
	.col-2 {
		flex: 0 0 56.6666666667%;
		max-width: 56.6666666667%;
		padding: 0 10px;
   }
	.mobile-first .wp-block-cover {
		min-height: auto!important;
		padding: 4em 1em;
   }
	figure.wp-block-image.movingX {
		margin-top: 20px;
   }
	@keyframes movingX {
		0% {
			transform: translateX(0) translateY(0);
	   }
		50% {
			transform: translateX(-10px) translateY(-10px);
	   }
		100% {
			transform: translateX(0) translateY(0);
	   }
   }
	@keyframes moving {
		0% {
			transform: translateY(0);
	   }
		50% {
			transform: translateY(10px);
	   }
		100% {
			transform: translateY(0);
	   }
   }
	.vivo-important .wp-container-core-group-layout-3, .vivo-important .wp-container-core-group-layout-4, .vivo-important .wp-container-core-group-layout-5, .vivo-important .wp-container-core-group-layout-6 {
		padding-left: 0!important;
   }
	.vivo-important .wp-container-core-group-layout-6 figure {
		width: 60px;
   }
	.n2-ss-layer .n2-ss-text {
		font-size: 18px!important;
   }
	.n2-ss-section-main-content {
		padding: 20px 0!important;
   }
}
@media only screen and (max-width: 361px) {
	.col-2 {
		flex: 0 0 70%;
		max-width: 70%;
   }
}
.is-style-vivo-box-deco {
	background: #fff;
	border: 1px solid #ffe5d2;
	box-shadow: 0 8px 20px 0 rgb(255 113 5 / 11%), 0 12px 30px 0 rgb(255 113 5 / 11%);
	border-radius: 1.6rem;
}
.is-style-vivo-box-deco-1 {
	background: #fff;
	border: 1px solid #ffe5a0;
	box-shadow: 0 8px 20px 0 rgba(255, 208, 104, 0.11), 0 12px 30px 0 rgba(255, 208, 104, 0.11);
	border-radius: 1.6rem;
}
.is-style-vivo-box-deco-2 {
	background: #fff;
	border: 1px solid #d9e6ce;
	box-shadow: 0 8px 20px 0 rgba(77, 135, 22, 0.11), 0 12px 30px 0 rgba(77, 135, 22, 0.11);
	border-radius: 1.6rem;
}
.is-style-vivo-box-deco-3 {
	background: #fff;
	border: 1px solid #e3d7f4;
	box-shadow: 0 8px 20px 0 rgba(103, 81, 135, 0.11), 0 12px 30px 0 rgba(103, 81, 135, 0.11);
	border-radius: 1.6rem;
}
.is-style-vivo-box-deco .wp-block-media-text__media img, .is-style-vivo-box-deco-2 .wp-block-media-text__media img {
	border-top-left-radius: 1.6rem;
	border-bottom-left-radius: 1.6rem;
}
.is-style-vivo-box-deco-1 .wp-block-media-text__media img, .is-style-vivo-box-deco-3 .wp-block-media-text__media img {
	border-top-right-radius: 1.6rem;
	border-bottom-right-radius: 1.6rem;
}

.wp-block-navigation-item.current-menu-item > a{
	position: relative;
}
.wp-block-navigation-item.current-menu-item > a:before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	min-height: 2.236em;
	min-width: 2.236em;
	background-color: #ffe5a0;
	border-radius: 65% 35% 70% 30% / 55% 60% 40% 45%;
	transform: translate(-50%, -50%);
	z-index: -1;
	opacity: 1;
}
.wp-block-navigation-item > a:before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	min-height: 2.236em;
	min-width: 2.236em;
	background-color: #ffe5a0;
	border-radius: 65% 35% 70% 30% / 55% 60% 40% 45%;
	transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
	z-index: -1;
	opacity: 0;
	transition: transform 0.3s ease, opacity 0.3s ease;
}
.wp-block-navigation__container>.wp-block-navigation-item:not(.has-child)>a:hover:after {
	width: 0!important;
}
.wp-block-navigation .wp-block-navigation-item__content:hover:before {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1) rotate(10deg);
}
@media only screen and (max-width: 961px) {
	.is-style-vivo-box-deco .wp-block-media-text__media img, 
	.is-style-vivo-box-deco-2 .wp-block-media-text__media img,
	.is-style-vivo-box-deco-1 .wp-block-media-text__media img, 
	.is-style-vivo-box-deco-3 .wp-block-media-text__media img {
		border-top-left-radius: 1.6rem;
		border-top-right-radius: 1.6rem;
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
   }
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
   }
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
   }
	.wp-block-media-text.has-media-on-the-right, .wp-block-media-text {
		grid-template-columns: 1fr;
   }
	.wp-block-media-text .wp-block-media-text__content {
		padding: 8%;
   }

   .lessons .wp-block-buttons.is-layout-flex {
	    flex-direction: column;
   }

   .wp-block-group.is-style-vivo-box-deco .is-style-vivo-3d-button-dark .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-1 .is-style-vivo-3d-button-dark .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-2 .is-style-vivo-3d-button-dark .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-3 .is-style-vivo-3d-button-dark .wp-block-button__link {
	    width: 100%;
   }

   .wp-block-group.is-style-vivo-box-deco .is-style-vivo-3d-button-dark.third .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-1 .is-style-vivo-3d-button-dark.third .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-2 .is-style-vivo-3d-button-dark.third .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-3 .is-style-vivo-3d-button-dark.third .wp-block-button__link{
		border-top-left-radius: 0!important;
        border-top-right-radius: 0!important;
	    border-bottom-left-radius: 13px!important;
        border-bottom-right-radius: 13px!important;
   }
	
   .wp-block-group.is-style-vivo-box-deco .is-style-vivo-3d-button-dark.second .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-1 .is-style-vivo-3d-button-dark.second .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-2 .is-style-vivo-3d-button-dark.second .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-3 .is-style-vivo-3d-button-dark.second .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco .is-style-vivo-3d-button-dark.second-alternative .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-1 .is-style-vivo-3d-button-dark.second-alternative .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-2 .is-style-vivo-3d-button-dark.second-alternative .wp-block-button__link,
   .wp-block-group.is-style-vivo-box-deco-3 .is-style-vivo-3d-button-dark.second-alternative .wp-block-button__link{
		border-top-left-radius: 0!important;
        border-top-right-radius: 0!important;
	    border-bottom-left-radius: 0!important;
        border-bottom-right-radius: 0!important;
   }

   .wp-block-group.is-style-vivo-box-deco .is-style-vivo-3d-button-dark,
   .wp-block-group.is-style-vivo-box-deco-1 .is-style-vivo-3d-button-dark,
   .wp-block-group.is-style-vivo-box-deco-2 .is-style-vivo-3d-button-dark,
   .wp-block-group.is-style-vivo-box-deco-3 .is-style-vivo-3d-button-dark{
		width: 100%;
   }

   .wp-block-group.is-style-vivo-box-deco,
   .wp-block-group.is-style-vivo-box-deco-1,
   .wp-block-group.is-style-vivo-box-deco-2,
   .wp-block-group.is-style-vivo-box-deco-3 {
	    padding-right: 20px!important;
	    padding-left: 20px!important;
   }
	.wp-block-group.lesson-inner.has-border-color.is-layout-flow.wp-block-group-is-layout-flow {
        border: none;
        padding-left: 0!important;
        padding-right: 0!important;
        border-top: 2px solid #eed2ab;
        border-radius: 0!important;
	}
}
@media only screen and (min-width: 960px) {
	.column-negative-margin {
		margin-left: -40px!important;
   }
}
@media only screen and (max-width: 960px) {
	body .hilfe-doku .is-layout-flex {
		flex-direction: column;
   }
	body .hilfe-doku .wp-block-image img {
		width: 100px!important;
   }
	.wp-block-group.footer {
		padding-top: 0!important;
	}
}

.am-video-wrapper {
   margin-top: 10px;
}

/** Page transitions **/

.page-content {
	animation: fadeInAnimation ease 0.5s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

@keyframes fadeInAnimation {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/** Page title on mobile **/

@media only screen and (max-width: 480px){
.has-gigantic-font-size {
    font-size: 1.8rem!important;
}
}

/** list marker **/

::marker {
    color: #FA640B;
}
html {
	scroll-behavior: smooth;
}
