/*!
Theme Name: Alessa
Theme URI: https://demo.shadow-themes.com/wp/alessa
Author: Shadow Themes
Author URI: https://shadow-themes.com
Description: Alessa Portfolio Theme for the WordPress by Shadow Themes.
Version: 1.0
License: Themeforest
License URI: -
Text Domain: alessa
Tags: animated, creative, dark, fullscreen, gallery, modern, parallax, photo, photographer, photography, portfolio, showcase, slider, blog, grid-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-menu, featured-images, full-width-template, sticky-post, theme-options, translation-ready

-----------------
Table of Contents
-----------------
01. GENERAL
    1.1 - Wordpress Core
    1.2 - Wordpress Blocks
    1.3 - Text meant only for screen readers
    1.4 - Grid and Structure
    1.5 - Format
    1.6 - Disable Selection
    1.7 - Magic Cursor
    1.8 - PhotoSwipe Lightbox

02. TYPOGRAPHY
    2.1 - Headings & Paragraphs
    2.2 - Blockquotes
    2.3 - Pullquote
    2.4 - Tables
    2.5 - Lists

03. FORMS & FIELDS
    3.1 - General
    3.2 - Alessa Custom Select

04. HEADER
    4.1 - General
    4.2 - Layout 01
    4.3 - Layout 02
    4.4 - Layout 03
    4.5 - Layout 04
    4.6 - Layout 05
    4.7 - Layout 06
    4.8 - Main Menu
    4.9 - Sub Menu
        4.9.1 - Sub Menu Links
        4.9.1 - Sub-Menu Show

05. CONTENT
    5.1 - General
    5.2 - Sidebar
    5.3 - Page Title & Breadcrumbs
    5.4 - Back to Top

06. WIDGETS
    6.1 - Widget: Search
    6.2 - Widgets: Archive, Categories, Menus
    6.3 - Widget: Calendar
    6.4 - Widget: Contacts (ST)
    6.5 - Widget: About (ST)
    6.6 - Widget: Latest Posts

07. FOOTER
    7.1 - Footer Widgets
    7.2 - Footer Line
    7.3 - Copyright
    7.4 - Socials List

08. HEADER SEARCH

09. ASIDE BAR

10. BLOG LISTING
    10.1 - General
    10.2 - Small Thumbnail
    10.3 - Medium Thumbnail
    10.4 - Large Thumbnail
    10.5 - Pagination

11. SINGLE POST
    11.1 - General
    11.2 - Post Comments
    11.3 - Comment Form
    11.4 - Post Nav

12. SINGLE PORTFOLIO
    12.1 - General
    12.2 - Short Content
    12.3 - Short Content Sidebar
    12.4 - Ribbon Gallery
    12.5 - Slider Gallery
        12.5.1 - General Slider
        12.5.2 - Fitting Type
        12.5.3 - Slides
        12.5.4 - Slider Controls
        12.5.5 - Slider Description
    12.6 - Slider and Ribbon Title
    12.7 - Grid Gallery
    12.8 - BrickWall

13. MAINTENANCE MODE

14. PASSWORD PROTECTED

15. ATTACHMENT

16. 404 PAGE

17. RIGHT CLICK PROTECTION MESSAGE

18. ELEMENTOR DEFAULTS

19. SHADOW ELEMENTS
    19.1 - Before and After
    19.2 - Testimonials
    19.3 - Cards Carousel
    19.4 - Ribbon Posts
    19.5 - Price Table
    19.6 - Count Down
    19.7 - Grid Gallery
    19.8 - Query Grid
    19.9 - Counter

20. PAGE TRANSITIONS
    20.1 - General
    20.2 - Shutter to Bottom
    20.3 - Shutter to Left
    20.4 - Shutter to Top
    20.5 - Shutter to Right

21. HOVER EFFECTS

22. CUSTOM CLASSES

--------------------------- */

/* 01. GENERAL
   ----------- */
* {
    box-sizing: border-box;
    outline: none;
}
body,
html {
    padding: 0;
    margin: 0;
    min-height: 100%;
}
html.has-admin-bar {
	min-height: calc(100% - 32px);
}
html.no-admin-bar {
	min-height: 100%;
}
body {
    overflow-x: hidden;
	position: relative;
}
body.alessa-spotlight::before {
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	display: block;
	pointer-events: none;
}
body.alessa-spotlight.alessa-spotlight-sticky::before {
	position: fixed;
}
body.elementor-template-canvas {
	pointer-events: all;
}
body.is-init {
	opacity: 1;
}
body.is-loaded {
	pointer-events: auto;
}
body.is-locked,
body.is-loaded.is-locked,
body.is-init.is-locked {
	pointer-events: none;
}
div.clear {
	clear: both;
}
iframe {
	max-width: 100%;
}
a,
a:visited {
	text-decoration: none;
	transition: color 0.3s;
}
a i.dashicons {
	transition: none;
}
a:visited {
	color: auto;
}
.alessa-div-image,
.alessa-image {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	display: inline-block;
}
.alessa-div-image img {
	width: 100%;
	height: auto;
}
img {
	max-width: 100%;
	height: auto;
}

/* Lazy Image Loading */
.alessa-lazy-await {
	position: relative;
}
.shadowcore-lazy-await:after,
.alessa-lazy-await:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 40px;
	height: 40px;
	margin: -22px 0 0 -22px;
	display: block;
	transition: opacity 0.3s;
	will-change: opacity;
	border-radius: 50%;
	pointer-events: none;
}
.shadowcore-lazy-await:not(.is-done):after,
.alessa-lazy-await:not(.is-done):after {
	animation: contact_progress 0.8s infinite ease-in-out;
}
.shadowcore-lazy-await.is-done:after,
.alessa-lazy-await.is-done:after {
	opacity: 0;
}
.alessa-grid-item--image.alessa-lazy {
	transition: transform 0.3s, opacity 0.3s;
}
.alessa-grid-item--image.alessa-lazy:not(.is-loaded) {
	opacity: 0;
	transform: translateY(40px);
}
.elementor img.alessa-lazy:not(.alessa-lazy-ntf),
img.alessa-lazy:not(.alessa-lazy-ntf),
div.alessa-image.alessa-lazy:not(.alessa-lazy-ntf) {
	transition: transform 0.3s, opacity 0.3s;
	opacity: 0;
	transform: translateY(20px);
	pointer-events: none;
}
.alessa-blog-listing--small div.alessa-image.alessa-lazy:not(.alessa-lazy-ntf) {
	transform: scale(0.9);
}
.alessa-blog-listing--small div.alessa-image.alessa-lazy:not(.alessa-lazy-ntf).is-loaded {
	transform: scale(1);
}
.elementor img.alessa-lazy.alessa-lazy-ntf,
img.alessa-lazy.alessa-lazy-ntf,
div.alessa-image.alessa-lazy.alessa-lazy-ntf {
	transition: opacity 0.3s;
	opacity: 0;
	pointer-events: none;
}
.alessa-ribbon-item--image.alessa-lazy,
.shadowcore-pli-image > div,
.shadowcore-ribbon-item--image {
	transition: opacity 0.3s, transform 0.3s;
}
.alessa-ribbon-item--image img {
	opacity: 0;
}
@media (hover: hover) {
	.shadowcore-pri-scale--yes .shadowcore-ribbon-item--image {
		transition: opacity 0.3s, transform 0.3s, background 0.3s;
	}
}
.shadowcore-pli-image > div.shadowcore-lazy {
	opacity: 0;
	transform: translate(0, 40px);
}
.alessa-ribbon-item--image.alessa-lazy:not(.is-loaded):not(.alessa-lazy-ntf),
.shadowcore-ribbon-item--image.shadowcore-lazy {
	opacity: 0;
	transform: translate(40px,0);
}
.alessa-ribbon-item--image.alessa-lazy-ntf.alessa-lazy:not(.is-loaded).alessa-lazy-ntf {
	opacity: 0;
}
.alessa-retina-image {
	max-width: 50%;
	height: auto;
}
.elementor img.alessa-lazy.is-loaded:not(.alessa-lazy-ntf),
img.alessa-lazy.is-loaded:not(.alessa-lazy-ntf),
div.alessa-image.alessa-lazy.is-loaded:not(.alessa-lazy-ntf) {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto;
}
.elementor img.alessa-lazy.alessa-lazy-ntf.is-loaded,
img.alessa-lazy.alessa-lazy-ntf.is-loaded,
div.alessa-image.alessa-lazy.alessa-lazy-ntf.is-loaded {
	opacity: 1;
	pointer-events: auto;
}

/* --- Wordpress Core --- */
.alignnone {
    margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
.alignright {
    float:right;
    margin: 5px 0 28px 20px;
}
.alignleft {
    float: left;
    margin: 5px 20px 28px 0;
}
a img.alignright {
    float: right;
    margin: 5px 0 28px 20px;
}
a img.alignnone {
    margin: 5px 20px 28px 0;
}
a img.alignleft {
    float: left;
    margin: 5px 20px 28px 0;
}
a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.wp-caption {
    max-width: 100%;
    padding: 0;
    text-align: center;
	margin-bottom: 28px;
}
.wp-caption:last-child {
	margin-bottom: 0;
}
.wp-caption.alignnone {
    margin: 5px 20px 28px 0;
}
.wp-caption.alignleft {
    margin: 5px 20px 28px 0;
}
.wp-caption.alignright {
    margin: 5px 0 28px 20px;
}
.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 100%;
    padding: 0;
    width: auto;
	display: block;
}
.wp-caption figcaption.wp-caption-text,
.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 18px 20px 18px;
}
.gallery-caption {
	display: inline-block;
	font-size: 12px;
	line-height: 1.4;
	padding-top: 10px;
}

address {
	margin: 0 0 28px 0;
}
ins,
tt,
kbd,
code,
pre {
	padding: 7px 15px 8px 15px;
	display: inline-block;
	margin: 10px 0;
	max-width: 100%;
	border-radius: 12px;
}
tt,
kbd,
code {
	margin: 0 5px;
}
abbr {
	text-transform: uppercase;
}
ins, acronym, abbr {
	text-decoration: none;
}
kbd,
code {
	margin: 10px 5px;
	font-family: monospace;
}
pre {
	white-space: pre-wrap;
	margin-bottom: 1.65em;
}
hr {
	margin: 1.65em 0;
}
hr:first-child {
	margin-top: 0;
}
hr:first-child {
	margin-bottom: 0;
}

.alessa-smooth-scroll .wp-block-cover-image.has-parallax,
.alessa-smooth-scroll .wp-block-cover.has-parallax {
	background-attachment: scroll;
}
.gallery {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	margin: -20px -20px 20px -20px;
}
.gallery > .gallery-item {
	text-align: center;
	padding: 20px;
}
.gallery > .gallery-item .gallery-icon {
	display: flex;
	justify-content: center;
	align-items: center;
}
.gallery > .gallery-item img {
	display: block;
	max-width: 100%;
	height: auto;
}
.gallery > .gallery-item a {
	display: block;
	margin: 0 auto;
}
.gallery.gallery-columns-1 > .gallery-item {
	width: calc(100% - 40px);
	margin: 20px;
}
.gallery.gallery-columns-2 > .gallery-item {
	width: calc(50% - 40px);
	margin: 20px;
}
.gallery.gallery-columns-3 > .gallery-item {
	width: calc(33.33% - 40px);
	margin: 20px;
}
.gallery.gallery-columns-4 > .gallery-item {
	width: calc(25% - 40px);
	margin: 20px;
}
.gallery.gallery-columns-5 > .gallery-item {
	width: calc(20% - 40px);
	margin: 20px;
}
.gallery.gallery-columns-6 > .gallery-item {
	width: calc(16.66% - 40px);
	margin: 20px;
}
.gallery.gallery-columns-7 > .gallery-item {
	width: calc(14.28% - 40px);
	margin: 20px;
}
.gallery.gallery-columns-8 > .gallery-item {
	width: calc(12.5% - 40px);
	margin: 20px;
}
.gallery.gallery-columns-9 > .gallery-item {
	width: calc(11.11% - 40px);
	margin: 20px;
}

/* --- Wordpress Blocks --- */
.wp-caption:empty,
.wp-caption-dt:empty {
	display: none;
}
body .alessa-post-content .wp-block-file a.wp-block-file__button,
.wp-block-button .wp-block-button__link {
	transition: color 0.3s, background 0.3s, border 0.3s;
}
body ul.wp-block-gallery li {
	padding: 0;
}
.wp-block-image figcaption,
.blocks-gallery-grid .blocks-gallery-image figcaption,
.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
	line-height: 1.5;
}
.wp-block-image img {
	display: block;
	max-width: 100%;
	height: auto;
}
.wp-block-image figcaption {
	display: block;
	margin: 0;
	padding: 5px 0;
	text-align: center;
}
body .wp-block-image.is-style-rounded img {
	border-radius: 24px;
}
p.has-large-font-size,
.wp-block-media-text__content > p.has-large-font-size,
.alessa-post-content > p.has-large-font-size {
	line-height: 1.2;
}
.wp-block-media-text__content > p[style],
.alessa-post-content > p[style] {
	line-height: 1.75;
}
.wp-block-file {
	display: flex;
	align-items: center;
}
body .wp-block-file a,
body .wp-block-file a.wp-block-file__button {
	display: inline-block;
	width: auto;
}
body .alessa-post-content .wp-block-file a.wp-block-file__button {
	margin-left: 30px;
}
.wp-block-embed,
figure.wp-block-embed {
	margin: 0 0 40px 0;
}
.wp-block-embed.is-type-video .wp-block-embed__wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9, for an aspect ratio of 1:1 change to this value to 100% */
}
.wp-block-embed.is-type-video .wp-block-embed__wrapper > iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}
.blocks-gallery-item__caption {
	pointer-events: none;
}
.wp-block-image figcaption,
.blocks-gallery-grid .blocks-gallery-image figcaption,
.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
	overflow: hidden;
}
.blocks-gallery-grid .blocks-gallery-image figure,
.blocks-gallery-grid .blocks-gallery-item figure,
.wp-block-gallery .blocks-gallery-image figure,
.wp-block-gallery .blocks-gallery-item figure {
	position: relative;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	display: block;
	font-size: 1em;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

body .alessa-single-post-content ol.wp-block-latest-comments {
	padding-left: 0;
}

/* --- Grid and Structure --- */
.alessa-grid {
	display: grid;
	grid-column-gap: 40px;
	grid-row-gap: 40px;
}
.alessa-grid br {
	display: none;
}
.alessa-grid.small-gap {
	grid-column-gap: 20px;
	grid-row-gap: 20px;
}
.alessa-grid.no-gap {
	grid-column-gap: 0;
	grid-row-gap: 0;
}
.alessa-grid.alessa-grid-col2 {
	grid-template-columns: repeat(2, 1fr);
}
.alessa-grid.alessa-grid-col3 {
	grid-template-columns: repeat(3, 1fr);
}
.alessa-grid.alessa-grid-col4 {
	grid-template-columns: repeat(4, 1fr);
}
.alessa-grid.alessa-grid-col5 {
	grid-template-columns: repeat(5, 1fr);
}
.alessa-grid.alessa-grid-col6 {
	grid-template-columns: repeat(6, 1fr);
}

.alessa-row {
    display: flex;
    flex-direction: row;
    margin: 0 -20px;
}
.alessa-row.is-reverse {
	flex-direction: row-reverse;
}
.alessa-row.alessa-no-gap {
	margin: 0;
}
.alessa-row.alessa-small-gap {
	margin: 0 -10px;
}
.alessa-row-middle {
	align-items: center;
}
.alessa-row-fullheight {
	min-height: 100vh;
	align-items: stretch;
}
.alessa-col {
    margin: 0 20px;
}
.alessa-col.align-top {
	display: inline-flex;
	flex-direction: column;
	justify-content: flex-start;
}
.alessa-col.align-middle {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
}
.alessa-col.align-bottom {
	display: inline-flex;
	flex-direction: column;
	justify-content: flex-end;
}
.alessa-row.alessa-no-gap .alessa-col {
	margin: 0;
}
.alessa-row.alessa-small-gap .alessa-col {
	margin: 0 10px;
}

.alessa-col.col-12 {
    width: calc(100% - 40px);
}
.alessa-col.col-9 {
    width: calc(75% - 40px);
}
.alessa-col.col-8 {
    width: calc(66.66% - 40px);
}
.alessa-col.col-6 {
    width: calc(50% - 40px);
}
.alessa-col.col-4 {
    width: calc(33.33% - 40px);
}
.alessa-col.col-3 {
    width: calc(25% - 40px);
}
.alessa-col.col-2 {
    width: calc(16.665% - 40px);
}

.alessa-row.alessa-no-gap .alessa-col.col-12 {
    width: 100%;
}
.alessa-row.alessa-no-gap .alessa-col.col-9 {
    width: 75%;
}
.alessa-row.alessa-no-gap .alessa-col.col-8 {
    width: 66.66%;
}
.alessa-row.alessa-no-gap .alessa-col.col-6 {
    width: 50%;
}
.alessa-row.alessa-no-gap .alessa-col.col-4 {
    width: 33.33%;
}
.alessa-row.alessa-no-gap .alessa-col.col-3 {
    width: 25%;
}
.alessa-row.alessa-no-gap .alessa-col.col-2 {
    width: 16.665%;
}

.alessa-row.alessa-small-gap .alessa-col.col-12 {
    width: calc(100% - 20px);
}
.alessa-row.alessa-small-gap .alessa-col.col-9 {
    width: calc(75% - 20px);
}
.alessa-row.alessa-small-gap .alessa-col.col-8 {
    width: calc(66.66% - 20px);
}
.alessa-row.alessa-small-gap .alessa-col.col-6 {
    width: calc(50% - 20px);
}
.alessa-row.alessa-small-gap .alessa-col.col-4 {
    width: calc(33.33% - 20px);
}
.alessa-row.alessa-small-gap .alessa-col.col-3 {
    width: calc(25% - 20px);
}
.alessa-row.alessa-small-gap .alessa-col.col-2 {
    width: calc(16.665% - 20px);
}

.alessa-contact-row {
    display: flex;
    flex-direction: row;
    margin: 0 -10px;
}
.alessa-contact-col {
    margin: 0 10px;
    width: calc(50% - 20px);
}
.alessa-contact-col.col-4 {
    margin: 0 10px;
    width: calc(33.33% - 20px);
}

/* --- Format --- */
.align-left {
    text-align: left;
}
.align-center {
    text-align: center;
}
.align-right {
    text-align: right;
}
.align-center img {
	margin-left: auto;
	margin-right: auto;
}
.align-right img {
	margin-left: auto;
}

.no-scroll .alessa-scroll-bar-wrap,
.alessa-scroll-bar-wrap.is-hidden,
.alessa-psc-sidebar .no-scroll .alessa-scroll-bar-wrap {
	display: none;
}

/* --- Disable Selection --- */
a img,
.alessa-image,
.alessa-select-wrap,
.alessa-select,
header#alessa-header,
.alessa-select-disabled {
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* --- Magic Cursor --- */
.alessa-cursor {
	position: fixed;
	left: 0;
	top: 0;
	width: 256px;
	height: 256px;
	display: none;
	transition: opacity 0.3s;
	will-change: opacity, transform;
	opacity: 0;
	pointer-events: none;
	z-index: 9999;
}
.alessa-cursor.is-active {
	opacity: 1;
}
.alessa-ptr--unload .alessa-cursor,
.alessa-ptr--unload .alessa-cursor.is-active {
	opacity: 0;
}

/* --- PhotoSwipe Lightbox --- */
body.pswp-click-to-zoom .pswp__item img {
	pointer-events: auto;
}
.pswp:not(.pswp--open) .alessa-pswp-media--video {
    pointer-events: none;
}
.alessa-pswp-media--video,
.alessa-pswp-media--iframe {
	position: absolute;
	overflow: hidden;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
.alessa-pswp-media--video video,
.alessa-pswp-media--iframe iframe {
	width: 100%;
	height: 100%;
	pointer-events: all;
	will-change: transform, opacity;
	transition: transform 0.3s, opacity 0.3s;
	opacity: 0;
	transform: scale(0.75);
	position: absolute;
	left: 0;
	top: 0;
	border: none;
}
.alessa-pswp-media--video.is-inview video,
.alessa-pswp-media--iframe.is-inview iframe {
	opacity: 1;
	transform: scale(1);
}
html .pswp--has_mouse .pswp__button:hover,
html .pswp--has_mouse .pswp__button--arrow--left:hover,
html .pswp--has_mouse .pswp__button--arrow--right:hover {
	background: transparent;
}
html .pswp__ui--fit .pswp__top-bar button.pswp__button.pswp__button--close {
	margin-right: 20px;
	margin-top: 10px;
	display: flex!important;
	justify-content: center;
}
.pswp__button--arrow--left {
	left: 20px;
}
.pswp__button--arrow--right {
	right: 20px;
}
.alessa-pswp-image-wrap {
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: all;
}
.alessa-pswp-image-wrap img {
	position: static;
	pointer-events: none;
}

/* 02. TYPOGRAPHY
   -------------- */
h1 {
	margin: 0 0 0.7em 0;
}
h2 {
	margin: 0 0 0.75em 0;
}
h3 {
	margin: 0 0 0.85em 0;
}
h4 {
	margin: 0 0 1em 0;
}
h5 {
	margin: 0 0 1em 0;
}
h6 {
	margin: 0 0 1em 0;
}
p {
	margin: 0 0 1.65em 0;
}
p:empty {
	display: none;
}
p:last-child {
	margin: 0;
}
body .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap {
	margin: -2px 16px -2px 0;
}

sup {
	font-size: 0.6em;
	margin-right: 2px;
}

/* --- Blockquotes --- */
blockquote:not(.is-pullquote) {
	border: none;
	position: relative;
	margin: 0;
}
.wp-block-quote.is-large p,
.wp-block-quote.is-style-large p {
	font-style: normal;
	line-height: 1.65;
}
blockquote.is-single:not(:last-child) {
	margin-bottom: 1.65em;
}
blockquote:not(.is-pullquote).has-next-cite.wp-block-quote.is-large,
blockquote:not(.is-pullquote).has-next-cite.wp-block-quote.is-style-large,
blockquote:not(.is-pullquote).has-next-cite {
	margin-bottom: 0;
}

cite {
	text-align: right;
	display: block;
	font-style: normal;
}
body cite.has-quote-above {
	margin-left: 0;
	margin-right: 0;
	padding: 0;
}
body cite.has-quote-above:last-child {
	margin-bottom: 0;
}
body cite.has-quote-above br {
	display: none;
}
cite:before {
	content: '';
	width: 15px;
	height: 2px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}
blockquote cite br {
	display: none;
}
blockquote:last-child {
	margin-bottom: 0;
}

/* --- Pullquote --- */
figure.wp-block-pullquote cite {
	text-align: right;
	max-width: 60%;
	margin: 0 auto;
}
figure.wp-block-pullquote blockquote.is-pullquote:before {
	content: "\f122";
	font-family: dashicons;
	font-size: 128px;
	line-height: 1;
	opacity: 0.15;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
}
figure.wp-block-pullquote blockquote.is-pullquote {
	position: relative;
}
figure.wp-block-pullquote {
	border-left: none!important;
	border-right: none!important;
	border-radius: 0!important;
}
figure.wp-block-pullquote blockquote.is-pullquote.has-next-cite {
	margin-bottom: 0;
}

/* --- Tables --- */
table {
	width: 100%;
	max-width: 100%;
}
table#wp-calendar td,
table#wp-calendar th {
	padding: 0;
}
table:last-child {
	margin: 0;
}

/* --- Lists --- */
ul li ul,
ul li ol,
ol li ul,
ol li ol,
ol:last-child,
ul:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
ul li:last-child,
ol li:last-child {
	padding-bottom: 0;
	margin-bottom: 0
}

/* 03. FORMS & FIELDS
   ------------------ */
select {
	max-width: 100%;
}
select option {
	white-space: normal;
}
textarea {
	resize: none;
}
label {
	transition: color 0.3s;
	display: block;
}
label.has-input,
label.has-textarea,
label.has-select,
label:last-child {
	margin: 0;
}
input,
select,
textarea,
button,
a.alessa-button {
	transition: color 0.3s, border 0.3s, background 0.3s;
	width: 100%;
	display: inline-block;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
	transition: background-color 5000s ease-in-out 0s, -webkit-box-shadow 0.3s, -webkit-text-fill-color 0.3s, color 0.3s, border 0.3s;
}
input::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	transition: color 0.3s;
}
input::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
	transition: color 0.3s;
}
input::-ms-input-placeholder,
select::-ms-input-placeholder,
textarea::-ms-input-placeholder {
	transition: color 0.3s;
}
input[type="button"],
input[type="reset"],
input[type="submit"],
button,
.wp-block-button__link,
a.alessa-button {
	-webkit-appearance: none;
	cursor: pointer;
	width: auto;
}
.wp-block-button {
	margin-bottom: 1.65em;
}
body .wp-block-button.is-style-squared .wp-block-button__link {
	border-radius: 0;
}
form.wpcf7-form {
	transition: opacity 0.3s, transform 0.3s;
	will-change: opacity, transform;
}
form.wpcf7-form.in-process {
	pointer-events: none;
	opacity: 0.5;
	position: relative;
	transform: scale(0.95);
}

form.wpcf7-form.in-process:before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 50%;
	z-index: 15;
	pointer-events: none;
	border: 2px solid;
	width: 50px;
	height: 50px;
	margin: -24px 0 0 -24px;
	animation: contact_progress 1s infinite ease-in-out;
}

@keyframes contact_progress {
	0% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(360deg);
	}
}
span.wpcf7-form-control-wrap {
	display: block;
}
span.wpcf7-not-valid-tip {
	display: block;
	padding-top: 5px;
}
body span.wpcf7-not-valid-tip {
	margin-left: 0;
	margin-right: 0;
	margin-top: 0;
	padding: 5px 0 0 0;
}
.wpcf7-form > p > br {
	display: none;
}

body input.wpcf7-form-control.wpcf7-not-valid,
body select.wpcf7-form-control.wpcf7-not-valid,
body textarea.wpcf7-form-control.wpcf7-not-valid {
	margin-bottom: 0;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border: none;
	margin: 0;
	padding: 10px 0 0 0;
}
.wpcf7 form input[type="submit"] {
	margin-bottom: 0;
}
.wpcf7 form > p {
	margin-bottom: 0;
}
.wpcf7-spinner {
	display: none;
}

/* Alessa Custom Select */
select.is-hidden {
	display: none;
}
.alessa-select-wrap {
	position: relative;
}
.alessa-select-wrap.is-active {
	z-index: 999;
}
.alessa-select {
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	transition: border-color 0.3s, background-color 0.3s, color 0.3s;
}
.alessa-select-wrap i {
	position: absolute;
	display: block;
	font-size: 16px;
	line-height: 1;
	right: 11px;
	top: 50%;
	margin-top: -8px;
	pointer-events: none;
	transition: transform 0.15s;
}
.alessa-select-wrap.is-active i {
	transform: scaleY(-1) translateY(4px);
}
.alessa-select__list-wrap {
	position: absolute;
	left: -7px;
	top: calc(100% - 57px);
	width: calc(100% + 14px);
	max-height: 50vh;
	overflow-y: auto;
	padding: 0;
	margin: 0;
	z-index: 999;
	border-radius: 12px;
	overflow: hidden;
	transition: opacity 0.15s;
}
.alessa-select__list-wrap .alessa-scroll-bar-wrap,
.alessa-psc-content-wrap .alessa-select__list-wrap .alessa-scroll-bar-wrap,
.alessa-psc-sidebar .alessa-select__list-wrap .alessa-scroll-bar-wrap {
	position: absolute;
	width: 4px;
	right: 4px;
	top: 12px;
	height: 100%;
	max-height: calc(100% - 24px);
	display: block;
	border-radius: 2px;
	transition: opacity 0.25s;
	will-change: opacity;
	pointer-events: none;
	z-index: 7;
}
.alessa-select__list-wrap .alessa-scroll-bar-wrap.is-hidden {
	opacity: 0;
}
.alessa-select__list-wrap .alessa-select__list-wrap .alessa-scroll-bar,
.alessa-psc-sidebar .alessa-select__list-wrap .alessa-scroll-bar,
.alessa-select__list-wrap .alessa-scroll-bar {
	width: 4px;
	height: 50%;
	border-radius: 2px;
	position: absolute;
	left: 0;
	top: 0;
}
ul.alessa-select__list {
	margin: 0;
	display: block;
	border-radius: 12px;
	padding: 10px;
    max-height: 50vh;
}
ul.alessa-select__list li {
	display: block;
	margin: 0;
	list-style: none;
	cursor: pointer;
	position: relative;
	z-index: 1;
	border: none;
}
.alessa-select-wrap ul.alessa-select__list > li,
.alessa-select-wrap ul.alessa-select__list > li:not(:first-child)  {
	border-bottom: none;
}
.alessa-select-wrap ul.alessa-select__list li span {
	display: block;
	position: static;
	transition: transform 0.3s;
	will-change: transform;
	position: relative;
	z-index: 3;
	top: auto;
}
.alessa-select-wrap ul.alessa-select__list li:after {
	content: '';
	width: 100%;
	height: calc(100% + 2px);
	display: block;
	position: absolute;
	left: 0;
	top: -1px;
	opacity: 0;
	border-radius: 8px;
	z-index: 2;
	pointer-events: none;
	transition: opacity 0.3s;
	will-change: opacity;
}
ul.alessa-select__list li:not(:last-child):before {
	content: '';
	width: calc(100% - 20px);
	position: absolute;
	left: 10px;
	bottom: 0;
	pointer-events: none;
	height: 1px;
}

/* 04. HEADER
   ---------- */
#alessa-header {
	display: block;
	width: 100%;
	position: relative;
	z-index: 111;
}
.elementor-editor-active #alessa-header {
	pointer-events: none;
}
#alessa-header.frosted-glass-header {
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	backdrop-filter: saturate(150%) blur(12px);
}
.elementor-editor-active #alessa-header.is-sticky {
	opacity: 0.5;
}
.alessa-mobile-menu-alt,
.alessa-mobile-menu-overlay,
.alessa-mobile-menu-wrap,
.alessa-mobile-aside-toggler,
.alessa-header-inner-mobile {
	display: none;
}
.alessa-aside-toggler-icon,
.alessa-aside-toggler-icon:before,
.alessa-aside-toggler-icon:after {
	width: 4px;
	height: 4px;
	border-radius: 2px;
	display: block;
}
.alessa-aside-toggler-icon {
	position: relative;
}
.alessa-aside-toggler-icon:before,
.alessa-aside-toggler-icon:after {
	content: '';
	position: absolute;
}
.alessa-aside-toggler-icon:before {
	left: -10px;
	top: 0;
}
.alessa-aside-toggler-icon:after {
	left: 10px;
	top: 0;
}
#alessa-header.hide-on-scroll {
	transition: transform 0.15s;
}
#alessa-header.hide-on-scroll {
	will-change: transform;
}
#alessa-header.hide-on-scroll.is-hidden {
	transform: translateY(-100%);
}
#alessa-header:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	pointer-events: none;
	z-index: 1;
}
#alessa-header-holder {
	display: block;
	width: 100%;
	pointer-events: none;
}
#alessa-header.alessa-header--solid-scroll:before,
#alessa-header.alessa-header--gradient-scroll:before {
	opacity: 0;
	transition: opacity 0.15s;
	will-change: opacity;
}
#alessa-header.alessa-header--solid-scroll.is-scrolled:before,
#alessa-header.alessa-header--gradient-scroll.is-scrolled:before {
	opacity: 1;
}
#alessa-header.is-sticky {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 111;
	transition: transform 0.3s;
	will-change: transform;
}
.alessa-show-aside #alessa-header.is-sticky {
	transform: translateX(-212px);
}
.alessa-show-aside #alessa-header.is-sticky.is-moving {
	transition: none;
}
.admin-bar #alessa-header.is-sticky {
	top: 32px;
}
#alessa-header .alessa-header-inner {
	display: flex;
	justify-content: space-between;
	padding: 0 40px;
	position: relative;
	z-index: 99;
}
#alessa-header .alessa-header-inner > div,
#alessa-header .alessa-header-inner-mobile > div {
	display: flex;
	align-items: center;
}
a.alessa-aside-toggler,
a.alessa-header-search--toggler {
	transition: opacity 0.3s;
	will-change: opacity;
	opacity: 0.6;
}
.alessa-aside-toggler:not(.alessa-aside-toggler--label),
.alessa-header-search--toggler {
	display: flex;
	width: 40px;
	height: 40px;
	justify-content: center;
	align-items: center;
}
.alessa-aside-toggler:not(.alessa-aside-toggler--label) i,
.alessa-header-search--toggler i {
	font-size: 24px;
	line-height: 1;
}
.alessa-logo-wrap a,
.alessa-logo-wrap a img {
	display: block;
}
#alessa-header nav.alessa-nav,
#alessa-header nav.alessa-nav > ul,
#alessa-header nav.alessa-nav > ul > li {
	display: flex;
}
#alessa-header nav.alessa-nav > ul > li > a {
	display: flex;
	align-items: center;
}
.alessa-text-logo {
	text-transform: uppercase;
	font-style: normal;
	text-decoration: none;
}

/* --- Layout 01 --- */
#alessa-header.alessa-header-layout01 .alessa-header-inner .alessa-header-lp,
#alessa-header.alessa-header-layout01 .alessa-header-inner .alessa-header-rp {
	width: 40px;
	position: relative;
	z-index: 3;
}
#alessa-header.alessa-header-layout01 .alessa-header-inner .alessa-header-lp > a {
	transform: translate(-10px, -1px);
}
#alessa-header.alessa-header-layout01 .alessa-header-inner .alessa-header-rp > a:not(.alessa-aside-toggler--label) {
	transform: translate(6px, 0);
}
#alessa-header.alessa-header-layout01 .alessa-header-inner .alessa-header-mp {
	width: calc(100% - 80px);
}
#alessa-header.alessa-header-layout01 .alessa-header-inner .alessa-header-mp {
	justify-content: center;
	align-items: stretch;
}

#alessa-header.alessa-header-layout01 nav.alessa-nav > ul {
	padding: 0 30px;
}
#alessa-header.alessa-header-layout01 nav.alessa-nav > ul > li > a {
	padding: 0 30px;
}

#alessa-header.alessa-header-layout01.has-no-logo .alessa-header-mp nav:first-child > ul {
	padding-right: 0;
}
#alessa-header.alessa-header-layout01.has-no-logo .alessa-header-mp nav:last-child > ul {
	padding-left: 0;
}

/* --- Layout 02 --- */
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-lp,
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-rp {
	width: 50%;
	align-items: stretch;
}
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-lp > a,
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-rp > a {
	align-self: center;
}
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-lp {
	justify-content: flex-start;
}
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-rp {
	justify-content: flex-end;
}
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-lp > a {
	transform: translate(-10px, -1px);
}
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-rp > a:not(.alessa-aside-toggler--label) {
	transform: translate(6px, 0);
}
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-lp nav.alessa-nav > ul {
	padding-left: 10px;
}
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-lp nav.alessa-nav > ul > li > a {
	padding: 0 30px;
}
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-rp nav.alessa-nav > ul {
	padding-right: 10px;
}
#alessa-header.alessa-header-layout02 .alessa-header-inner .alessa-header-rp nav.alessa-nav > ul > li > a {
	padding: 0 30px;
}

#alessa-header.alessa-header-layout02.has-no-logo .alessa-header-mp {
	display: none;
}

/* --- Layout 03 --- */
#alessa-header.alessa-header-layout03 .alessa-header-inner .alessa-header-lp,
#alessa-header.alessa-header-layout03 .alessa-header-inner .alessa-header-rp {
	width: 40px;
}
#alessa-header.alessa-header-layout03 .alessa-header-inner .alessa-header-mp  {
	flex-direction: column;
}
#alessa-header.alessa-header-layout03 .alessa-header-inner nav.alessa-nav > ul {
	padding: 0 30px;
}
#alessa-header.alessa-header-layout03 .alessa-header-inner nav.alessa-nav > ul > li > a {
	padding: 0 30px;
}
#alessa-header.alessa-header-layout03 .alessa-header-inner .alessa-header-lp > a {
	transform: translate(-10px, -1px);
}
#alessa-header.alessa-header-layout03 .alessa-header-inner .alessa-header-rp > a:not(.alessa-aside-toggler--label) {
	transform: translate(6px, 0);
}

/* --- Layout 04 --- */
#alessa-header.alessa-header-layout04 .alessa-header-inner .alessa-header-lp {
	justify-content: flex-start;
}
#alessa-header.alessa-header-layout04 .alessa-header-inner .alessa-header-mp {
	justify-content: center;
	align-items: stretch;
}
#alessa-header.alessa-header-layout04 .alessa-header-inner .alessa-header-rp {
	justify-content: flex-end;
}
#alessa-header.alessa-header-layout04 .alessa-header-inner nav.alessa-nav > ul > li > a {
	padding: 0 30px;
}
#alessa-header.alessa-header-layout04 .alessa-header-inner .alessa-header-rp > a:not(.alessa-aside-toggler--label) {
	margin-left: 20px;
	transform: translate(6px, 0);
}
#alessa-header.alessa-header-layout04 .alessa-header-inner .alessa-header-rp > a.alessa-aside-toggler--label {
	margin-left: 26px;
}

/* --- Layout 05 --- */
#alessa-header.alessa-header-layout05 .alessa-header-inner .alessa-header-rp {
	align-items: stretch;
}
#alessa-header.alessa-header-layout05 .alessa-header-inner .alessa-header-rp > a {
	align-self: center;
}
#alessa-header.alessa-header-layout05 .alessa-header-inner .alessa-header-rp > a.alessa-header-search--toggler {
	transform: translate(6px, -1px);
	margin-left: 40px;
}
#alessa-header.alessa-header-layout05 .alessa-header-inner .alessa-header-rp > a.alessa-aside-toggler:not(.alessa-aside-toggler--label) {
	margin-left: 40px;
	transform: translate(6px, 0);
}
#alessa-header.alessa-header-layout05 .alessa-header-inner nav.alessa-nav > ul {
	margin-right: -30px;
}
#alessa-header.alessa-header-layout05 .alessa-header-inner nav.alessa-nav > ul > li > a {
	padding: 0 30px;
}

/* --- Layout 06 --- */
#alessa-header.alessa-header-layout06 .alessa-header-inner .alessa-header-lp {
	align-items: stretch;
}
#alessa-header.alessa-header-layout06 .alessa-header-inner .alessa-header-lp > a {
	align-self: center;
}
#alessa-header.alessa-header-layout06 .alessa-header-inner .alessa-header-lp > a.alessa-header-search--toggler {
	transform: translate(-12px, -1px);
	margin-right: 30px;
}
#alessa-header.alessa-header-layout06 .alessa-header-inner .alessa-header-lp > a.alessa-aside-toggler:not(.alessa-aside-toggler--label) {
	margin-right: 20px;
	transform: translate(-12px, 0);
}
#alessa-header.alessa-header-layout06 .alessa-header-inner nav.alessa-nav > ul {
	margin-left: -30px;
	margin-right: 30px;
}
#alessa-header.alessa-header-layout06 .alessa-header-inner nav.alessa-nav > ul > li > a {
	padding: 0 30px;
}

/* --- Main Menu --- */
.alessa-no-menu-wrap {
	display: flex;
	align-items: center;
	padding: 0 60px;
}
.alessa-header-layout05 .alessa-no-menu-wrap {
	padding-right: 0;
	padding-left: 50px;
}
.alessa-header-layout06 .alessa-no-menu-wrap {
	padding-left: 0;
	padding-right: 50px;
}
.alessa-no-menu-wrap > span,
.alessa-no-menu-wrap > a {
	display: block;
}
.alessa-no-menu-wrap > span {
	margin: 0 5px;
}
nav.alessa-nav {
	transform: translateY(0px);
}
nav.alessa-nav ul {
	padding: 0;
	margin: 0;
	display: flex;
}
nav.alessa-nav ul li {
	list-style: none;
	position: relative;
	padding: 0;
	margin: 0;
}
nav.alessa-nav ul.main-menu > li > a {
	display: block;
	transition: opacity 0.3s;
	will-change: opacity;
	opacity: 0.6;
}
nav.alessa-nav > ul li.current-menu-parent > a,
nav.alessa-nav > ul li.current-menu-item > a,
nav.alessa-nav > ul li.current-menu-ancestor > a {
	opacity: 1;
}
nav.alessa-nav > ul.main-menu > li.current-menu-ancestor:before,
nav.alessa-nav > ul.main-menu > li.current-menu-item:before,
nav.alessa-nav > ul.main-menu > li.current-menu-parent:before {
	content: '';
	width: 4px;
	height: 4px;
	display: block;
	position: absolute;
	left: 50%;
	bottom: 14px;
	border-radius: 50%;
	margin-left: -2px;
}

/* Sub Menu */
nav.alessa-nav ul.sub-menu {
	position: absolute;
	top: calc(100% - 10px);
	left: 0%;
	width: 240px;
	flex-direction: column;
	align-items: stretch;
	transform-origin: 0 0;
	opacity: 0;
	transition: opacity 0.15s, transform 0.15s;
	transform: scale(1, 0.7);
	pointer-events: none;
	z-index: 99;
	border-radius: 12px;
}
nav.alessa-nav ul.sub-menu ul.sub-menu {
	left: calc(100% - 5px);
	top: 0;
	transform: scale(1);
}
nav.alessa-nav ul.sub-menu > li {
	position: relative;
}
nav.alessa-nav ul.sub-menu > li:hover {
	z-index: 3;
}
nav.alessa-nav ul.sub-menu > li:not(:last-child):before {
	content: '';
	width: calc(100% - 22px);
	height: 1px;
	position: absolute;
	left: 11px;
	bottom: 0;
	display: block;
	z-index: -1;
}
nav.alessa-nav > ul > li > ul.sub-menu.alessa-menu-offset {
	left: auto;
	right: 0;
}
nav.alessa-nav ul.sub-menu ul.sub-menu.alessa-menu-offset {
	left: auto;
	right: 100%;
	padding-left: 0;
	padding-right: 5px;
	transform: scale(1) translateX(-20px);
}

/* Sub Menu Links */
nav.alessa-nav ul.sub-menu a {
	display: flex;
	align-items: center;
	flex-direction: row;
	justify-content: space-between;
	position: relative;
}
nav.alessa-nav ul.sub-menu a span {
	transition: transform 0.3s;
	display: block;
	position: relative;
}
nav.alessa-nav ul.sub-menu li.current-menu-parent > a > span:before,
nav.alessa-nav ul.sub-menu li.current-menu-item > a > span:before {
	content: '';
	position: absolute;
	top: 50%;
	left: -14px;
	margin: -2px 0 0 0;
	border-radius: 50%;
	width: 4px;
	height: 4px;
	display: block;
}
nav.alessa-nav ul.sub-menu a:before {
	content: '';
	width: 100%;
	height: calc(100% + 1px);
	display: block;
	position: absolute;
	left: 0;
	top: -1px;
	border-radius: 8px;
	z-index: -1;
	transition: opacity 0.3s;
	will-change: opacity;
	opacity: 0;
	pointer-events: none;
}
nav.alessa-nav > ul > li > ul.sub-menu > li.menu-item-has-children > a:after {
	content: '\f345';
	font-family: dashicons;
	font-size: 12px;
	line-height: 1;
	transform: translate(5px, -1px);
	margin-left: 5px;
}

/* Sub-Menu Show */
nav.alessa-nav ul > li:hover > ul.sub-menu {
	opacity: 1;
	transform: scale(1, 1);
	pointer-events: all;
}
nav.alessa-nav ul > li:hover > ul.sub-menu > li:hover > ul.sub-menu {
	opacity: 1;
	transform: scale(1) translateX(0px);
	pointer-events: all;
}

/* 05. CONTENT
   ----------- */
.alessa-scroll {
	overflow-y: scroll;
	max-height: 100%;
	height: 100%;
}
.alessa-scroll::-webkit-scrollbar {
  width: 4px;
}
.alessa-scroll.no-scrollbar::-webkit-scrollbar {
	display: none;
}
.alessa-scroll::-webkit-scrollbar-thumb,
.alessa-scroll::-webkit-scrollbar-track {
  border-radius: 4px;
}
body:not(.alessa-port-psc) main#alessa-main-wrap {
	transition: transform 0.3s;
	will-change: transform;
}
main#alessa-main-wrap.alessa-min-content > .alessa-content-wrap {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}
main#alessa-main-wrap.alessa-min-content > .alessa-content-wrap > .alessa-container {
	width: 100%;
}
body.alessa-show-aside:not(.alessa-port-psc) main#alessa-main-wrap {
	transform: translateX(-212px);
}
body.alessa-show-aside:not(.alessa-port-psc) main#alessa-main-wrap.is-moving {
	transition: none;
}
.alessa-container {
	width: 100%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	position: relative;
	z-index: 33;
}
.alessa-container.alessa-pmb-sticky .alessa-content-part-wrap {
	display: flex;
	position: relative;
	align-items: flex-start;
}
.alessa-pmb-sticky--right .alessa-content-part-wrap  {
	flex-direction: row-reverse;
}
.alessa-sidebar--right .alessa-container.alessa-pmb-sticky .alessa-content-part-wrap {
	padding-right: 40px;
}
.alessa-sidebar--left .alessa-container.alessa-pmb-sticky .alessa-content-part-wrap {
	padding-left: 40px;
}
.alessa-container.alessa-pmb-sticky .alessa-content-part-wrap > div {
	width: calc(50% - 20px);
	position: sticky;
	top: 160px;
}
.alessa-container.alessa-pmb-sticky .alessa-content-part-wrap > div.alessa-pmb-sticky-wrap {
	margin-right: 40px;
}
.alessa-container.alessa-pmb-sticky.alessa-pmb-sticky--right .alessa-content-part-wrap > div.alessa-pmb-sticky-wrap {
	margin-right: 0;
	margin-left: 40px;
}
.alessa-content-wrap > .alessa-container {
	padding: 160px 0;
}
.alessa-content-wrap > .alessa-single-post-container.has-post-thumbnail {
	padding-top: 80px;
}
.alessa-sidebar-wrap {
	position: relative;
}
.alessa-sidebar-wrap aside {
	position: relative;
	z-index: 5;
}
.alessa-disable-top-padding .alessa-content-wrap > .alessa-single-post-container.has-post-thumbnail,
.alessa-disable-top-padding .alessa-content-wrap > .alessa-container {
	padding-top: 0;
}
.alessa-disable-bottom-padding .alessa-content-wrap > .alessa-single-post-container.has-post-thumbnail,
.alessa-disable-bottom-padding .alessa-content-wrap > .alessa-container {
	padding-bottom: 0;
}
.alessa-pmb-sticky .alessa-content-part-wrap {
	position: relative;
}

/* --- Sidebar --- */
.alessa-sidebar--right .alessa-sidebar-wrap {
	border-left: 1px solid;
}
.alessa-sidebar--left .alessa-sidebar-wrap {
	border-right: 1px solid;
}
.alessa-content-wrap.alessa-sidebar--left > .alessa-container {
	flex-direction: row-reverse;
}
.alessa-content-wrap:not(.alessa-sidebar--none) .alessa-content-part-wrap {
	width: 970px;
}
.alessa-content-wrap:not(.alessa-sidebar--none) .alessa-content-part {
	width: 930px;
}
.alessa-content-wrap:not(.alessa-sidebar--none) .alessa-sidebar-wrap {
	width: 310px;
}
.alessa-content-wrap:not(.alessa-sidebar--none) aside#alessa-sidebar {
	width: 270px;
}
.alessa-content-wrap.alessa-sidebar--left .alessa-content-part,
.alessa-content-wrap.alessa-sidebar--right aside#alessa-sidebar {
	margin-left: 40px;
}
.alessa-sidebar--none .alessa-content-part-wrap {
	width: 100%;
}
.alessa-container.alessa-full-width {
	max-width: 100%;
}
.alessa-content-wrap:not(.alessa-sidebar--none) .alessa-full-width .alessa-content-part-wrap,
.alessa-content-wrap:not(.alessa-sidebar--none) .alessa-grid-listing-container.alessa-full-width .alessa-content-part-wrap {
	width: calc(100vw - 310px);
}
.alessa-content-wrap.alessa-sidebar--none .alessa-full-width .alessa-content-part,
.alessa-content-wrap:not(.alessa-sidebar--none) .alessa-full-width .alessa-content-part,
	.alessa-content-wrap.alessa-sidebar--none .alessa-grid-listing-container.alessa-full-width .alessa-content-part,
.alessa-content-wrap:not(.alessa-sidebar--none) .alessa-grid-listing-container.alessa-full-width .alessa-content-part {
	width: 100%;
}
.alessa-content-wrap.alessa-sidebar--left .alessa-full-width,
.alessa-content-wrap.alessa-sidebar--left .alessa-full-width.alessa-grid-listing-container {
	padding-left: 40px;
}
.alessa-content-wrap.alessa-sidebar--right .alessa-full-width,
.alessa-content-wrap.alessa-sidebar--right .alessa-full-width.alessa-grid-listing-container {
	padding-right: 40px;
}
.alessa-content-wrap.alessa-sidebar--left .alessa-full-width .alessa-content-part,
.alessa-content-wrap.alessa-sidebar--left .alessa-full-width.alessa-grid-listing-container .alessa-content-part {
	margin-left: 0;
}

/* --- Page Title & Breadcrumbs --- */
.alessa-page-title-wrap {
	padding-bottom: 160px;
}
.alessa-container.alessa-full-width .alessa-page-title-wrap {
	padding-left: 40px;
	padding-right: 40px;
}
h1.alessa-page-title {
	margin: -12px 0 32px 0;
}
.search-results h1 {
	margin: -12px 0 0 0;
}
.alessa-page-title-wrap.has-breadcrumbs .alessa-page-subtitle {
	margin-bottom: 1em;
    margin-left: 3px;
}
.alessa-page-title-wrap h1.alessa-page-title:last-child,
.alessa-page-title-wrap h5.alessa-page-subtitle:last-child {
    margin-bottom: 0;
}
ul#alessa-breadcrumbs {
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0 0 0 3px;
}
.alessa-page-title-wrap ul#alessa-breadcrumbs {
	margin-left: 7px;
	flex-wrap: wrap;
}
ul#alessa-breadcrumbs li {
	margin: 0 0 0 0;
	padding: 0;
	list-style: none;
	position: relative;
	display: flex;
	align-items: center;
	white-space: nowrap;
}
ul#alessa-breadcrumbs li:not(:first-child) {
	margin-left: 12px;
}
ul#alessa-breadcrumbs li:not(:first-child):before {
	content: '';
	width: 20px;
	height: 1px;
	display: block;
	margin-right: 12px;
}
ul#alessa-breadcrumbs li a {
	transition: color 0.3s;
}
.alessa-page-image-wrap {
	padding: 80px 160px 0 160px;
	margin-bottom: -40px;
}
.alessa-page-image-inner {
	position: relative;
	display: block;
}
.alessa-disable-top-padding .alessa-page-image-wrap {
	padding-top: 0;
	margin-bottom: 40px;
}
.alessa-page-image-overlay,
.alessa-page-image {
	display: block;
	border-radius: 24px;
	position: relative;
	z-index: 3;
}
.alessa-page-image img {
	pointer-events: none;
	max-height: 100%;
	width: auto;
}
.alessa-page-image.alessa-image {
	transition: none;
}
.alessa-page-image-overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 5;
}
.single-page-title-container {
	position: absolute;
	left: -80px;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	z-index: 7;
}
.single-page-title-container .alessa-page-title-wrap {
	padding-bottom: 0;
}
.single-page-title-container h1.alessa-page-title.has-subtitle {
	margin-bottom: 8px;
}
.single-page-title-container .alessa-page-subtitle {
	margin-left: 6px;
}
.single-page-title-container #alessa-breadcrumbs a,
.single-page-title-container #alessa-breadcrumbs li {
	mix-blend-mode: color-burn;
}

/* --- Back to Top --- */
.alessa-back2top {
	right: 40px;
	bottom: 0;
	margin-left: 0;
	width: 80px;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 12px 12px 0 0;
	overflow: hidden;
	transition: transform 0.3s, opacity 0.3s, border-color 0.3s;
	will-change: transform, opacity;
	z-index: 988;
	pointer-events: none;
	transform: translateY(120%) scale(1.2);
	transform-origin: 50% 100%;
	opacity: 0;
}
body:not(.alessa-show-b2t) .alessa-back2top.is-fixed,
.alessa-back2top:not(.is-fixed) {
	position: fixed!important;
	bottom: 0!important;
}
.elementor-editor-active .alessa-back2top {
	display: none!important;
}
.alessa-show-b2t .alessa-back2top {
	transform: translateY(0) scale(1);
	pointer-events: all;
	opacity: 1;
}
a.alessa-back2top i {
	font-size: 24px;
	line-height: 1;
	opacity: 0.6;
}

/* 06. WIDGETS
   ----------- */
.alessa-widget:not(:last-child) {
	margin: 0 0 80px 0;
}
.alessa-footer-widgets .alessa-widget {
	margin: 0 0 60px 0;
}

/* --- Widget: Search --- */
.elementor-widget-wp-widget-search form,
.wp-block-search form,
.widget_search form {
	position: relative;
}
.elementor-widget-wp-widget-search form i,
.wp-block-search form i,
.widget_search form i {
	position: absolute;
	right: 14px;
	top: 50%;
	display: block;
	font-size: 24px;
	line-height: 1;
	transform: translateY(-11px) scale(0.9);
	cursor: pointer;
}
.wp-block-search input,
.elementor-widget-wp-widget-search form input,
.widget_search form input {
	margin: 0;
}
.alessa-search-field {
	padding-right: 44px;
}
input[type=search]::-ms-clear {
	display: none;
	width : 0;
	height: 0;
}
input[type=search]::-ms-reveal {
	display: none;
	width : 0;
	height: 0;
}
input[type="search"] {
	-webkit-appearance: initial;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}
.wp-block-search__inside-wrapper button {
	display: none;
}
.wp-block-search__inside-wrapper {
	position: relative;
}
.wp-block-search__inside-wrapper input {
	padding-right: 44px;
}

.wp-block-search__inside-wrapper:before,
.wp-block-search__inside-wrapper:after {
    content: '';
    display: block;
    position: absolute;
    transition: transform 0.3s;
    will-change: transform;
    opacity: 0.6;
    pointer-events: none;
}
.wp-block-search__inside-wrapper:before {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    right: 18px;
    top: 11px;
    transform-origin: 100% 100%;
    transform: scale(0.9);
}
.wp-block-search__inside-wrapper:after {
    width: 10px;
    height: 2px;
    transform-origin: 100% 50%;
    right: 15px;
    top: 31px;
    border-radius: 1px;
    transform: rotate(42deg) scale(0.9);
}

/* --- Widgets: Archive, Categories, Menus --- */
.elementor-widget-wp-widget-archives .elementor-widget-container > ul,
.elementor-widget-wp-widget-meta ul,
.elementor-widget-wp-widget-recent-comments ul,
.elementor-widget-wp-widget-recent-posts ul,
.elementor-widget-wp-widget-rss ul,
.elementor-widget-wp-widget-categories .elementor-widget-container > ul,
.elementor-widget-wp-widget-pages .elementor-widget-container > ul,
.elementor-widget-wp-widget-nav_menu .elementor-widget-container > ul,
.elementor-widget-wp-widget-nav_menu .elementor-widget-container div > ul,
.wp-block-rss,
.wp-block-latest-posts__list,
ul.wp-block-archives-list,
.widget_archive > ul,
.widget_meta ul,
.widget_recent_comments ul,
.widget_rss ul,
.widget_recent_entries ul,
.widget_categories > ul,
.widget_pages > ul,
.widget_nav_menu > ul,
.widget_nav_menu div > ul {
	padding: 0;
	margin: -8px 0 0 0;
}
.widget_rss ul {
    margin-top: -20px;
}
.elementor-widget-wp-widget-categories .elementor-widget-container > ul ul,
.elementor-widget-wp-widget-pages .elementor-widget-container > ul ul,
.elementor-widget-wp-widget-nav_menu .elementor-widget-container > ul ul,
.elementor-widget-wp-widget-nav_menu .elementor-widget-container div > ul ul,
.wp-block-latest-posts__list ul,
.widget_categories > ul ul,
.widget_pages > ul ul,
.widget_recent_entries > ul ul,
.widget_nav_menu > ul ul,
.widget_nav_menu div > ul ul {
	padding-left: 14px;
	position: relative;
}
.elementor-widget-wp-widget-categories .elementor-widget-container > ul ul:before,
.elementor-widget-wp-widget-pages .elementor-widget-container > ul ul:before,
.elementor-widget-wp-widget-nav_menu .elementor-widget-container > ul ul:before,
.elementor-widget-wp-widget-nav_menu .elementor-widget-container div > ul ul:before,
.widget_categories > ul ul:before,
.widget_pages > ul ul:before,
.widget_nav_menu > ul ul:before,
.widget_nav_menu div > ul ul:before {
	content: '';
	width: 1px;
	height: calc(100% - 13px);
	position: absolute;
	left: 0;
	top: 0;
}
.elementor-widget-wp-widget-archives li,
.elementor-widget-wp-widget-meta li,
.elementor-widget-wp-widget-recent-comments li,
.elementor-widget-wp-widget-recent-posts li,
.elementor-widget-wp-widget-rss li,
.elementor-widget-wp-widget-categories li,
.elementor-widget-wp-widget-pages li,
.elementor-widget-wp-widget-nav_menu li,
.widget_recent_entries li,
.wp-block-rss li,
.wp-block-latest-posts__list li,
ul.wp-block-archives-list li,
.widget_archive li,
.widget_meta li,
.widget_recent_comments li,
.widget_rss li,
.widget_categories li,
.widget_pages li,
.widget_nav_menu li {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}
.widget_recent_entries li,
.elementor-widget-wp-widget-recent-posts li {
	display: flex;
	flex-direction: column;
}
.elementor-widget-wp-widget-recent-comments li,
.elementor-widget-wp-widget-recent-posts li,
.widget_recent_entries li,
.wp-block-latest-posts__list li,
.widget_recent_comments li {
	padding: 13px 0;
}
.elementor-widget-wp-widget-rss li,
.wp-block-rss li,
.widget_rss li {
	display: block;
	padding: 20px 0 20px 0;
}
.elementor-widget-wp-widget-rss li:last-child,
.elementor-widget-wp-widget-recent-comments li:last-child,
.elementor-widget-wp-widget-recent-posts li:last-child,
.elementor-widget-wp-widget-rss li:last-child,
.wp-block-rss li:last-child,
.widget_recent_entries li:last-child,
.widget_recent_comments li:last-child,
.widget_rss li:last-child {
	padding-bottom: 0;
}
.elementor-widget-wp-widget-rss a,
.wp-block-rss a,
.widget_rss a {
	display: block;
}
.widget_recent_entries .post-date {
	margin-top: 0px;
}
.elementor-widget-wp-widget-recent-posts .post-date,
.elementor-widget-wp-widget-rss .rss-date,
.wp-block-rss .rss-date,
.widget_rss .rss-date {
	margin-top: 4px;
	display: block;
	font-size: 12px;
}
.elementor-widget-wp-widget-rss .rssSummary,
.wp-block-rss .rssSummary,
.widget_rss .rssSummary {
	padding-top: 20px;
}
.elementor-widget-wp-widget-archives a,
.elementor-widget-wp-widget-meta a,
.elementor-widget-wp-widget-categories a,
.elementor-widget-wp-widget-pages a,
.elementor-widget-wp-widget-nav_menu a,
.wp-block-archives-list a,
.widget_archive a,
.widget_meta a,
.widget_categories a,
.widget_pages a,
.widget_nav_menu a {
	display: block;
	padding: 13px 0 13px 0;
	position: relative;
}
.elementor-widget-wp-widget-archives a:before,
.elementor-widget-wp-widget-meta a:before,
.elementor-widget-wp-widget-categories .elementor-widget-container > ul > li > a:before,
.elementor-widget-wp-widget-pages .elementor-widget-container > ul > li > a:before,
.elementor-widget-wp-widget-nav_menu .elementor-widget-container > ul > li > a:before,
.elementor-widget-wp-widget-nav_menu .elementor-widget-container div > ul > li > a:before,
.wp-block-archives-list a:before,
.widget_archive a:before,
.widget_meta a:before,
.widget_categories > ul > li > a:before,
.widget_pages > ul > li > a:before,
.widget_nav_menu > ul > li > a:before,
.widget_nav_menu div > ul > li > a:before {
	content: '';
	width: calc(100% + 20px);
	height: calc(100% + 2px);
	display: block;
	position: absolute;
	top: -1px;
	left: -10px;
	pointer-events: none;
	transition: opacity 0.3s;
	will-change: opacity;
	opacity: 0;
	z-index: 2;
	border-radius: 12px;
}

.elementor-widget-wp-widget-archives a > span,
.elementor-widget-wp-widget-meta a > span,
.elementor-widget-wp-widget-categories a > span,
.elementor-widget-wp-widget-pages a > span,
.elementor-widget-wp-widget-nav_menu a > span,
.wp-block-archives-list a > span,
.widget_archive a > span,
.widget_meta a > span,
.widget_categories a > span,
.widget_pages a > span,
.widget_nav_menu a > span {
	display: block;
	position: relative;
	z-index: 3;
}
.elementor-widget-wp-widget-archives li > span,
.elementor-widget-wp-widget-categories li > span,
.wp-block-archives-list li > span,
.widget_archive li > span,
.widget_categories li > span {
	position: absolute;
	right: 0;
	top: 13px;
	pointer-events: none;
	z-index: 4
}
.elementor-widget-wp-widget-rss .elementor-widget-container h5,
.widget_rss .alessa-widget-title {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.elementor-widget-wp-widget-rss .elementor-widget-container h5 a,
.widget_rss .alessa-widget-title a {
	display: block;
}
.widget_block.widget_recent_comments > ol {
    padding-left: 0;
}

/* --- Widget: Calendar --- */
.wp-block-calendar {
	margin-bottom: 1.65em;
}
.wp-block-calendar,
.calendar_wrap {
	border-radius: 6px;
}
body .wp-block-calendar a {
	text-decoration: none;
}
body .wp-calendar-table caption {
	border-radius: 6px 6px 0 0;
	background: none;
	padding: 15px 22px 15px 22px;
	font-weight: 700;
	margin: 0 0 10px 0;
}
table#wp-calendar th,
table#wp-calendar td {
	border: none;
	background: none;
	padding: 8px 0 9px 0;
	position: relative;
}
.wp-block-calendar table#wp-calendar th,
.wp-block-calendar table#wp-calendar td {
	padding: 8px 12px 9px 12px;
}
.wp-block-calendar table#wp-calendar a {
	left: 12px;
	width: calc(100% - 24px);
}
table#wp-calendar {
	border: none;
	background: none;
	box-shadow: none;
	margin-bottom: 10px;
}
table#wp-calendar a {
	display: flex;
	justify-content: center;
	align-items: center;
	left: -2px;
	top: -1px;
	width: calc(100% + 4px);
	height: calc(100% + 2px);
	border-radius: 12px;
	position: absolute;
	transition: background 0.3s, box-shadow 0.3s;
}
table#wp-calendar a span {
	position: relative;
	z-index: 3;
}
table#wp-calendar a:after {
	content: '';
	width: 4px;
	height: 4px;
	border-radius: 2px;
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-2px, -5px);
}
body .wp-calendar-nav {
	background: none;
	padding: 11px 22px 12px 22px;
	display: flex;
	justify-content: space-between;
	border-radius: 0 0 6px 6px;
}
body .wp-calendar-nav .wp-calendar-nav-prev,
body .wp-calendar-nav .wp-calendar-nav-next {
	width: 50%;
}
body .wp-calendar-nav .wp-calendar-nav-prev {
	text-align: left;
}
body .wp-calendar-nav .wp-calendar-nav-next {
	text-align: right;
}
body aside .wp-calendar-nav,
body aside .wp-calendar-table caption {
	font-size: 16px;
	line-height: 20px;
}
.wp-block-calendar .wp-calendar-nav .wp-calendar-nav-prev {
	padding-left: 20px;
}
.wp-block-calendar .wp-calendar-nav .wp-calendar-nav-next {
	padding-right: 20px;
}
body .wp-block-table.is-style-stripes {
	border: none;
}

/* --- Widget: Contacts (ST) --- */
.alessa-widget--contacts ul,
.alessa-widget--contacts li,
.shadow_contacts_widget ul,
.shadow_contacts_widget ul li {
	padding: 0;
	margin: 0;
}
.alessa-widget--contacts ul li,
.shadow_contacts_widget ul li {
	list-style: none;
}
.alessa-widget--contacts ul.has-labels > li,
.shadow_contacts_widget ul.has-labels > li {
	padding-left: 60px;
	position: relative;
	min-height: 40px;
	display: flex;
	align-items: center;
}
.alessa-widget--contacts > ul > li:not(:first-child),
.shadow_contacts_widget > ul > li:not(:first-child) {
	margin: 22px 0 0 0;
}
.alessa-widget--contacts ul.has-labels i,
.shadow_contacts_widget ul.has-labels i {
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	opacity: 1;
	position: absolute;
	left: 0;
	top: 0;
}
.alessa-widget--contacts a,
.shadow_contacts_widget a {
	opacity: 0.75;
}
.alessa-widget--contacts__descr:empty {
	display: none;
}
.alessa-widget--contacts__descr {
	margin: 0 0 1.65em 0;
}
.alessa-widget--contacts .alessa-socials,
.shadow_contacts_widget .alessa-socials {
	flex-wrap: wrap;
	margin: -18px 0 0 -18px;
}
.alessa-widget--contacts .alessa-socials li,
.shadow_contacts_widget .alessa-socials li {
	margin: 18px 0 0 18px;
}
.alessa-widget--contacts .alessa-socials.alessa-socials--icons,
.shadow_contacts_widget .alessa-socials.alessa-socials--icons {
	transform: translateY(4px);
}
.alessa-widget--contacts .dashicons-location-alt:before {
	transform: translate(-1px, -1px);
}
.alessa-widget--contacts .dashicons-email:before,
.alessa-widget--contacts .dashicons-share:before {
	transform: translate(-1px, 0);
}
.alessa-widget--contacts .dashicons-phone:before {
	transform: translate(0, -1px);
}

.alessa-widget--contacts i.dashicons {
	font-size: 21px;
	line-height: 1;
}

/* --- Widget: About (ST) --- */
.alessa-widget--about__head {
	position: relative;
	margin: 0 0 1.65em 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.alessa-widget--about__head .alessa-image {
	border-radius: 50%;
	max-width: 150px;
	margin: 0 0 20px 0
}
.alessa-widget--about__head .alessa-image img {
	display: block;
	width: 150px;
	height: auto;
}
.alessa-widget--about__content:empty {
	display: none;
}
.alessa-widget--about__head h5 {
	text-align: center;
	display: block;
	margin: 0 0 2px 0;
}

/* --- Widget: Latest Posts --- */
.wp-block-latest-posts__list {
	padding: 0;
	margin: 0 0 1.65em 0;
}
.wp-block-latest-posts__list li {
	list-style: none;

}
.wp-block-latest-posts__list a {
	display: block;
	margin: 0 0 0 0;
}
.wp-block-latest-posts__list.is-grid li {
	border-radius: 12px;
	padding: 0;
	position: relative;
}
.wp-block-latest-posts__list.is-grid li a {
	padding: 20px;
	border-radius: 12px;
}
.wp-block-latest-posts__list.is-grid.has-dates li a {
	padding-bottom: 40px;
}
.wp-block-latest-posts__list.is-grid.has-dates li time.wp-block-latest-posts__post-date {
	line-height: 20px;
	position: absolute;
	left: 20px;
	bottom: 20px;
	display: block;
	pointer-events: none;
}

body .mejs-container {
	border-radius: 12px;
	overflow: hidden;
}

/* 07. FOOTER
   ---------- */
#alessa-footer {
	position: relative;
	z-index: 8;
}
body.alessa-spotlight.alessa-password-protected .alessa-footer-line,
body.alessa-spotlight #alessa-footer.no-widget-area .alessa-footer-line {
    position: relative;
}
body.alessa-spotlight.alessa-password-protected .alessa-footer-line .alessa-footer-line-inner,
body.alessa-spotlight #alessa-footer.no-widget-area .alessa-footer-line .alessa-footer-line-inner {
    position: relative;
    z-index: 3;
}
body.alessa-spotlight.alessa-password-protected .alessa-footer-line::before,
body.alessa-spotlight #alessa-footer.no-widget-area .alessa-footer-line::before {
    content: '';
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	pointer-events: none;
    opacity: 0.5;
}

/* --- Footer Widgets --- */
.alessa-footer-widgets-wrap {
	display: flex;
	justify-content: center;
}
.alessa-footer-widgets {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-between;
	margin: -40px -20px;
}
.alessa-footer-widgets {
	margin: 0 0 -60px 0;
}
.alessa-footer-widgets.alessa-footer-widgets--cols3 > div {
	width: calc(33.33% - 40px);
}
.alessa-footer-widgets.alessa-footer-widgets--cols4 > div {
	width: calc(25% - 40px);
}

/* --- Footer Line --- */
.alessa-footer-line.is-hidden {
    display: none;
}
.alessa-footer-line-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.alessa-footer-line-inner > div {
	display: flex;
	flex-direction: row;
}
.alessa-footer-line.alessa-footer-1cols .alessa-footer-line-inner > div {
	flex-direction: column;
	width: 100%;
}
.alessa-footer-line.alessa-footer-2cols .alessa-footer-line-inner > div {
	width: 50%;
}

.alessa-footer-line div.alessa-footer--lp {
	justify-content: flex-start;
}
.alessa-footer-line.alessa-footer-1cols div.alessa-footer--lp {
	align-items: flex-start;
	justify-content: flex-start;
}
.alessa-footer-line div.alessa-footer--mp {
	justify-content: center;
}
.alessa-footer-line.alessa-footer-1cols div.alessa-footer--mp {
	align-items: center;
	justify-content: center;
}
.alessa-footer-line div.alessa-footer--rp {
	justify-content: flex-end;
}
.alessa-footer-line.alessa-footer-1cols div.alessa-footer--rp {
	align-items: flex-end;
	justify-content: flex-start;
}
.alessa-footer-line.alessa-footer-3cols .alessa-footer-line-inner > div {
	width: 33.33%;
}

/* --- Copyright --- */
.alessa-copyright-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: row;
}
.alessa-copyright-wrap.alessa-copyright-menu--before {
	flex-direction: row-reverse;
}
ul.alessa-copyright-menu {
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
}
ul.alessa-copyright-menu li {
	display: block;
	padding: 0;
	margin: 0;
	list-style: none;
	position: relative;
}
ul.alessa-copyright-menu li:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 14px;
	transform: translateY(-8px);
}
ul.alessa-copyright-menu li:first-child:before {
	display: none;
}
ul.alessa-copyright-menu li a {
	white-space: nowrap;
}
.alessa-footer-line.alessa-copyright--left.alessa-socials--left .alessa-copyright-wrap,
.alessa-footer-line.alessa-copyright--center.alessa-socials--center .alessa-copyright-wrap,
.alessa-footer-line.alessa-copyright--right.alessa-socials--right .alessa-copyright-wrap {
	padding-top: 1.65em;
}

/* --- Socials List --- */
ul.alessa-socials {
	padding: 0;
	margin: 0;
	display: flex;
}
ul.alessa-socials li {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	margin: 0;
}
ul.alessa-socials li a {
	display: block;
	text-transform: none;
}
ul.alessa-socials li svg {
	width: 100%;
	height: auto;
	display: block;
}

/* 08. HEADER SEARCH
   ----------------- */
.alessa-ajax-search-wrap {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	overflow: hidden;
	z-index: 999;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s;
	will-change: opacity;
	pointer-events: none;
	opacity: 0;
}
#alessa-ajax-search {
	transition: transform 0.3s;
	will-change: transform;
	transform: translateY(-60px);
}
.alessa-show-search .alessa-ajax-search-wrap {
	opacity: 1;
	pointer-events: all;
}
.alessa-show-search #alessa-ajax-search {
	transform: translateY(0);
}
.alessa-ajax-search-overlay {
	position: absolute;
	pointer-events: none;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
}
#alessa-ajax-search {
	width: 100%;
	max-width: 960px;
	position: relative;
	z-index: 3;
	padding-bottom: 80px;
}
#alessa-ajax-search h3 {
	transition: opacity 0.2s;
	will-change: opacity;
}
#alessa-ajax-search h3.is-hidden {
	opacity: 0;
	pointer-events: none;
}
#alessa-ajax-search-form {
	position: relative;
	border-radius: 16px;
	transition: border-color 0.2s;
}
#alessa-ajax-search-form input[type="search"].alessa-search-field:hover,
#alessa-ajax-search-form input[type="search"].alessa-search-field:focus,
#alessa-ajax-search-form input[type="search"].alessa-search-field {
	width: 100%;
	border: 0;
	padding: 0;
	margin: 0;
	background: none;
	padding: 17px 57px 18px 20px;
}
#alessa-ajax-search-form input[type="search"].alessa-search-field {
	border-radius: 14px;
	transition: color 0.3s;
}
.alessa-search-icon {
	width: 22px;
	height: 22px;
	position: relative;
}
.elementor-widget-wp-widget-search i.alessa-search-icon:before {
	box-sizing: content-box;
}
.alessa-ajax-search-submit {
	position: absolute;
	right: 19px;
	top: 19px;
	width: 24px;
	height: 24px;
	opacity: 0.75;
}
.is-focus .alessa-ajax-search-submit {
	opacity: 1;
}
.alessa-ajax-search-submit-icon {
	position: relative;
	width: 24px;
	height: 24px;
	display: block;
}
.alessa-ajax-search-submit-icon:before,
.alessa-ajax-search-submit-icon:after {
	content: '';
	display: block;
	position: absolute;
}
.alessa-ajax-search-submit-icon:before {
	width: 14px;
	height: 14px;
	display: block;
	border-radius: 50%;
	left: 1px;
	top: 1px;
}
.alessa-ajax-search-submit-icon:after {
	width: 10px;
	height: 2px;
	display: block;
	right: 2px;
	bottom: 1px;
	transform-origin: 100% 50%;
	transform: rotate(45deg);
}
.alessa-search-icon:before,
.alessa-search-icon:after {
	content: '';
	display: block;
	position: absolute;
	transition: transform 0.3s;
	will-change: transform;
}
.alessa-search-icon:before {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 2px solid #ffffff;
	left: 0;
	top: 0;
	transform-origin: 0 0;
}
.alessa-search-icon:after {
	width: 10px;
	height: 2px;
	background: #ffffff;
	transform-origin: 100% 50%;
	bottom: 0;
	right: 0;
	border-radius: 1px;
	transform: rotate(42deg);
}
@keyframes asf-preloader {
	0% {
		transform: scale(0);
		opacity: 1;
	}
	100% {
		transform: scale(1);
		opacity: 0;
	}
}
.alessa-ajax-search-close {
	position: fixed;
	right: 32px;
	top: 32px;
	width: 48px;
	height: 48px;
	opacity: 0.75;
	z-index: 11;
}
.alessa-ajax-search-close i {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 48px;
	height: 48px;
	transition: transform 0.3s, opacity 0.3s;
	will-change: transform, opacity;
	transform: translateY(-12px);
}
.alessa-show-search .alessa-ajax-search-close i {
	transform: translateY(0);
}
.admin-bar .alessa-ajax-search-close {
	top: 64px;
}
.alessa-ajax-search-close i:before,
.alessa-ajax-search-close i:after {
	content: '';
	width: 32px;
	height: 2px;
	display: block;
	position: absolute;
	top: 23px;
	left: 8px;
	transform-origin: 50% 50%;
	transition: transform 0.3s;
	will-change: transform;
	transform: rotate(0);
}
.alessa-show-search .alessa-ajax-search-close i:before {
	transform: rotate(45deg);
}
.alessa-show-search .alessa-ajax-search-close i:after {
	transform: rotate(-45deg);
}
.alessa-asf-wrap {
	padding: 80px 0;
}
.alessa-ajax-search-result {
	overflow: hidden;
	margin: 0;
	position: relative;
}
.alessa-ajax-search-result .alessa-asr-content {
  padding: 0 24px 0 0;
}
.alessa-ajax-search-result .alessa-scroll-bar-wrap {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	transition: opacity;
}
.alessa-ajax-search-result.no-scroll .alessa-scroll-bar-wrap {
	opacity: 0;
}
.alessa-ajax-search-result .alessa-scroll-bar-wrap,
.alessa-ajax-search-result .alessa-scroll-bar {
	width: 4px;
	border-radius: 2px;
	display: block;
}
.alessa-asf-results {
    overflow: hidden;
    max-width: 100%;
}

#alessa-asf-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 20px;
}

/* 09. ASIDE BAR
   ------------- */
div#alessa-aside-overlay {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1111;
	transition: opacity 0.3s;
	opacity: 0;
	pointer-events: none;
}
aside#alessa-aside {
	position: fixed;
	right: 0;
	top: 0;
	width: 424px;
	z-index: 1222;
	height: 100vh;
	transition: transform 0.3s;
	will-change: transform;
	padding: 0;
	pointer-events: none;
	transform: translateX(100%);
}
.alessa-aside-content {
	padding: 80px 40px 40px 40px;
}
aside#alessa-aside.in-process,
.alessa-show-aside aside#alessa-aside.in-process {
	pointer-events: none;
}
aside#alessa-aside.is-swiping {
	transition: none;
}
aside#alessa-aside:before,
aside#alessa-aside:after {
	content: '';
	pointer-events: none;
}
.alessa-aside-inner {
	max-height: 100%;
}
.admin-bar aside#alessa-aside {
	top: 32px;
	height: calc(100vh - 32px);
}
.alessa-show-aside div#alessa-aside-overlay {
	opacity: 1;
	pointer-events: all;
}
.alessa-show-aside aside#alessa-aside {
	transform: translateX(0);
	pointer-events: all;
}
.alessa-aside-close {
	position: absolute;
	left: -9px;
	top: 40px;
	transform-origin: 0 0%;
	transform: rotate(-90deg) translate(-100%, 0%);
	display: flex;
	align-items: center;
	text-transform: uppercase;
	transition: opacity 0.3s, transform 0.3s;
	will-change: opacity, transform;
	opacity: 0;
}
.alessa-show-aside .alessa-aside-close {
	transform: rotate(-90deg) translate(-100%, -100%);
	opacity: 1;
}
.alessa-aside-close i {
	width: 24px;
	height: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	margin-right: 12px;
}
.alessa-aside-close i:before {
	font-size: 16px;
	line-height: 1;
}
.alessa-asf-error-status {
    text-transform: capitalize;
}

/* 10. BLOG LISTING
   ---------------- */
.alessa-blog-listing:not(.alessa-blog-listing--grid) > div:not(:last-child) {
	margin-bottom: 80px;
}

.shadowcore-pli-image div,
.shadowcore-pli-image a,
.shadowcore-pli-image img,
.alessa-post-preview-image .alessa-image,
.alessa-post-preview-image a,
.alessa-blog-listing img {
	display: block;
}
.shadowcore-pli-title h4,
.alessa-post-listing-title h4,
.alessa-post-listing-title h5,
.alessa-post-listing-title h6 {
	word-break: break-word;
}
.alessa-post-listing-title h4,
.alessa-post-listing-title h5 {
	margin: 0 0 2px -2px;
}
.shadowcore-pli-title h4 {
	margin: 0 0 0 -2px;
}
.shadowcore-pli-title h4 a,
.alessa-post-listing-title h4 a,
.alessa-post-listing-title h5 a {
	display: inline-block;
}
.alessa-post-listing-title h6 {
	margin: 0 0 2px -2px;
}
.shadowcore-pli-head {
	position: relative;
}
.alessa-post-listing-head {
	margin: 0 0 20px 0;
	position: relative;
}
.shadowcore-pli-head .shadowcore-sticky-marker,
.alessa-post-listing-head > i.alessa-sticky-marker,
.sticky .alessa-post-listing-head > i.alessa-sticky-marker {
	position: absolute;
	right: 0;
	top: 0;
	width: 44px;
	height: 44px;
	font-size: 24px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
}
.shadowcore-pli-footer,
.alessa-post-listing-footer {
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
}
.shadowcore-pli-footer-lp,
.alessa-post-footer-lp {
	width: 100%;
	margin-right: 40px;
}
.shadowcore-pli-footer-lp a,
.alessa-post-tags-wrap a {
	display: inline-block;
}
.shadowcore-pli-footer-rp,
.alessa-post-footer-rp {
	width: auto;
	white-space: nowrap;
	text-align: right;
}
shadowcore-pli-footer-rp a,
.alessa-post-footer-rp a {
	display: flex;
	align-items: center;
}
.alessa-post-footer-rp a i {
	margin-left: 4px;
	font-size: inherit;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	transform: translateY(0px) scale(1.1);
}
.shadowcore-pli-meta,
.alessa-post-meta {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}
.shadowcore-pli-meta span,
.alessa-post-meta span {
	display: block;
	position: relative;
}
.alessa-post-meta span:not(:first-child) {
	padding-left: 12px;
	margin-left: 10px;
}
.shadowcore-pli-meta a,
.alessa-post-meta a {
	display: inline-block;
}
.shadowcore-pli-meta div:not(:first-child):before {
	transform: translateY(-1px);
}
.alessa-post-meta span:not(:first-child):before {
	content: '';
	display: block;
	position: absolute;
	width: 2px;
	height: 2px;
	left: 0;
	top: 50%;
	transform: translateY(-1px);
}
.shadowcore-psi__meta div:not(:first-child):before,
.shadowcore-pri__meta div:not(:first-child):before,
.shadowcore-pgi__meta div:not(:first-child):before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 2px;
	height: 2px;
	left: 0;
	top: 50%;
	transform: translateY(-1px);
}
.shadowcore-pli__meta--comments,
.shadowcore-pli__meta--author,
.shadowcore-pli__meta--date,
.alessa-meta--comments,
.alessa-meta--author,
.alessa-meta--date {
	white-space: nowrap;
}
.shadowcore-pli-excerpt:empty,
.alessa-post-listing-excerpt:empty {
	display: none;
}
.shadowcore-pli-content .shadowcore-pli-head + .shadowcore-pli-footer,
.alessa-post-preview .alessa-post-listing-head + .alessa-post-listing-footer {
	padding: 0;
}
.shadowcore-pli-read-more .shadowcore-pli--more span:after {
	content: '\f345';
	font-family: dashicons;
	margin-left: 10px;
    font-size: inherit;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    transform: translateY(0px) scale(1.1);
	transform: translateY(3px);
}

/* --- Small Thumbnail --- */
.shadowcore-posts-listing--small .shadowcore-pli-head,
.alessa-blog-listing--small .alessa-post-listing-head {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
}
.shadowcore-posts-listing--small .shadowcore-pli-head .shadowcore-pli-image,
.alessa-blog-listing--small .alessa-post-preview-image {
	max-width: 75px;
	margin-right: 20px;
}
.alessa-blog-listing--small .alessa-image {
	width: 75px;
	height: 75px;
	border-radius: 50%;
}
.alessa-search-results.alessa-blog-listing--small .alessa-post-preview-image {
	max-width: 60px;
}
.alessa-search-results.alessa-blog-listing--small .alessa-image {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
}
.alessa-asf-results.alessa-blog-listing--small .alessa-image img {
	border-radius: 50%;
}
.alessa-blog-listing--small .alessa-post-listing-title {
	width: 100%;
}

/* --- Medium Thumbnail --- */
.alessa-blog-listing--medium .alessa-post-preview.has-post-thumbnail {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.alessa-blog-listing--medium .alessa-post-preview.has-post-thumbnail > div {
	width: calc(50% - 20px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.alessa-blog-listing--medium .alessa-post-preview-image {
	align-items: center;
	position: relative;
}
.alessa-blog-listing--medium .alessa-post-preview-image.alessa-post-preview--land .alessa-image,
.alessa-blog-listing--medium .alessa-post-preview-image.alessa-post-preview--land .alessa-image > img {
	width: 100%;
	height: auto;
}
.alessa-blog-listing--medium .alessa-post-preview-image.alessa-post-preview--land:before {
	content: '';
	width: calc(100% - 120px);
	height: 100%;
	position: absolute;
	left: 60px;
	top: 0;
	display: block;
	z-index: 1;
	border-radius: 24px;
}
.alessa-blog-listing--medium .alessa-post-preview-image.alessa-post-preview--port:before {
	content: '';
	width: 100%;
	height: calc(100% - 120px);
	position: absolute;
	left: 0;
	top: 60px;
	display: block;
	border-radius: 24px;
	z-index: 1;
}
.alessa-blog-listing--medium .alessa-post-preview-image .alessa-image {
	border-radius: 24px;
	position: relative;
	z-index: 3;
}
.alessa-blog-listing--medium .alessa-post-preview-image.alessa-post-preview--port .alessa-image {
	max-width: 50%;
}

/* --- Large Thumbnail --- */
.alessa-blog-listing--large > div.alessa-post-preview:not(:last-child) {
	padding-bottom: 60px;
	margin-bottom: 60px;
}
.alessa-blog-listing--large .alessa-post-preview-image {
	margin-bottom: 28px;
}
.alessa-blog-listing--large .alessa-post-preview-image .alessa-image {
	border-radius: 24px;
	position: relative;
	z-index: 5;
}
.alessa-blog-listing--large .alessa-post-preview-image.alessa-post-preview--port {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.alessa-blog-listing--large .alessa-post-preview-image.alessa-post-preview--port .alessa-image {
	max-width: 50%;
	width: 50%;
}
.alessa-blog-listing--large .alessa-post-preview-image.alessa-post-preview--port:before {
	content: '';
	width: 100%;
	height: calc(100% - 160px);
	position: absolute;
	left: 0;
	top: 80px;
	display: block;
	border-radius: 24px;
	z-index: 1;
}

/* --- Pagination --- */
nav.alessa-pagination {
	width: 100%;
}
nav.alessa-pagination ul.page-numbers {
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
nav.alessa-pagination ul.page-numbers:before,
nav.alessa-pagination ul.page-numbers:after {
	content: '';
	width: 40px;
	height: 1px;
	display: block;
	pointer-events: none;
}
nav.alessa-pagination ul.page-numbers li {
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
}
nav.alessa-pagination ul.page-numbers li:not(:first-child):before {
	content: '';
	width: 20px;
	height: 1px;
	display: block;
	pointer-events: none;
}
nav.alessa-pagination ul.page-numbers li > span,
nav.alessa-pagination ul.page-numbers li > a {
	display: flex;
	width: 44px;
	height: 44px;
	margin: 0 10px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	position: relative;
	overflow: hidden;
	padding-top: 2px;
}
nav.alessa-pagination ul.page-numbers li > a:before {
	opacity: 0;
}
nav.alessa-pagination ul.page-numbers li > a.next i {
	transform: translate(1px, -1px);
}
nav.alessa-pagination ul.page-numbers li > a.prev i {
	transform: translate(-1px, -1px);
}

/* 11. SINGLE POST
   --------------- */
.alessa-single-post-image {
	margin-bottom: 24px;
	position: relative;
}
.alessa-single-post-image.is-port {
	display: flex;
	justify-content: center;
	align-items: center;
}

.alessa-single-post-image.is-port:before {
	content: '';
	width: 100%;
	height: calc(100% - 160px);
	position: absolute;
	left: 0;
	top: 80px;
	display: block;
	border-radius: 24px;
	z-index: 1;
}
.alessa-single-post-image.is-port .alessa-image {
	max-width: 50%;
    width: auto;
}
.alessa-single-post-image:not(.is-port) .alessa-image img {
	width: 100%;
    height: auto;
}
.alessa-single-post-image .alessa-image {
	display: block;
	width: 100%;
	border-radius: 24px;
	position: relative;
	z-index: 5;
}
.alessa-post-title-wrap {
	margin: 0 0 80px 0;
}
body:not(.alessa-disable-top-padding) .no-post-thumbnail .alessa-post-title-wrap {
	margin: 0 0 160px 0;
}
h1.alessa-single-post-title {
	margin: 0 0 4px 0;
	word-break: break-word;
}
.alessa-post-title-wrap .alessa-post-meta {
	margin: 0 0 0 2px;
}
.alessa-post-footer {
	padding: 80px 0 0 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.wp-block-tag-cloud,
.tagcloud {
	display: flex;
	flex-wrap: wrap;
	margin: -10px 0 0 -10px;
}
.wp-block-tag-cloud {
	margin-bottom: 1.65em;
}
.wp-block-tag-cloud > a,
.tagcloud > a {
	position: relative;
	padding: 12px 18px 12px 27px;
	transition: color 0.3s, border 0.3s;
	display: block;
	margin: 10px 0 0 10px;
	text-transform: none;
	border-radius: 22px;
}
.alessa-post-footer .tagcloud > a {
    line-height: 1.2;
}
.wp-block-tag-cloud > a,
.widget_tag_cloud .tagcloud > a {
    font-size: 14px!important;
	line-height: 1.2!important;
}
.wp-block-tag-cloud > a:before,
.tagcloud > a:before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	position: absolute;
	left: 12px;
	top: 17px;
	display: block;
	transition: background 0.3s;
}
.alessa-post-footer .alessa-post-footer-rp {
	display: flex;
	justify-content: flex-end;
}
.alessa-post-nav {
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0;
}
.alessa-post-nav:empty {
	display: none;
}
.alessa-content-part > .alessa-post-nav {
	padding: 80px 0 0 0;
}
.alessa-post-nav > * {
	display: flex;
	align-items: center;
}
.alessa-post-nav > *:not(:first-child):before {
	content: '';
	width: 10px;
	height: 1px;
	display: block;
	pointer-events: none;
}
.alessa-post-nav .alessa-post-nav-item {
	display: flex;
	width: 34px;
	height: 34px;
	margin: 0 5px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	position: relative;
	overflow: hidden;
	font-size: 12px;
	line-height: 1;
}
.alessa-post-nav .alessa-post-nav-item:before {
	content: '';
	position: absolute;
	left: -50%;
	top: -100%;
	width: 200%;
	height: 200%;
	pointer-events: none;
	z-index: -1;
}
.alessa-post-nav a .alessa-post-nav-item:before,
.alessa-post-nav span.breaker .alessa-post-nav-item:before {
	opacity: 0.5;
}

/* --- Post Comments --- */
#alessa-comments {
	margin-top: 80px;
	padding-top: 40px;
}
.alessa-psc-content #alessa-comments {
	margin-top: 40px;
	padding-top: 0;
}
.alessa-before-comments-title {
	padding-top: 40px;
}
div.alessa-before-comments-title {
	font-size: 20px;
	line-height: 1;
	margin: 0 0 7px 0;
	text-align: center;
}
.alessa-comment-list {
	padding-top: 12px;
}
.alessa-comment-item-wrap .alessa-comment-item-wrap {
	padding-left: 95px;
}
.alessa-comment-item {
	display: flex;
	justify-content: flex-start;
}
.alessa-comment-item-wrap:not(:first-child) .alessa-comment-item {
    padding-top: 40px;
}
.alessa-comment-item.alessa-small-comment-item {
	justify-content: flex-start;
	flex-direction: column;
	padding-bottom: 24px;
}
.alessa-comment-item.alessa-small-comment-item .alessa-comment-author {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row;
	margin-bottom: -20px;
}
.alessa-comment-item.alessa-small-comment-item .alessa-comment-author h6 {
	margin: 0;
	padding: 14px 0 0 2px;
}
.alessa-comment-author__image {
	min-width: 95px;
	max-width: 95px;
	padding: 27px 20px 0 0;
	position: relative;
	z-index: 5;
}
.alessa-comment-item.alessa-small-comment-item .alessa-comment-author__image {
	padding: 0;
	width: 75px;
	height: 75px;
	min-width: 75px;
}
.alessa-comment-author__image:before {
	content: '';
	width: 13px;
	height: 13px;
	position: absolute;
	right: -8px;
	top: 56px;
	transform: rotate(45deg);
}
.alessa-comment-author__image:before {
	z-index: 3;
}
.alessa-comment-item.alessa-small-comment-item .alessa-comment-author__image:before,
.alessa-comment-item.alessa-small-comment-item .alessa-comment-author__image:after {
	display: none;
}
.alessa-comment-author__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 50%;
}
.alessa-comment-body {
	border-radius: 12px;
	padding: 38px 38px 34px 38px;
	width: 100%;
}
.alessa-comment-item.alessa-small-comment-item .alessa-comment-body {
	padding: 27px 20px 16px 20px;
}
h6.alessa-post-author {
	display: flex;
	margin: 0 0 16px 0;
	align-items: flex-start;
}
.alessa-post-author-label {
	display: none;
}
.bypostauthor .alessa-post-author-label {
	display: inline-block;
	font-size: 0.6em;
	line-height: 1em;
	padding: 0.24em 6px 0.2em 6px;
	border-radius: 0.5em;
	margin-left: 8px;
	vertical-align: top;
	transform: translateY(-1px);
	text-transform: uppercase;
}
.alessa-comment-footer {
	display: flex;
	justify-content: space-between;
	padding: 13px 0 0 0;
}
.alessa-comment-footer a {
	display: inline-block;
}
#respond {
	padding-top: 60px;
}
.alessa-comment-item-wrap #respond {
    padding: 30px 0 10px 95px;
}
.alessa-comment-item-wrap.alessa-comment-small-item-wrap .alessa-comment-item-wrap.alessa-comment-small-item-wrap,
.alessa-comment-item-wrap.alessa-comment-small-item-wrap #respond {
	padding-left: 10px;
}
.alessa-comment-form {
	display: flex;
	flex-wrap: wrap;
}
.alessa-comment-form p {
	width: 100%;
	margin: 0;
}
.alessa-comment-form p.comment-form-author {
	width: calc(50% - 20px);
}
.alessa-comment-form p.comment-form-email {
	width: calc(50% - 20px);
	margin-left: 40px;
}
.alessa-comment-item-wrap.alessa-comment-small-item-wrap .alessa-comment-item-wrap.alessa-comment-small-item-wrap {
	position: relative;
}
.alessa-comment-item-wrap.alessa-comment-small-item-wrap .alessa-comment-item-wrap.alessa-comment-small-item-wrap:before {
	content: '';
	width: 1px;
	height: 56px;
	display: block;
	position: absolute;
	left: 50%;
	top: -12px;
}
.alessa-comment-item-wrap.alessa-comment-small-item-wrap .alessa-comment-form p.logged-in-as,
.alessa-comment-item-wrap.alessa-comment-small-item-wrap .alessa-comment-form p.comment-notes {
	margin-bottom: 24px;
}
.alessa-comment-item-wrap.alessa-comment-small-item-wrap #respond {
	padding: 24px 0 0 0;
}
.alessa-comment-form p.form-submit input.submit {
	margin-bottom: 0;
}

/* --- Comment Form --- */
.alessa-comment-form {
	transition: opacity 0.3s;
}
.alessa-comment-form.is-busy {
	opacity: 0.5;
	pointer-events: none;
}
.alessa-comment-form-i18n {
	display: none;
}
.alessa-comment-form label {
	display: flex;
}
.alessa-comment-form label .required {
	display: block;
	margin-left: 5px;
}
.alessa-comment-form label .alessa-comment-error {
	width: 100%;
	text-align: right;
}
.alessa-comment-form > .alessa-comment-error {
	padding-top: 12px;
}
#reply-title {
	margin: 0;
}
#reply-title,
#reply-title small {
	display: flex;
	align-items: center;
	justify-content: center;
}
#reply-title small a {
	display: flex;
	align-items: center;
	margin-left: 20px;
}
#reply-title small a:before {
	content: '';
	width: 4px;
	height: 4px;
	margin-right: 20px;
}
.alessa-comment-form p.logged-in-as,
.alessa-comment-form p.comment-notes {
	display: block;
	text-align: center;
	padding-top: 4px;
	margin-bottom: 24px;
}
.alessa-comment-item-wrap .alessa-comment-form p.logged-in-as,
.alessa-comment-item-wrap .alessa-comment-form p.comment-notes {
    margin-bottom: 12px;
}
p.logged-in-as a,
p.comment-notes a {
	opacity: 0.75;
}
span.required {
	color: #F22727;
}
body .alessa-comment-form p.comment-form-cookies-consent {
	padding: 0;
	position: relative;
}
.alessa-comment-form p.comment-form-cookies-consent input {
	width: 20px;
	height: 20px;
	position: absolute;
	top: 0;
	right: 0;
	pointer-events: none;
	opacity: 0;
}
.alessa-comment-form p.comment-form-cookies-consent label {
	text-transform: none;
	cursor: pointer;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
}
.alessa-comment-form p.comment-form-cookies-consent label:before {
	content: '';
	width: 24px;
	min-width: 24px;
	height: 24px;
	border: 2px solid;
	border-radius: 6px;
	margin: 0 10px 0 0;
	box-sizing: border-box;
	transform: translateY(-3px);
	transition: border-color 0.3s;
}
.alessa-comment-form p.comment-form-cookies-consent label:after {
	content: "\f147";
	font-family: dashicons;
	position: absolute;
	display: block;
	left: -1px;
	top: -3px;
	font-size: 24px;
	line-height: 1;
	transition: transform 0.2s, opacity 0.2s;
	will-change: transform, opacity;
	transform: scale(1.8);
	opacity: 0;
}
.alessa-comment-form p.comment-form-cookies-consent input:checked+label:after {
	transform: scale(1);
	opacity: 1;
	transition: transform 0.2s, opacity 0.1s;
}
.alessa-comment-form .form-submit > input {
	width: 100%;
}

/* --- Post Nav --- */
.alessa-single-post-nav .alessa-container {
	display: flex;
	justify-content: space-between;
	min-height: 80px;
}
.alessa-single-post-nav.has-no-prev.has-no-next .alessa-container {
	justify-content: center;
}
.alessa-post-link-wrap {
	width: 50%;
	display: flex;
	overflow: hidden;
}
.alessa-post-link-wrap:last-child {
	justify-content: flex-end;
}
.alessa-prev-post-link,
.alessa-next-post-link {
	display: flex;
	position: relative;
}
.alessa-prev-post-link a,
.alessa-next-post-link a {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.alessa-prev-post-link {
	justify-content: flex-start;
}
.alessa-next-post-link {
	justify-content: flex-end;
}
.alessa-next-post-link h6 {
	text-align: right;
}
.alessa-return-post-link {
	min-width: 80px;
	max-width: 80px;
	display: flex;
}
.alessa-post-nav-icon,
.alessa-return-post-link a {
	display: flex;
	width: 80px;
	height: auto;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}
.alessa-post-nav-icon i,
.alessa-return-post-link a i {
	font-size: 24px;
	line-height: 1;
	transform: translate(-2px, -2px);
}
.alessa-post-nav-icon:after,
.alessa-return-post-link a:after {
	content: '';
	width: calc(100% - 2px);
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
}
.alessa-prev-post-link .alessa-post-nav-icon {
	margin-right: 22px;
}
.alessa-next-post-link .alessa-post-nav-icon {
	margin-left: 22px;
}
.alessa-post-link-title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 16px 0 14px 0;
}
.alessa-next-post-link .alessa-post-link-title {
	align-items: flex-end;
	padding-left: 12px;
}
.alessa-prev-post-link .alessa-post-link-title {
	padding-right: 12px;
}
.alessa-post-link-title h6 {
	margin-bottom: 2px;
	font-size: 0.9em;
}

/* 12. SINGLE PORTFOLIO
   -------------------- */
.alessa-pmb-sticky-wrap {
	display: flex;
	flex-direction: column;
}
.alessa-pmb-sticky-wrap .alessa-image {
	width: 100%;
}
.alessa-pmb-sticky-wrap a {
	display: block;
}
.alessa-pmb-sticky-wrap img {
	width: 100%;
	height: auto;
	display: block;
}
.alessa-pmb-sticky-wrap.is-rounded .alessa-image {
	border-radius: 24px;
}
.alessa-single-pmb-above.alessa-ribbon-wrap .single-page-title-container {
	position: absolute;
	left: 40px;
	top: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	height: 100%;
	max-width: calc(50vw - 80px);
	pointer-events: none;
}
.alessa-single-pmb-above .single-page-title-container h1 {
	margin: 0 0 8px -5px;
}
.alessa-single-pmb-above .single-page-title-container p {
	margin: 1.65em 0 0 0;
	max-width: 25vw;
}

/* --- Short Content --- */
.alessa-psc-wrap {
	position: relative;
}
.alessa-psc-content-wrap {
	position: fixed;
	left: 0;
	top: 0;
	width: 480px;
	height: 100%;
	padding: 12px;
	z-index: 11;
}
.alessa-psc-content {
	padding: 40px 28px 40px 28px;
	overflow-y: scroll;
	max-height: 100%;
}
.alessa-psc-content::-webkit-scrollbar {
  width: 4px;
}
.alessa-psc-content.no-scrollbar::-webkit-scrollbar {
	display: none;
}
.alessa-psc-content::-webkit-scrollbar-thumb {
  width: 4px;
  border-radius: 2px;
}
.alessa-psc-content::-webkit-scrollbar-track {
  border-radius: 4px;
}
.alessa-psc-pmb-wrap {
	position: relative;
}

.alessa-psc-content-wrap,
.alessa-port-psc #alessa-footer,
.alessa-psc-pmb-wrap {
	transition: transform 0.3s;
	will-change: transform;
}
.alessa-show-aside.alessa-port-psc #alessa-footer,
.alessa-show-aside .alessa-psc-pmb-wrap,
.alessa-show-aside .alessa-psc-content-wrap {
	transform: translateX(-212px);
}
.alessa-psc-wrap--right .alessa-psc-content-wrap {
	left: auto;
	right: 0;
}
.alessa-psc-wrap--right.alessa-psc-wrap {
	justify-content: flex-start;
}
.alessa-psc-content-wrap.is-collapsed {
	display: none;
}
.alessa-disable-top-padding .alessa-psc-content {
	padding-top: 0;
}
.alessa-disable-bottom-padding .alessa-psc-content {
	padding-bottom: 0;
}
.alessa-psc-back {
	display: flex;
	margin: 0 0 24px -4px;
}
.alessa-psc-back i {
	width: 16px;
	height: 16px;
	font-size: 16px;
	line-height: 1;
	margin-right: 6px;
	transform: translateY(3px);
}
.alessa-psc-content h1.alessa-single-post-title {
	margin-bottom: 6px;
	word-break: break-word;
}
.alessa-psc-content .alessa-post-title-wrap {
	margin: 0 0 32px 0;
}
.alessa-single-post-nav.alessa-psc-post-nav {
	background: none;
	margin: 0 -4px;
	display: flex;
	justify-content: space-between;
	padding: 40px 0 0 0;
}
.alessa-psc-post-nav .alessa-prev-post-link a,
.alessa-psc-post-nav .alessa-next-post-link a {
	display: flex;
	position: static;
}
.alessa-psc-post-nav a i {
	width: 16px;
	height: 16px;
	font-size: 16px;
	line-height: 1;
	transform: translateY(3px);
}
.alessa-psc-post-nav .alessa-prev-post-link a i {
	margin-right: 6px;
}
.alessa-psc-post-nav .alessa-next-post-link a i {
	margin-left: 6px;
}

.alessa-psc-content .alessa-comment-form p.comment-form-author,
.alessa-psc-content .alessa-comment-form p.comment-form-email {
	width: 100%;
	margin-left: 0;
}
body.alessa-port-psc #alessa-main-wrap {
	height: 100vh;
}
body.alessa-port-psc.admin-bar #alessa-main-wrap {
	height: calc(100vh - 32px);
}
.alessa-port-psc footer#alessa-footer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
}
.alessa-port-psc .alessa-back2top {
	display: none;
}
.alessa-psc-content .required-field-message {
    display: block;
}

/* - Short Content Sidebar - */
.alessa-psc-sidebar {
	position: fixed;
	top: 0;
	z-index: 5;
	overflow: hidden;
	padding: 12px;
}
.alessa-psc-sidebar .alessa-sidebar-wrap {
	position: relative;
	border: none;
}
.alessa-content-wrap.alessa-sidebar--left .alessa-psc-sidebar {
	left: 0;
}
.alessa-content-wrap.alessa-sidebar--right .alessa-psc-sidebar {
	right: 0;
}
.alessa-content-wrap:not(.alessa-sidebar--none) .alessa-psc-sidebar .alessa-sidebar-wrap {
	width: 326px;
	padding: 0;
}
body .alessa-content-wrap.alessa-sidebar--left .alessa-psc-sidebar aside#alessa-sidebar,
body .alessa-content-wrap.alessa-sidebar--right .alessa-psc-sidebar aside#alessa-sidebar {
	margin: 0;
	padding: 40px 28px;
	width: 100%;
}

/* - Short Content Sizes - */
.alessa-content-wrap.alessa-sidebar--none .alessa-psc-wrap--left .alessa-psc-pmb-wrap,
.alessa-content-wrap.alessa-sidebar--none .alessa-psc-wrap--right .alessa-psc-pmb-wrap {
	width: calc( 100% - 480px);
}
.alessa-content-wrap.alessa-sidebar--right .alessa-psc-wrap--left .alessa-psc-pmb-wrap,
.alessa-content-wrap.alessa-sidebar--left .alessa-psc-wrap--left .alessa-psc-pmb-wrap,
.alessa-content-wrap.alessa-sidebar--left .alessa-psc-wrap--right .alessa-psc-pmb-wrap,
.alessa-content-wrap.alessa-sidebar--right .alessa-psc-wrap--right .alessa-psc-pmb-wrap {
	width: calc( 100% - 830px);
}
.alessa-content-wrap.alessa-sidebar--right .alessa-psc-wrap--hide .alessa-psc-pmb-wrap,
.alessa-content-wrap.alessa-sidebar--left .alessa-psc-wrap--hide .alessa-psc-pmb-wrap {
	width: calc(100% - 350px);
}

.alessa-content-wrap.alessa-sidebar--right .alessa-psc-wrap--right .alessa-psc-pmb-wrap {
	left: 0;
}
.alessa-content-wrap.alessa-sidebar--left .alessa-psc-wrap--right .alessa-psc-pmb-wrap,
.alessa-content-wrap.alessa-sidebar--left .alessa-psc-wrap--left .alessa-psc-content-wrap,
.alessa-content-wrap.alessa-sidebar--left .alessa-psc-wrap--hide .alessa-psc-pmb-wrap {
	left: 350px;
}
.alessa-content-wrap.alessa-sidebar--none .alessa-psc-wrap--left .alessa-psc-pmb-wrap,
.alessa-content-wrap.alessa-sidebar--right .alessa-psc-wrap--left .alessa-psc-pmb-wrap {
	left: 480px;
}
.alessa-content-wrap.alessa-sidebar--left .alessa-psc-wrap--left .alessa-psc-pmb-wrap {
	left: 830px;
}

.alessa-content-wrap.alessa-sidebar--right .alessa-psc-wrap--right .alessa-psc-content-wrap {
	right: 350px;
}

/* --- Ribbon Gallery --- */
.alessa-ribbon-wrap {
    position: relative;
    display: block;
    overflow: hidden;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
	height: 100vh;
}
.alessa-ribbon-wrap.is-hidden {
	display: none;
}
.alessa-ribbon {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    position: absolute;
    left: 0;
    top: 10%;
    height: 80%;
    min-width: 100%;
	cursor: grab;
	position: relative;
}
.is-center .alessa-ribbon {
	text-align: center;
}
.alessa-ribbon.is-grabbed {
	cursor: grabbing;
}
.alessa-ribbon.is-moving .alessa-ribbon-item--image a {
	pointer-events: none;
}
.alessa-ribbon-item {
    position: relative;
	overflow: hidden;
}
.is-rounded .alessa-ribbon-item,
.is-rounded .alessa-next-post-slide .alessa-ribbon-overlay,
.is-rounded .alessa-next-post-slide .alessa-ribbon-item--image:before,
.is-rounded .alessa-next-post-slide .alessa-ribbon-item--image {
    border-radius: 24px;
}
.alessa-ribbon-overlay,
.alessa-ribbon-title-wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
	pointer-events: none;
}
.alessa-ribbon-overlay {
    z-index: 3;
	display: none;
	background: #0505071e;
	pointer-events: none;
}
.alessa-ribbon-overlay--yes .alessa-ribbon-overlay {
	display: block;
}
.alessa-ribbon-item--image {
	background: no-repeat center;
	background-size: cover;
}
.alessa-ribbon-item--image a {
	pointer-events: auto;
	display: block;
}
.alessa-ribbon-item--image img {
	display: block;
	height: 100%;
	width: auto;
	pointer-events: none;
}
.alessa-next-post-slide .alessa-ribbon-item--image:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	background: #05050780;
	pointer-events: none;
}
.alessa-next-post-slide-title {
	padding: 40px;
	left: 0;
	top: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	z-index: 4;
	flex-direction: column;
	pointer-events: none;
	transition: transform 2s;
	will-change: transform;
	transform-origin: 100% 50%;
}
.alessa-next-post-slide .alessa-ribbon-item--image {
	transition: transform 2s;
	will-change: transform;
}
.alessa-next-post-slide-title h6 {
	text-transform: uppercase;
	letter-spacing: 4px;
	margin: 0 0 4px 0;
}
.alessa-next-post-slide-title h2 {
	font-size: 64px;
	line-height: 1;
	margin: 0;
}

/* --- Slider Gallery --- */
.alessa-slider-wrap {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
	height: 100vh;
    position: relative;
	overflow: hidden;
}
.alessa-slider {
    cursor: grab;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.alessa-slider.is-grabbed {
    cursor: grabbing;
}
.alessa-slider-item {
    overflow: hidden;
    display: flex;
}
.alessa-slider-item--image,
.alessa-slider-overlay,
.alessa-slider-item {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.alessa-slider-overlay {
    pointer-events: none;
    z-index: 5;
}
.alessa-slider-item--image {
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
}

.alessa-slider-captions--yes .alessa-slider-title,
.alessa-slider-descr--yes .alessa-slider-description {
    display: block;
}
.alessa-slider .alessa-slider-item {
    will-change: opacity, transform;
}
.alessa-slider .alessa-slider-item .alessa-slider-item--image {
    will-change: transform;
}

/* Fitting Type */
.alessa-slider--cover .alessa-slider-item .alessa-slider-item--image {
    background-size: cover;
}
.alessa-slider--fit-all .alessa-slider-item .alessa-slider-item--image {
    background-size: contain;
}
.alessa-slider--fit-h .alessa-slider-item .alessa-slider-item--image{
    background-size: 100% auto;
}
.alessa-slider--fit-v .alessa-slider-item .alessa-slider-item--image{
    background-size: auto 100%;
}

/* Slides */
.alessa-slider.ia-animating .alessa-slider-item {
    transition-timing-function: ease-in-out;
}
.alessa-slider.ia-animating.is-dropped .alessa-slider-item {
    transition-timing-function: ease-out;
}
.alessa-slider[data-type="simple"] .alessa-slider-item,
.alessa-slider[data-type="parallax"] .alessa-slider-item {
    display: none;
}
.alessa-slider[data-type="simple"] .alessa-slider-item.is-active,
.alessa-slider[data-type="parallax"] .alessa-slider-item.is-active {
    display: flex;
}
.alessa-slider[data-type="fade"] .alessa-slider-item {
    opacity: 0;
}
.alessa-slider[data-type="fade"] .alessa-slider-item.is-active {
    opacity: 1;
}

.alessa-slider[data-type="fade"].is-animating .alessa-slider-item {
	transition: opacity 1000ms;
}
.alessa-slider[data-type="simple"].is-animating .alessa-slider-item {
	transition: transform 1000ms;
}
.alessa-slider[data-type="parallax"].is-animating .alessa-slider-item {
	transition: transform 1000ms;
}
.alessa-slider.is-animating .alessa-slider-item .alessa-slider-item--image {
	transition: transform 1000ms;
}

/* Slider Controls */
.alessa-slider-controls {
	width: 100%;
	height: 80px;
	display: flex;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 33;
	justify-content: space-between;
	align-items: stretch;
	overflow: hidden;
}

body.alessa-frosted-glass .shadowcore-post-slider-item .shadowcore-slider-content,
body.alessa-frosted-glass .alessa-slider-descr-wrap,
body.alessa-frosted-glass .alessa-slider-controls {
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	backdrop-filter: saturate(150%) blur(12px);
}
.alessa-slider-controls > div {
	display: flex;
	width: 50%;
}
.alessa-slider-controls > div.alessa-slider-controls-lp {
	justify-content: flex-start;
}
.alessa-slider-controls > div.alessa-slider-controls-rp {
	justify-content: flex-end;
}
.alessa-slider-controls > div.alessa-slider-controls-mp {
	width: 80px;
}
.alessa-slider-controls > div.alessa-slider-controls-mp a {
	transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.alessa-slider-controls > div > a {
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.alessa-slider-controls > div > a i {
	width: 24px;
	height: 24px;
	font-size: 24px;
	line-height: 1;
}
.alessa-slider-controls--play i.dashicons-controls-play,
.alessa-slider-controls--play i.dashicons-controls-pause {
	display: none;
}
.alessa-slider-controls--play i.dashicons-controls-play {
	transform: translate(2px, 1px);
}
.alessa-slider-wrap:not(.is-playing) .alessa-slider-controls--play i.dashicons-controls-play,
.alessa-slider-wrap.is-playing i.dashicons-controls-pause {
	display: block;
}
.alessa-slider-controls--play svg {
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -24px 0 0 -25px;
	pointer-events: none;
}
.alessa-slider-controls--play svg circle.alessa-icb {
	transition: opacity 0.3s;
	will-change: opacity;
}
.alessa-slider-wrap.is-paused svg circle.alessa-icb,
.alessa-slider-wrap:not(.is-playing) svg circle.alessa-icb {
	opacity: 0;
	transition: opacity 0.3s, stroke-dashoffset 0.3s!important;
}
.alessa-slider-wrap.is-playing.is-paused svg circle.alessa-icb {
	transition: opacity 0.3s, stroke-dashoffset 0.3s!important;
}
.alessa-slider-controls--title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding-left: 40px;
	padding-right: 40px;
	transition: transform 0.3s;
	will-change: transform;
}
.alessa-show-info .alessa-slider-controls--title {
	transform: translateY(-100%);
}
.alessa-slider-controls--title h6 {
	margin: 0 0 4px 0;
}

.alessa-psc-slider-nav {
	position: absolute;
	right: 20px;
	bottom: 20px;
	display: block;
	z-index: 33;
	display: flex;
	justify-content: flex-end;
}
.alessa-psc-slider-nav > a {
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	margin-left: 10px;
	position: relative;
}

/* Slider Description */
.alessa-slider-descr-wrap {
	position: absolute;
	transition: transform 0.3s, opacity 0.3s;
	will-change: transform, opacity;
	bottom: 120px;
	left: 40px;
	border-radius: 24px;
	z-index: 11;
	max-width: 33vw;
	border: 1px solid #17171920;
	pointer-events: none;
	opacity: 0;
	transform: translateY(40px);
}
.alessa-show-info .alessa-slider-descr-wrap {
	pointer-events: all;
	opacity: 1;
	transform: translateY(0);
}
.alessa-single-pmb-above .alessa-slider-descr {
	position: relative;
	z-index: 5;
	padding: 33px 40px 30px 40px;
}
.alessa-slider-descr h3 {
	margin: 0 0 0 0;
}
.alessa-slider-descr .alessa-slider-descr--title {
	margin-bottom: 17px;
}
.alessa-slider-descr-wrap > a {
	position: absolute;
	right: 8px;
	top: 8px;
	z-index: 7;
}
.alessa-slider-descr-wrap > a i {
	font-size: 24px;
	line-height: 1;
	display: block;
	width: 24px;
	height: 24px;
}
a.alessa-slider-descr--close {
	position: absolute;
	right: 5px;
	top: 5px;
	width: 48px;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0.75;
}
a.alessa-slider-descr--close:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	border-radius: 50%;
	opacity: 0;
	transform: scale(0.75);
}
a.alessa-slider-descr--close i {
	font-size: 24px;
	line-height: 1;
	width: 24px;
	height: 24px;
}

/* Slider and Ribbon Title */
.alessa-ribbon-title-wrap {
    z-index: 5;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	backface-visibility: hidden;
	overflow: hidden;
	max-width: calc(100% - 40px);
}
.alessa-single-pmb-short .alessa-slider-title,
.alessa-ribbon-title {
	padding: 17px 30px 17px 30px;
}
.is-rounded .alessa-ribbon-item .alessa-ribbon-title {
	border-radius: 0 24px 0 24px;
}
body.alessa-frosted-glass .alessa-single-pmb-short  .alessa-slider-title,
body.alessa-frosted-glass .alessa-ribbon-title {
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	backdrop-filter: saturate(150%) blur(12px);
}
.alessa-single-pmb-short .alessa-slider-title h6,
.alessa-ribbon-title h6 {
	margin: 0 0 12px 0;
}
.alessa-single-pmb-short .alessa-slider-title h6:last-child,
.alessa-ribbon-title h6:last-child {
	margin: 0 0 3px 0;
}

.alessa-single-pmb-short .alessa-slider-title-wrap {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	padding: 40px;
	z-index: 5;
}
.alessa-single-pmb-short .alessa-slider-title-wrap .alessa-slider-title {
	border-radius: 12px;
	padding: 17px 30px 17px 30px;
	max-width: 50%;
}
body.alessa-frosted-glass .alessa-single-pmb-short .alessa-slider-title-wrap .alessa-slider-title {
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	backdrop-filter: saturate(150%) blur(12px);
}

/* --- Grid Gallery --- */
.alessa-grid-gallery,
.alessa-adjusted-gallery {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
}
.alessa-adjusted-gallery .alessa-adjusted-item {
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.alessa-grid-gallery .alessa-grid-item .alessa-grid-item--image,
.alessa-masonry-gallery .alessa-masonry-item .alessa-grid-item--image,
.alessa-adjusted-gallery .alessa-adjusted-item .alessa-grid-item--image {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	transition: opacity 0.3s, transform 0.3s;
	will-change: opacity, transform;
	display: block;
	width: 100%;
}
.alessa-grid-item--image img {
	width: 100%;
	height: auto;
}
.alessa-grid-gallery .alessa-grid-item,
.alessa-masonry-gallery .alessa-masonry-item,
.alessa-adjusted-gallery .alessa-adjusted-item {
	box-sizing: border-box;
}
.alessa-grid-gallery .alessa-grid-item .alessa-grid-item--image.is-fade:not(:hover),
.alessa-masonry-gallery .alessa-masonry-item .alessa-grid-item--image.is-fade:not(:hover),
.alessa-adjusted-gallery .alessa-adjusted-item .alessa-grid-item--image.is-fade:not(:hover) {
	opacity: 0.7;
}
.is-rounded .alessa-grid-gallery .alessa-grid-item--image,
.is-rounded .alessa-masonry-gallery .alessa-grid-item--image,
.is-rounded .alessa-adjusted-gallery .alessa-grid-item--image {
	border-radius: 24px;
}
.alessa-grid-gallery .alessa-grid-item a.alessa-lightbox-link,
.alessa-masonry-gallery .alessa-masonry-item a.alessa-lightbox-link,
.alessa-adjusted-gallery .alessa-adjusted-item a.alessa-lightbox-link {
	display: block;
}
.alessa-grid-gallery .alessa-grid-item img,
.alessa-masonry-gallery .alessa-masonry-item img,
.alessa-adjusted-gallery .alessa-adjusted-item img {
	display: block;
}
.alessa-grid-gallery h6,
.alessa-masonry-gallery h6,
.alessa-adjusted-gallery h6 {
	margin: 0 0 12px 0;
}
.alessa-grid-gallery h6:last-child,
.alessa-masonry-gallery h6:last-child,
.alessa-adjusted-gallery h6:last-child {
	margin: 0;
}
.alessa-grid-gallery .alessa-grid-title,
.alessa-masonry-gallery .alessa-masonry-title,
.alessa-adjusted-gallery .alessa-adjusted-title {
	padding-top: 18px;
}

/* --- BrickWall Styles --- */
.brickwall-grid {
	position: relative;
}
.brickwall-grid > div {
	position: absolute;
	left: 0;
	top: 0;
}
.brickwall-grid > div.is-appended,
.brickwall-grid > div.is-prepended {
	transform: scale(0);
}
.brickwall-grid:not(.animation--none) > div.brickwall-item {
	transition: transform 0.4s, opacity 0.4s;
	will-change: transform, opacity;
}
.brickwall-grid.animation--slow > div.brickwall-item {
	transition: transform 0.8s, opacity 0.8s;
	will-change: transform, opacity;
}

/* 13. MAINTENANCE MODE
   -------------------- */
.alessa-maintenance-background,
.alessa-maintenance-overlay,
.alessa-maintenance-content-wrap {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.alessa-maintenance-background {
	background: no-repeat center;
	background-size: cover;
	z-index: 3;
}
.alessa-maintenance-overlay {
	z-index: 5;
}
.alessa-maintenance-content-wrap {
	z-index: 7;
	display: flex;
	align-items: center;
	justify-content: center;
}
.alessa-maintenance-content-wrap > div {
	flex-direction: column;
	align-items: center;
	width: 100%;
}
.alessa-maintenance-content {
	max-width: 744px;
}
#alessa-coming-soon {
	display: flex;
	flex-direction: row;
	justify-content: center;
	width: 100%;
}
#alessa-coming-soon:not(:first-child) {
	margin-top: 3.2em;
}
#alessa-coming-soon > div {
	margin: 0 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 124px;
	white-space: nowrap;
}
#alessa-coming-soon > div:first-child {
	width: 144px;
}
h1.alessa-maintenance-title.no-descr {
	margin: 0;
}
.alessa-maintenance-description {
	margin: 0 0 0 0;
	text-align: center;
}
#alessa-coming-soon h2 {
	margin: 0 0 10px 0;
}
#alessa-coming-soon span {
	margin: 0 0 0 0;
}
.hide-labels #alessa-coming-soon span {
	display: none;
}
.alessa-maintenance-preview {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	opacity: 0;
	transition: opacity 0.3s;
	will-change: opacity;
	pointer-events: none;
}
.alessa-maintenance-preview > div {
	pointer-events: none;
}
.alessa-maintenance-preview.is-visible {
	opacity: 1;
}
.alessa-maintenance-preview.is-visible > div {
	pointer-events: all;
}

/* 14. PASSWORD PROTECTED
   ---------------------- */
.alessa-password-protected .alessa-back2top,
.alessa-password-protected .alessa-footer-widgets-wrap {
	display: none;
}
.alessa-password-protected footer#alessa-footer {
	position: relative;
	z-index: 11;
}
.alessa-protected-wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
	z-index: 7;
	transition: opacity 0.3s;
	will-change: opacity;
	box-sizing: border-box;
}

.admin-bar .alessa-protected-wrap {
	height: calc(100vh - 32px);
}
.alessa-protected-background {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	pointer-events: none;
}
.alessa-protected-background {
	z-index: 3;
	background: no-repeat center;
	background-size: cover;
}
.alessa-protected-background {
	filter: blur(16px);
}
a.alessa-protected-close {
	position: absolute;
	right: 5px;
	top: 5px;
	width: 48px;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0.75;
}
a.alessa-protected-close:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	border-radius: 50%;
	opacity: 0;
	transform: scale(1.15);
}
a.alessa-protected-close i {
	font-size: 24px;
	line-height: 1;
	width: 24px;
	height: 24px;
}
.alessa-protected-content {
	max-width: 620px;
	width: 100%;
	box-sizing: border-box;
	padding: 60px 60px 42px 60px;
	border-radius: 24px;
	overflow: hidden;
	position: relative;
	z-index: 7;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: transform 0.3s, opacity 0.3s;
	will-change: opacity, transform;
}
.in-process.alessa-protected-wrap .alessa-protected-content {
	opacity: 0.5;
	transform: scale(0.95);
}
.alessa-protected-content form {

	margin: 0 auto;
}
.alessa-protected-content p {
	display: block;
	width: 100%;
}
.alessa-protected-content p.alessa-protected-desc,
.alessa-protected-content h4 {
	text-align: center;
}
.alessa-protected-content h4 {
	margin: 0 0 11px 0;
}
.alessa-protected-form-wrap {
	width: 100%;
}
.alessa-protected-thmb {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
	margin: 0 0 40px 0;
}
.alessa-protected-thmb img {
	width: 100%;
	height: auto;
	border-radius: 50%;
}
.alessa-protected-thmb:before {
	content: '';
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	border-radius: 50%;
}
.alessa-protected-thmb i {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 48px;
	height: 48p;
	margin: -11px 0 0 -24px;
	font-size: 48px;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 5;
}
.alessa-protected-thmb svg circle {
	stroke: #ffffff;
}
.alessa-protected-input-wrap {
	position: relative;
}
.alessa-protected-input-wrap i {
	position: absolute;
	font-size: 20px;
	line-height: 1;
	right: 0;
	top: 8px;
	display: flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: opacity 0.2s;
	opacity: 0;
	pointer-events: none;
}
form.post-password-form:not(.alessa-password-hidden) .alessa-protected-input-wrap i.alessa-hide-password,
form.post-password-form.alessa-password-hidden .alessa-protected-input-wrap i.alessa-show-password {
	opacity: 0.5;
	pointer-events: auto;
}
form.post-password-form input[type="submit"] {
	width: 100%;
}
body .is-error.alessa-protected-wrap .alessa-protected-content {
	transition: none;
	animation: earth-quake 0.4s ease-in-out;
}
.alessa-protected-loader {
	position: absolute;
	width: 50px;
	height: 50px;
	right: 5px;
	top: 5px;
	display: block;
	z-index: 9;
	animation: loader_spin 2.5s linear infinite;
	transition: opacity 0.1s;
	will-change: opacity;
	opacity: 0;
	pointer-events: none;
}
.in-process.alessa-protected-wrap .alessa-protected-loader {
	opacity: 1;
}
.alessa-protected-loader circle {
	stroke-dasharray: 6px;
	stroke-dashoffset: 0;
}
.alessa-ajax-content {
	transition: opacity 0.3s;
	will-change: opacity;
}
.alessa-ajax-content.is-loading {
	opacity: 0;
}
.alessa-protected-wrap.is-unload {
	opacity: 0;
}
.alessa-protected-wrap.is-unload .alessa-protected-content {
	transform: scale(0.5);
}

@keyframes earth-quake {
	0% {
		transform: translateX(0px);
	}
	10% {
		transform: translateX(-10px);
	}
	30% {
		transform: translateX(10px);
	}
	50% {
		transform: translateX(-10px);
	}
	70% {
		transform: translateX(10px);
	}
	90% {
		transform: translateX(-10px);
	}
	100% {
		transform: translateX(0px);
	}
}
@keyframes loader_spin {
	0% {
		transform: rotate(0);
	}
	50% {
		transform: rotate(180deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* 15. ATTACHMENT
   -------------- */
.single-attachment .alessa-back2top {
	display: none;
}
.single-attachment .alessa-footer-widgets-wrap {
	display: none;
}
.single-attachment footer#alessa-footer {
	z-index: 11;
	position: relative;
}
.alessa-attachment-wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
	z-index: 7;
	transition: opacity 0.3s;
	will-change: opacity;
	box-sizing: border-box;
}
.alessa-attachment-overlay,
.alessa-attachment-background {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	pointer-events: none;
}
.alessa-attachment-background {
	z-index: 3;
	background: no-repeat center;
	background-size: cover;
}
.alessa-attachment-overlay {
	z-index: 4;
	overflow: hidden;
}
.alessa-attachment-background {
	filter: blur(12px);
}
.alessa-attachment-wrap img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 24px;
}
.alessa-atachment-info {
	position: absolute;
	left: 40px;
	bottom: 80px;
	z-index: 11;
	width: 480px;
	padding: 34px 39px 31px 39px;
	border-radius: 12px;
}
.alessa-atachment-info h3 {
	margin: 0;
}
.alessa-atachment-info .alessa-atachment-descr {
	margin-top: 12px;
}
.alessa-attachment-inner {
	padding-left: 10px;
	padding-right: 10px;
}
.alessa-frosted-glass .alessa-atachment-info {
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	backdrop-filter: saturate(150%) blur(12px);
}

/* 16. 404 PAGE
   ------------ */
.error404 .alessa-back2top {
	display: none;
}
.alessa-404-wrap {
	position: relative;
	z-index: 11;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.alessa-404-background {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	display: block;
	pointer-events: none;
	z-index: -1;
	background: no-repeat center;
	background-size: cover;
}
.alessa-404-wrap h1,
.alessa-404-wrap p {
	text-align: center;
}
.alessa-404-buttons {
	display: flex;
	flex-direction: row;
	justify-content: center;
	padding-top: 1.65em;
}
.alessa-404-buttons > a {
	margin: 0 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.alessa-404-buttons > a i {
	transform: translateY(0);
	display: block;
	font-size: 16px;
	line-height: 1;
}
.alessa-404-buttons > a.alessa-404-return i {
	margin-right: 6px;
	margin-left: -6px;
	transform: translateY(2px);
}
.alessa-404-buttons > a.alessa-404-home i {
	margin-left: 8px;
	margin-right: -3px;
	transform: translateY(1px);
}

.alessa-404-preview {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	opacity: 0;
	transition: opacity 0.3s;
	will-change: opacity;
	pointer-events: none;
}
.alessa-404-preview > div {
	pointer-events: none;
}
.alessa-404-preview.is-visible {
	opacity: 1;
}
.alessa-404-preview.is-visible > div {
	pointer-events: all;
}

/* 17. RIGHT CLICK PROTECTION MESSAGE
   ---------------------------------- */
.alessa-rcp-message-wrap {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: opacity 0.3s;
	will-change: opacity;
	pointer-events: none;
	opacity: 0;
	z-index: 9999;
}
.alessa-rcp-message-show .alessa-rcp-message-wrap {
	opacity: 1;
	pointer-events: all;
}
.alessa-rcp-message-overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}
.alessa-rcp-message-content {
	position: relative;
	z-index: 3;
	max-width: 480px;
	width: 100%;
	box-sizing: border-box;
	padding: 40px 40px 40px 40px;
	border-radius: 24px;
	overflow: hidden;
	display: block;
	transition: transform 0.3s;
	will-change: transform;
	transform: translateY(40px);
	text-align: center;
}
.alessa-rcp-message-show .alessa-rcp-message-content {
	transform: translateY(0);
}
.alessa-rcp-message-content > a {
	display: block;
	width: 100%;
	text-align: center;
}
.alessa-rcp-message {
	margin-bottom: 1.65em;
}

/* 18. ELEMENTOR DEFAULTS
   ---------------------- */
body .elementor-widget:not(:last-child) {
	margin: 0;
}
body .elementor-widget:not(:last-child) .elementor-widget-container {
	margin-bottom: 20px;
}
body .elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 1320px;
	margin-left: -20px;
	margin-right: -20px;
}
body .elementor-section .elementor-section.elementor-section-boxed > .elementor-container {
	margin-left: 0;
	margin-right: 0;
}
body .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
	padding: 0 20px;
}
body .elementor-section.elementor-section-boxed.elementor-section-stretched  > .elementor-container {
	margin-left: auto;
	margin-right: auto;
}
body .alessa-full-width .elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 100%;
}
body .elementor-container.elementor-column-gap-default .elementor-row {
	margin: 0 -20px;
	width: calc(100% + 40px);
}
body .elementor-container.elementor-column-gap-default .elementor-row .elementor-container.elementor-column-gap-default .elementor-row {
	width: calc(100% + 40px);
}
body .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
	padding: 0 20px;
}
body .elementor-widget-counter .elementor-counter-number-wrapper {
	font-size: 100px;
	line-height: 100px;
}
body .elementor-widget-testimonial .elementor-testimonial-details .elementor-testimonial-name {
	margin: 0;
}

body .elementor-widget-button a.elementor-button.elementor-size-xs {
	transform: scale(0.85);
}
body .elementor-widget-button .elementor-button.elementor-size-md span,
body .elementor-widget-button a.elementor-button.elementor-size-md span {
	font-size: 1.2em;
	line-height: 1.2;
}
body .elementor-widget-button .elementor-button.elementor-size-lg span,
body .elementor-widget-button a.elementor-button.elementor-size-lg span {
	font-size: 1.4em;
	line-height: 1.4;
}
body .elementor-widget-button .elementor-button.elementor-size-xl span,
body .elementor-widget-button a.elementor-button.elementor-size-xl span {
	font-size: 1.7em;
	line-height: 1.7;
}

body .elementor-widget-button.elementor-button-info a.elementor-button,
body .elementor-widget-button.elementor-button-success a.elementor-button,
body .elementor-widget-button.elementor-button-warning a.elementor-button,
body .elementor-widget-button.elementor-button-danger a.elementor-button {
	position: relative;
	overflow: hidden;
}
body .elementor-widget-button.elementor-button-info a.elementor-button:before,
body .elementor-widget-button.elementor-button-success a.elementor-button:before,
body .elementor-widget-button.elementor-button-warning a.elementor-button:before,
body .elementor-widget-button.elementor-button-danger a.elementor-button:before {
	content: '';
	font-family: dashicons;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
	display: block;
	text-align: center;
	color: #ffffff15;
	font-size: 4em;
	line-height: 1;
	pointer-events: none;
}
body .elementor-widget-button.elementor-button-info a.elementor-button:before {
	content: '\f348';
}
body .elementor-widget-button.elementor-button-success a.elementor-button:before {
	content: '\f12a';
}
body .elementor-widget-button.elementor-button-warning a.elementor-button:before {
	content: '\f534';
}
body .elementor-widget-button.elementor-button-danger a.elementor-button:before {
	content: '\f153';
}

body .elementor-widget-icon-box .elementor-icon-box-content h1.elementor-icon-box-title span,
body .elementor-widget-icon-box .elementor-icon-box-content h2.elementor-icon-box-title span,
body .elementor-widget-icon-box .elementor-icon-box-content h3.elementor-icon-box-title span,
body .elementor-widget-icon-box .elementor-icon-box-content h4.elementor-icon-box-title span,
body .elementor-widget-icon-box .elementor-icon-box-content h5.elementor-icon-box-title span,
body .elementor-widget-icon-box .elementor-icon-box-content h6.elementor-icon-box-title span {
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
	text-transform: inherit;
	font-style: inherit;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}
body .elementor-toggle-item {
	border: 1px solid;
}
body.elementor-page .elementor-toggle .elementor-tab-title.elementor-active {
	border-bottom: 1px solid;
}
body .elementor-toggle-item:not(:first-child) {
	margin-top: -1px;
}

/* 19. SHADOW ELEMENTS
   ------------------- */
.elementor-widget-shadow-price-table .elementor-widget-container {
	overflow: visible;
}
.elementor-widget-container {
	overflow: hidden;
}
.shadowcore-ribbon-item {
	overflow: hidden;
}

/* Before and After */
.shadowcore-before-after-divider {
	width: 4px;
	height: 100%;
}
.shadowcore-before-after-divider:before {
	width: 48px;
	height: 48px;
	border-radius: 12px;
}

/* Testimonials */
.shadowcore-testimonials-item__content {
	border-radius: 12px;
}
.shadowcore-testimonials-carousel .shadowcore-testimonials-item__content {
	position: relative;
}
.shadowcore-testimonials-carousel .shadowcore-testimonials-item__content:before,
.shadowcore-testimonials-carousel .shadowcore-testimonials-item__content:after {
	content: '';
	position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
	left: calc(50% - 10px);
	bottom: -10px;
}
.shadowcore-testimonials-carousel .shadowcore-testimonials-item__content:after {
	bottom: -7px;
}
.elementor-widget-shadow-testimonials-grid .elementor-widget-container {
	overflow: visible;
}

/* Cards Carousel */
.shadowcore-carousel-card__image {
	border-radius: 12px;
}
.shadowcore-cards-carousel-wrap .shadowcore-owl-container .owl-dots {
	padding-top: 37px;
}
.shadowcore-cards-carousel-wrap .owl-carousel button.owl-dot {
	width: 20px;
}
.shadowcore-cards-carousel-wrap .owl-carousel button.owl-dot span {
	transition: opacity 0.3s, border 0.3s, background 0.3s, transform 0.3s;
	transform: scale(0.8);
	display: block;
}
.shadowcore-cards-carousel-wrap .owl-carousel button.owl-dot.active span {
	transform: scale(1);
}
.shadowcore-cards-carousel-wrap .owl-carousel button.owl-dot {
	margin: 0 5px;
	padding: 0 5px!important;
}

/* Ribbon Posts */
.shadowcore-ribbon-item--image.no-post-thmb {
	position: relative;
}
.shadowcore-ribbon-item--image.no-post-thmb:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
}

/* Price Table */
.shadowcore-price-item-button.alessa-button {
	transition: all 0.3s;
}
.shadowcore-price-item-mp-label {
	text-transform: uppercase;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.11em;
}
.shadowcore-price-item--list-heading {
	margin-bottom: 0.9em;
}

/* Count Down */
.shadowcore-coming-soon .shadowcore-coming-soon__label {
	text-transform: none;
}

/* Grid Gallery */
.shadowcore-gallery-item__inner {
	overflow: visible;
}
.shadowcore-justified-gallery.justified-gallery > a {
	transition: transform 0.3s, opacity 0.3s;
}
.alessa-frosted-glass .shadowcore-pri-content--top .shadowcore-pri__content,
.alessa-frosted-glass .shadowcore-pri-content--bottom .shadowcore-pri__content,
.alessa-frosted-glass .shadowcore-grid-caption--on_photo .shadowcore-grid-caption,
.alessa-frosted-glass .shadowcore-grid-caption--on_hover .shadowcore-grid-caption,
.alessa-frosted-glass .shadowcore-slider-title,
.alessa-frosted-glass .shadowcore-ribbon-title {
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	backdrop-filter: saturate(150%) blur(12px);
}
.shadowcore-grid-caption:empty {
	display: none;
}

/* Query Grid */
body.alessa-frosted-glass .shadowcore-pgi-content--top .shadowcore-pgi__content-inner,
body.alessa-frosted-glass .shadowcore-pgi-content--bottom .shadowcore-pgi__content-inner {
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	backdrop-filter: saturate(150%) blur(12px);
}
.shadowcore-pgi-content--top .shadowcore-pgi__content,
.shadowcore-pgi-content--bottom .shadowcore-pgi__content {
	width: auto;
}

/* Counter */
body .elementor-widget-counter .elementor-counter-title {
	font-weight: 400;
	margin-top: 20px;
}

/* 20. PAGE TRANSITIONS
   -------------------- */
.alessa-ptr-wrapper {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 2222;
}
.alessa-loader--fade .alessa-ptr-wrapper {
	transition: opacity 0.3s cubic-bezier(0.580, 0.005, 0.635, 1.005);
	will-change: opacity;
}
.alessa-loader--fade.alessa-ptr--loaded .alessa-ptr-wrapper {
	opacity: 0;
	pointer-events: none;
}

.alessa-loader--shutter .alessa-ptr-wrapper {
	will-change: transform;
	transition: transform 400ms;
}
.alessa-loader--shutter .alessa-ptr-wrapper:after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	will-change: transform;
	transition: transform 400ms cubic-bezier(0.580, 0.005, 0.635, 1.005);
}

/* Shutter to Bottom */
.alessa-loader--shutter.alessa-ptr-dir--bottom .alessa-ptr-wrapper:after {
	transform-origin: 50% 100%;
	transition-timing-function: ease-out;
}
.alessa-loader--shutter.alessa-ptr-dir--bottom.alessa-ptr--unload .alessa-ptr-wrapper:after {
	transform-origin: 50% 0%;
	transition-timing-function: ease-in;
}
.alessa-loader--shutter.alessa-ptr-dir--bottom.alessa-ptr--loaded .alessa-ptr-wrapper {
	pointer-events: none;
}
.alessa-loader--shutter.alessa-ptr-dir--bottom.alessa-ptr--loaded .alessa-ptr-wrapper:after {
	transform: scale(1, 0);
}
.alessa-loader--shutter.alessa-ptr-dir--bottom.alessa-ptr--unload .alessa-ptr-wrapper:after {
	transform: scale(1, 1);
}

/* Shutter to Left */
.alessa-loader--shutter.alessa-ptr-dir--left .alessa-ptr-wrapper:after {
	transform-origin: 0% 50%;
}
.alessa-loader--shutter.alessa-ptr-dir--left.alessa-ptr--unload .alessa-ptr-wrapper:after {
	transform-origin: 100% 50%;
}
.alessa-loader--shutter.alessa-ptr-dir--left.alessa-ptr--loaded .alessa-ptr-wrapper {
	pointer-events: none;
}
.alessa-loader--shutter.alessa-ptr-dir--left.alessa-ptr--loaded .alessa-ptr-wrapper:after {
	transform: scale(0, 1);
}
.alessa-loader--shutter.alessa-ptr-dir--left.alessa-ptr--unload .alessa-ptr-wrapper:after {
	transform: scale(1, 1);
}

/* Shutter to Top */
.alessa-loader--shutter.alessa-ptr-dir--top .alessa-ptr-wrapper:after {
	transform-origin: 50% 0%;
}
.alessa-loader--shutter.alessa-ptr-dir--top.alessa-ptr--unload .alessa-ptr-wrapper:after {
	transform-origin: 50% 100%;
}
.alessa-loader--shutter.alessa-ptr-dir--top.alessa-ptr--loaded .alessa-ptr-wrapper {
	pointer-events: none;
}
.alessa-loader--shutter.alessa-ptr-dir--top.alessa-ptr--loaded .alessa-ptr-wrapper:after {
	transform: scale(1, 0);
}
.alessa-loader--shutter.alessa-ptr-dir--top.alessa-ptr--unload .alessa-ptr-wrapper:after {
	transform: scale(1, 1);
}

/* Shutter to Right */
.alessa-loader--shutter.alessa-ptr-dir--right .alessa-ptr-wrapper:after {
	transform-origin: 100% 50%;
}
.alessa-loader--shutter.alessa-ptr-dir--right.alessa-ptr--unload .alessa-ptr-wrapper:after {
	transform-origin: 0% 50%;
}
.alessa-loader--shutter.alessa-ptr-dir--right.alessa-ptr--loaded .alessa-ptr-wrapper {
	pointer-events: none;
}
.alessa-loader--shutter.alessa-ptr-dir--right.alessa-ptr--loaded .alessa-ptr-wrapper:after {
	transform: scale(0, 1);
}
.alessa-loader--shutter.alessa-ptr-dir--right.alessa-ptr--unload .alessa-ptr-wrapper:after {
	transform: scale(1, 1);
}

/* 21. HOVER EFFECTS
   ----------------- */
@media (hover: hover) {
	.alessa-cursor {
		display: block;
	}
	a {
		transition: color 0.3s;
	}
	a:hover {
		text-decoration: none;
	}
    .alessa-next-post-slide:hover .alessa-ribbon-item--image {
        transform: scale(1.1);
    }
    .alessa-next-post-slide:hover .alessa-next-post-slide-title {
        transform: scale(1.2);
    }
	div.elementor-widget-wp-widget-shadow_contacts_widget li a:hover,
	.alessa-aside-toggler:not(.alessa-aside-toggler--label):hover,
	.alessa-aside-toggler.alessa-aside-toggler--label:hover,
	.alessa-header-search--toggler:hover,
	nav.alessa-nav ul li:hover > a {
		opacity: 1;
	}
	div.elementor-widget-wp-widget-shadow_contacts_widget li a,
	a.alessa-slider-descr--close:before,
	a.alessa-protected-close:before {
		transition: opacity 0.3s, transform 0.3s;
		will-change: opacity, transform;
	}
	a.alessa-slider-descr--close:hover:before {
		transform: scale(1);
	}
	a.alessa-slider-descr--close,
	a.alessa-protected-close {
		transition: opacity 0.3s;
		will-change: opacity;
	}
	a.alessa-slider-descr--close:hover,
	a.alessa-slider-descr--close:hover:before,
	a.alessa-protected-close:hover,
	a.alessa-protected-close:hover:before,
	a.alessa-aside-close:hover {
		opacity: 1;
	}
	a.alessa-protected-close:hover:before {
		transform: scale(1);
	}
	.alessa-asf-results .alessa-post-preview-image .alessa-image img,
	.alessa-post-preview-image .alessa-image,
	.alessa-post-listing-title h4 a,
	.alessa-post-listing-title h5 a {
		transition: transform 0.3s;
		will-change: transform;
	}
	.alessa-blog-listing--small:not(.alessa-asf-results) .alessa-post-preview-image .alessa-image:hover,
	.alessa-blog-listing--small.alessa-asf-results .alessa-post-preview-image .alessa-image:hover img {
		transform: scale(1.1);
	}
	.alessa-blog-listing--medium  .alessa-post-preview-image .alessa-image:hover {
		transform: scale(1.015);
	}
	.alessa-blog-listing--large  .alessa-post-preview-image .alessa-image:hover {
		transform: scale(1.01);
	}
	.alessa-post-listing-title h4 a:hover,
	.alessa-post-listing-title h5 a:hover {
		transform: scale(1.02);
	}
	.alessa-post-nav a .alessa-post-nav-item:before,
	nav.alessa-pagination ul.page-numbers li > a:before {
		transition: opacity 0.3s;
		will-change: opacity;
	}
	.alessa-post-nav a:hover .alessa-post-nav-item:before,
	nav.alessa-pagination ul.page-numbers li > a:hover:before {
		opacity: 1;
	}
	.alessa-post-grid-button:before {
		opacity: 0.4;
		will-change: opacity;
		transition: opacity 0.3s;
	}
	.alessa-post-grid-button:hover:before {
		opacity: 0.8;
	}
	.alessa-blog-grid .alessa-post-preview .alessa-image {
		transition: transform 0.3s, opacity 0.3s;
		will-change: transform, opacity;
	}
	.alessa-blog-grid:hover .alessa-post-preview .alessa-image {
		opacity: 0.7;
	}
	.alessa-blog-grid:hover .alessa-post-preview:hover .alessa-image {
		opacity: 1;
		transform: scale(1.03);
	}

	a.alessa-back2top i {
		transition: opacity 0.3s;
		will-change: opacity;
	}
	a.alessa-back2top:hover i {
		opacity: 1;
	}
	.shadow_contacts_widget a,
	.wp-calendar-nav a,
	p.logged-in-as a,
	p.comment-notes a,
	.alessa-footer-widgets-wrap .alessa-widget .tagcloud a {
		transition: opacity 0.3s;
		will-change: opacity;
	}
	.alessa-return-post-link a {
		transition: background 0.3s;
	}
	.alessa-post-link-wrap .alessa-post-nav-icon:after {
		transition: background 0.3s;
	}
	.alessa-post-link-wrap .alessa-post-nav-icon i {
		transition: opacity 0.3s;
		opacity: 0.75;
	}
	.alessa-post-link-wrap .alessa-prev-post-link:hover .alessa-post-nav-icon i {
		opacity: 1;
	}
	form.post-password-form:not(.alessa-password-hidden) .alessa-protected-input-wrap i.alessa-hide-password:hover,
	form.post-password-form.alessa-password-hidden .alessa-protected-input-wrap i.alessa-show-password:hover,
	.shadow_contacts_widget a:hover,
	p.logged-in-as a:hover,
	p.comment-notes a:hover,
	.alessa-post-link-wrap > div:hover .alessa-post-nav-icon {
		opacity: 1;
	}
	.elementor-widget-wp-widget-archives a > span,
	.elementor-widget-wp-widget-meta a > span,
	.elementor-widget-wp-widget-categories .elementor-widget-container > ul > li > a > span,
	.elementor-widget-wp-widget-pages .elementor-widget-container > ul > li > a > span,
	.elementor-widget-wp-widget-nav_menu .elementor-widget-container > ul > li > a > span,
	.elementor-widget-wp-widget-nav_menu .elementor-widget-container div > ul > li > a > span,
	.wp-block-archives-list a > span,
	.widget_archive a > span,
	.widget_meta a > span,
	.widget_categories > ul > li > a > span,
	.widget_pages > ul > li > a > span,
	.widget_nav_menu > ul > li > a > span,
	.widget_nav_menu div > ul > li > a > span {
		transition: transform 0.3s;
		will-change: transform;
	}
	.elementor-widget-wp-widget-archives a:hover > span,
	.elementor-widget-wp-widget-meta a:hover > span,
	.elementor-widget-wp-widget-categories .elementor-widget-container > ul > li > a:hover > span,
	.elementor-widget-wp-widget-pages .elementor-widget-container > ul > li > a:hover > span,
	.elementor-widget-wp-widget-nav_menu .elementor-widget-container > ul > li > a:hover > span,
	.elementor-widget-wp-widget-nav_menu .elementor-widget-container div > ul > li > a:hover > span,
	.wp-block-archives-list a:hover > span,
	.widget_archive a:hover > span,
	.widget_meta a:hover > span,
	.widget_categories > ul > li > a:hover > span,
	.widget_pages > ul > li > a:hover > span,
	.widget_nav_menu > ul > li > a:hover > span,
	.widget_nav_menu div > ul > li > a:hover > span {
		transform: translateX(13px);
	}

	.elementor-widget-wp-widget-archives a:hover:before,
	.elementor-widget-wp-widget-meta a:hover:before,
	.elementor-widget-wp-widget-categories .elementor-widget-container > ul > li > a:hover:before,
	.elementor-widget-wp-widget-pages .elementor-widget-container > ul > li > a:hover:before,
	.elementor-widget-wp-widget-nav_menu .elementor-widget-container > ul > li > a:hover:before,
	.elementor-widget-wp-widget-nav_menu .elementor-widget-container div > ul > li > a:hover:before,
	.wp-block-archives-list a:hover:before,
	.widget_archive a:hover:before,
	.widget_meta a:hover:before,
	.widget_categories > ul > li > a:hover:before,
	.widget_pages > ul > li > a:hover:before,
	.widget_nav_menu > ul > li > a:hover:before,
	.widget_nav_menu div > ul > li > a:hover:before {
		opacity: 1;
	}
	table#wp-calendar a:hover:before {
		opacity: 1;
	}
	.alessa-slider-controls > div > a:before {
		will-change: opacity;
		transition: opacity 0.3s;
	}
	.alessa-slider-controls > div > a:hover:before {
		opacity: 0.15;
	}

	.alessa-asf-wrap a.alessa-ajax-search-submit,
	.alessa-ajax-search-close {
		transition: opacity 0.3s;
		will-change: opacity;
	}
	.alessa-asf-wrap a.alessa-ajax-search-submit:hover,
	.alessa-ajax-search-close:hover {
		opacity: 1;
	}
	.alessa-post-nav > a > .alessa-post-nav-item,
	nav.alessa-pagination ul.page-numbers li > a {
		transition: border 0.3s, color 0.3s, box-shadow 0.3s;
	}
	.alessa-select-wrap ul.alessa-select__list li:hover:after {
		opacity: 1;
	}
	.alessa-select-wrap ul.alessa-select__list li:hover span,
	nav.alessa-nav ul.sub-menu li:hover > a > span {
		transform: translateX(10px);
	}
	nav.alessa-nav ul.sub-menu > li:hover > a:before {
		opacity: 1;
	}
	.shadowcore-service-card__link--text,
	.wp-block-latest-posts__list.is-grid li,
	.wp-block-latest-comments__comment a,
	.alessa-post-tags-wrap a,
	.alessa-post-meta a,
	.shadowcore-pli-meta a,
	ul#alessa-breadcrumbs li a,
	.alessa-comment-footer a,
	.shadowcore-pli-read-more .shadowcore-pli--more,
	.alessa-post-footer-rp a.alessa-learn-more {
		transition: color 0.3s, transform 0.3s;
		will-change: transform;
	}
	.wp-block-latest-posts__list.is-grid li:hover {
		transform: scale(1.03);
	}
	.shadowcore-service-card__link--text:hover,
	.wp-block-latest-comments__comment a:hover,
	.alessa-post-tags-wrap a:hover,
	.alessa-post-meta a:hover,
	.shadowcore-pli-meta a:hover,
	ul#alessa-breadcrumbs li a:hover,
	.alessa-comment-footer a:hover,
	.shadowcore-pli-read-more .shadowcore-pli--more:hover,
	.alessa-post-footer-rp a.alessa-learn-more:hover {
		transform: scale(1.03);
	}
	.alessa-footer-widgets-wrap .alessa-widget a {
		transition: color 0.3s, opacity 0.3s;
	}
	ul.alessa-socials li svg path {
		transition: fill 0.3s;
	}
	.alessa-socials a,
	.alessa-footer-widgets-wrap .alessa-widget .alessa-socials a {
		transition: color 0.3s, transform 0.2s;
		will-change: transform;
	}
	.alessa-socials a:hover {
		transform: scale(1.2);
	}
	.alessa-image {
		transition: opacity 0.3s, transform 0.3s;
		will-change: opacity, transform;
	}
	.alessa-pswp-gallery-wrap.is-hovered .alessa-image:not(:hover) {
		opacity: 0.7;
	}
	.alessa-pswp-gallery-wrap .alessa-image:hover,
	.alessa-pswp-gallery-wrap div.alessa-image.alessa-lazy.is-loaded:hover {
		transform: scale(1.03);
	}
	.alessa-psc-slider-nav > a,
	.alessa-slider-controls > div > a {
		transition: background 0.3s, color 0.3s;
	}

	.alessa-grid-gallery .alessa-grid-item .alessa-grid-item--image:hover,
	.alessa-masonry-gallery .alessa-masonry-item .alessa-grid-item--image:hover,
	.alessa-adjusted-gallery .alessa-adjusted-item .alessa-grid-item--image:hover {
		transform: scale(1.03);
	}
	.alessa-psc-pmb-wrap .brickwall-item:hover {
		z-index: 5!important;
	}
	.elementor-widget-wp-widget-search form i,
	.widget_search form i {
		transition: opacity 0.3s;
		will-change: opacity;
		opacity: 0.6;
	}
	.elementor-widget-wp-widget-search form i:hover,
	.widget_search form i:hover {
		opacity: 1;
	}
}

/* 22. CUSTOM CLASSES
   ------------------ */
.alessa-footer-logo {
	max-width: 156px;
	margin: 0 0 0 0;
}
.alessa-content-lt .elementor-container > div.elementor-column:first-child {
	z-index: 5;
}
.alessa-content-lt section.elementor-section,
.alessa-content-rt section.elementor-section {
	max-width: 800px;
}
.alessa-content-rt section.elementor-section {
	transform: translateX(-80px);
}
.alessa-content-lt section.elementor-section {
	margin-left: auto;
	transform: translateX(80px);
}
.alessa-overflow-hidden {
    overflow: hidden;
}
