/*!
Theme Name: Resete
Theme URI: http://underscores.me/
Author: Petri Vuorio
Author URI: http://eteinen.net
Description: Hybrid theme
Version: 1.0.0
Tested up to: 8.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Resete is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Widgets
	- Media
	- Captions
	- Galleries

# Utilities
	- Accessibility
	- Alignments

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

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/


:root {
    --padding-side: clamp(24px, 3vw, 50px);
    --element-border-radius: 20px;
    --theme-text-faded: #786E85;
    --spacing-between: clamp(15px, 3vw, 50px);
}

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}



/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */



body,
button,
input,
select,
optgroup,
textarea {
    color: var(--theme-text-color);
    font-family: "Onest", sans-serif;
    font-size: 1rem;
    line-height: 1.5;
}

h1,
.elementor-widget-heading h1,
h2,
.elementor-widget-heading h2,
h3,
.elementor-widget-heading h3,
h4,
.elementor-widget-heading h4,
h5,
.elementor-widget-heading h5,
h6, 
.elementor-widget-heading h6,
.elementor-widget-heading, 
.elementor-widget-heading p {
    clear: both;

    font-weight: 500;
    line-height: 1.2;
}

h1, 
.elementor-widget-heading h1 {

    font-size: clamp(2.0rem, 1.0rem + 3vw, 3.0rem);
    line-height: 1.1;
}
h2, 
.elementor-widget-heading h2,
.h2 {
    font-size: clamp(1.6rem, 1.0rem + 2vw, 2.5rem);
}
h3,
.elementor-widget-heading h3,
.h3,
.h3.elementor-widget-heading h2 {

    font-size: clamp(1.3rem, 1.0rem + 1vw, 1.8rem);
}
h4,
.elementor-widget-heading h4,
.elementor-widget-heading p,
.big-text {

    font-size: clamp(1.15rem, 1.0rem + 0.5vw, 1.4rem);
    line-height: 1.3;
}
h1:not(.elementor-heading-title), 
h2:not(.elementor-heading-title, .wp-block-heading) {
    text-align: center;
}
.search h2 {
    text-align: left;
}
.elementor-widget-text-editor .elementor-heading-title,
.elementor-widget-text-editor h1,
.elementor-widget-text-editor h2, 
.elementor-widget-text-editor h3, 
.elementor-widget-text-editor h4 {
    margin-bottom: 1.5rem;
    text-align: inherit;
}
p {
    margin-bottom: 1.5em;
    margin-top: 0.5em;
}
p:first-child,
h1:first-child,
h2:first-child,
h3:first-child {
    margin-top: 0;
}
p:last-child {
    margin-bottom: 0;
}
dfn,
cite,
em,
i {
	font-style: italic;
}



address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
    background-color: #fff;
    background-image: radial-gradient(ellipse 100vw 700px at top center, #F2EFFF 0%, #fff 100%);

}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
    padding-left: 1.5rem;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

.elementor li,
.site-main li {
    margin-bottom: 0.5rem;
}
li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
.entry-content ul, 
.entry-content ol {
    margin-top: 0.5rem;
    margin-bottom: 1.0rem;
}
dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a, 
a:visited {
	color: var(--theme-link-color);
}


a:hover,
a:focus,
a:active {
    
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a {
    text-decoration: underline;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link,
a.button,
body .elementor-button {
    border: none;
    border-radius: 30px !important;
    background: var(--theme-link-color);
    color: #fff;
    line-height: 1.2;
    padding: 0.9em 1.8em;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    transition: all .1s;
    font-size: 1.0rem;
}
.site-header .button > .sub-menu-toggle {
    padding: 0;
    margin-bottom: 10px;
}
.site-header .button > .sub-menu-toggle + .sub-menu {
    padding: 0;
    
}
.site-header .button > .sub-menu-toggle > span {
    border: 1px solid var(--theme-link-color);
    border-radius: 30px !important;
    background: transparent;
    color: var(--theme-link-color);
    line-height: 1.2;
    padding: 0.9em 1.8em;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    transition: all .2s;
    font-size: 1.0rem;
    display: inline-block;
}
.site-header .button:hover > .sub-menu-toggle > span,
.site-header .button:focus > .sub-menu-toggle > span,
.site-header .button:focus-within> a > span {
    background: var(--theme-link-color);
    color: #fff;
}
button.secondary,
input[type="button"].secondary,
input[type="reset"].secondary,
input[type="submit"].secondary,
.wp-block-button__link.secondary,
a.button.secondary,
body .elementor-element.elementor-button-info .elementor-button {
    background: #000;
    color: #fff;
}
body .elementor-element.elementor-button-success .elementor-button {
    background: transparent;
    border: 1px solid var(--theme-link-color);
    color: var(--theme-link-color);
}
body .elementor-element.elementor-button-warning .elementor-button {
    background: transparent;
    border: 1px solid #000;
    color: var(--theme-text-color);
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
a.button:hover,
a.button:focus,
body .elementor-button:hover,
body .elementor-button:focus {
    transform: scale(1.05);
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: none;
	border-radius: 16px;
	padding: 1.1em 1.8em;
        background: transparent;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
    border: none;
    padding: 1.1em 35px 1.1em 1.2em;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 16px;
    text-overflow: ellipsis;
    appearance: none;
    line-height: 1.2;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 11 7'%3E%3Cpath d='M5.594,6.557c.208-.023.403-.114.554-.258l4.185-3.922c.216-.191.35-.459.373-.747.026-.29-.058-.578-.235-.809-.168-.221-.423-.359-.7-.379-.274-.016-.541.087-.733.283l-3.537,3.311L1.964.724c-.192-.196-.459-.299-.733-.283-.277.02-.531.158-.7.378-.177.231-.261.52-.235.81.022.287.154.555.369.747l4.188,3.918c.197.191.467.287.741.263Z'/%3E%3C/svg%3E");
    background-size: 11px 7px;
    background-position: calc(100% - 15px) 50%;
    background-repeat: no-repeat;
}
input[type="submit"] {
    padding: 1.1em 1.8em;
}
option {
    text-overflow: ellipsis;
}
textarea {
	width: 100%;
}


.site-footer .wp-block-button__link {
    background: transparent;
    color: #fff;
    border: 1px solid #fff;
    display: inline-block;
}


a.button {
    display: inline-block;
}
/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */

.main-navigation {
    display: none;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--theme-navigation-color);
    padding: calc(var(--padding-side) + 20px) calc(var(--padding-side) + 50px) calc(var(--padding-side) + 20px) calc(var(--padding-side) + 20px);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
    border-radius: 32px;
}

.main-navigation ul {

    list-style: none;
    margin: 0;
    padding-left: 0;
}
#primary-menu {
    display: flex;
    flex-direction: column;
    gap: 0px;
}
.main-navigation .sub-menu {
    display: none;
    padding-left: 20px;
    margin-bottom: 10px;
}
.main-navigation li {
	position: relative;
}

.main-navigation a {
    display: inline-block;
    text-decoration: none;
    padding: 5px 5px;
}
.menu-toggle {
    position: relative;
}

.sub-menu-toggle {
    
    font-weight: 500;
    
    background: transparent;
    border: none;
    position: relative;
    color: var(--theme-text-color);
    border-radius: 0 !important;
}
.sub-menu-toggle:not(.button) {
    font-size: 1.0rem !important;
}
/*
.sub-menu-toggle:after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transition: all .2s;
    transform: rotate(135deg);
    margin-top: -5px;
}
.sub-menu-toggle[aria-expanded="true"]:after {
    transform: rotate(-45deg);
    margin-top: 5px;
}
*/
.menu-toggle .hamburger-icon span {
    position: absolute;
    width: 24px;
    height: 3px;
    background: var(--theme-link-color);
    border-radius: 2px;
    display: block;
    left: calc(50% - 12px);
    transition: all .2s;
}

.menu-toggle .hamburger-icon span:nth-child(2) {
    top: calc(50% - 1px);
}
.menu-toggle .hamburger-icon span:nth-child(1) {
    top: calc(50% - 10px);
}
.menu-toggle .hamburger-icon span:nth-child(3) {
    top: calc(50% + 8px);
}
.menu-toggled .menu-toggle .hamburger-icon span:nth-child(2) {
    width: 0;
    opacity: 0;
    left: 50%;
}
.menu-toggled .menu-toggle .hamburger-icon span:nth-child(1) {
    transform: rotate(135deg);
    width: 26px;
    top: calc(50%);
    left: calc(50% - 12px);
}
.menu-toggled .menu-toggle .hamburger-icon span:nth-child(3) {
    transform: rotate(-135deg);
    width: 26px;
    top: calc(50%);
    left: calc(50% - 12px);
}
/*
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}
*/

.header-button,
.header-button[type="submit"] {
    display: block;
    width: 40px;
    min-width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    border-radius: 0;
    text-indent: -9999em;
    padding: 0;
    border: none;
}



.site-main,
.site-footer,
.archive .page-header,
.blog .page-header,
.related {
    padding-left: var(--padding-side);
    padding-right: var(--padding-side);

}
.site-main > *,
.site-footer > *,
.archive .page-header > *,
.blog .page-header > *,
.related > * {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.error404 .site-main {
    text-align: center;
}
.single-post .site-main .entry-header,
.single-post .site-main nav  {
    max-width: 800px;
    margin: 20px auto;
}
.single-post .site-main article .entry-content > *,
.single-post .site-main .entry-footer {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.single-post .site-main > nav {
    
}

.single .site-main article {
    margin-bottom: 8vw;
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
    margin-top: clamp(25px, 4vw, 40px);
    margin-bottom: clamp(25px, 4vw, 40px);
    max-width: 800px;
    
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
    display: flex;
    gap: 10%;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    flex: 1 0 45%;
    text-wrap: balance;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    text-align: end;
    flex: 1 0 45%;
    text-wrap: balance;
}
.nav-links a {
    text-decoration: none;
    color: var(--theme-text-color);
}
.nav-links .nav-title {
    font-weight: 700;
    display: inline-block;
    margin-top: 20px;
}
.post-navigation .nav-subtitle {
    display: block;
}
.site-header {
    
    background: #fff;
    position: sticky;
    top: 12px;
    transition: top .4s;
    z-index: 20;
    margin: 12px auto 14px auto;
    width: calc(100% - 40px); 
    border-radius: 30px;
    box-shadow: 0 0 15px #4500912a;
    max-width: 1400px;
    padding-right: 0;
}
.site-header-wrapper {
    width: calc(100% - 30px);
    max-width: 1500px;
    margin: 0 auto;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.site-header + *  {
    margin-top: -1px;
}
.site-header-actions {
    display: flex;
    gap: 10px;
}
.site-header,
.site-header a {
    color: var(--theme-background-color);
}
.site-branding {
    display: flex;
    justify-content: center;
    min-height: 64px;
}
.site-branding img {
    max-width: 150px;
}
.hide-navigation .site-header {
    top: -100% !important;
}


.mega-menu-wrap,
.mega-menu,
.mega-menu > .mega-menu-item {
    position: initial !important;
}
#desktop-mega-menu > li {
    display: none;
}
.menu-text {
    padding: 10px 1vw;
    display: inline-block;
}
#primary-menu li[data-depth="1"] .sub-menu-toggle {
    display: none;
}
#primary-menu li[data-depth="1"] ul {
    display: block;
}

#primary-menu p,
#primary-menu li[data-depth="1"] span.menu-text {
    padding: 0;
    color: #887E95;
    margin: 0 0 5px 0;
}
#primary-menu li[data-depth="0"] > .menu-text {
    font-size: 1.1rem;
}
.main-navigation figure {
    margin: 0;
}
.main-navigation a:has(> figure) {
    display: flex;
    gap: 10px;
    align-items: center;
}
.main-navigation li.button {
    margin-top: 20px;
}
/* Mobile menu breakpoint */
@media screen and (min-width: 1024px) {
    
    .site-header .button > .sub-menu-toggle {
        padding: 8px;
        margin-bottom: 0;
    }
    .main-navigation li.button {
        margin: 0;
    }
    .menu-item.open > .menu-text {
        color: var(--theme-link-color);
    }
    .site-header {
        position: fixed;
        left: 50%;
        transform: translatex(-50%);
    }
    .site-header + * {
        margin-top: 90px;
    }
    .site-header-wrapper {
        gap: 4vw;
        width: 100%;
    }
    .site-header-actions {
        display: none;
    }
    .main-navigation {
        width: 100%;
        margin: 0 auto 0 0;
        display: block !important;
        position: initial;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }
    .menu-toggle,
    .sub-menu-toggle {
        display: none;
    }

    .main-navigation ul {
        display: flex;
    }
    #primary-menu {
        flex-direction: row;
        gap: 0;
        align-items: center;
    }

    .main-navigation .sub-menu {
        display: block;
        
        position: absolute;
        top: 100%;
        left: -999em;
        z-index: 99999;
        
        opacity: 0;
        transform: translateY(-20px);
        transition: opacity 0.15s linear, transform 0.15s linear, left 0s 0.15s;
        flex-direction: column;
        padding: 20px 10px 10px 10px !important;
        margin-bottom: 0;
    }
    .main-navigation ul.menu > li:last-child  .sub-menu {
        left: auto;
        right: -999em;
        transition: opacity 0.15s linear, transform 0.15s linear, right 0s 0.15s ;
    }

    .main-navigation .sub-menu:before {
        content: "";
        position: absolute;
        background: var(--theme-navigation-color);
        left: 0;
        width: 100%;
        bottom: 0;
        top: 10px;
        border-radius: 20px;
        box-shadow: 0 0 15px #4500912a;
    }

    .main-navigation ul ul .sub-menu {
        left: -999em;
        top: 15px;  
    }
    
    .main-navigation ul.menu > li:not(.mega) ul li:hover > ul,
    .main-navigation ul.menu > li:not(.mega) ul li:focus-within > ul {
        display: block;
        left: 100%;
            
    }

    .main-navigation .sub-menu a {
        width: 200px;
        padding: 10px;
        line-height: 1.1;
    }


    .main-navigation ul li:not(.mega):hover > .sub-menu,
    .main-navigation ul li:not(.mega):focus-within > .sub-menu {
        left: 0;
        transform: translateY(0);
        opacity: 1;
        transition: opacity 0.15s linear, transform 0.15s linear;
        
    }
    
    .main-navigation ul.menu > li:not(.mega):last-child:hover > .sub-menu,
    .main-navigation ul.menu > li:not(.mega):last-child:focus-within > .sub-menu {
        left: auto;
        right: 0;
        transition: opacity 0.15s linear, transform 0.15s linear;
        
    }
    
    .main-navigation ul.menu > li.mega .sub-menu {
        display: none !important;
        user-select: none !important;
    }
    .main-navigation ul.menu > li.mega .sub-menu * {
        user-select: none !important;
    }
    .main-navigation ul.menu > li > .menu-text {
        min-height: 64px;
        display: flex;
        align-items: center;
        cursor: pointer;
        text-align: center;
        
    }
    .site-header .button > a {
        padding: 8px;
    }
    .site-header .button > a span {
        padding: 10px 20px;
        min-height: 48px;
        display: flex;
        align-items: center;
    }

    #wpadminbar {
        position: sticky;

    }
    html {
        margin-top: 0 !important;
    }
    .admin-bar .site-header {
        top: 32px;
    }
    /*
    .site-header:has(.has-megamenu:hover),
    .site-header:has(.has-megamenu:focus),
    .site-header:has(.has-megamenu:focus-within) {
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
    }
    
    .main-navigation .menu > li:has(.sub-menu.mega) {
        position: initial;
    }
    .main-navigation .sub-menu.mega {
        padding: var(--padding-side);
        border-radius: 0 0 30px 30px;
        border-top: 1px solid #F2EFFF;
        width: 100%;
        transform: none;
    }
    */
    .main-navigation figure {
        margin: 0 0 5px 0;
    }
    .main-navigation a:has(> figure) {
        display: block;
    }
    .main-navigation ul.sub-menu.horizontal {
        display: flex;
        flex-direction: row;
    }
    .main-navigation ul.sub-menu.horizontal > li > a {
        max-width: 150px;
        font-size: 1.3rem;
    }
    .main-navigation li.button {
        flex-grow: 2;
        justify-items: flex-end;
    }

    .main-navigation li.button > .menu-text {
        min-height: 44px;
    }
    .site-branding {
        width: calc(clamp(140px, 16vw, 250px) + 15px);
        min-width: calc(clamp(140px, 16vw, 250px) + 15px);
        padding-left: 20px;
        justify-content: flex-start;
    }
    #desktop-mega-menu,
    #desktop-mega-menu ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    #desktop-mega-menu > li {
        
        max-height: 0;
        opacity: 0;
        transition: opacity .1s;
       
        display: block;
        overflow: hidden;

    }
    #desktop-mega-menu {
        max-height: 0;
        transition: all .3s;

        overflow: hidden;
        position: relative;
    }
    #desktop-mega-menu > li.open {
        opacity: 1;
        max-height: 350px;
        
        z-index: 10;
    }
    #desktop-mega-menu > li:not(.open),
    #desktop-mega-menu > li:not(.open) * {
        user-select: none !important;
        pointer-events: none;
    }
    #desktop-mega-menu.open {
        max-height: 350px;
        transition: all .3s;

    }
    #desktop-mega-menu:not(.open) * {
        user-select: none !important;
    }
    #desktop-mega-menu:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        display: block;
        width: 100%;
        height: 0;
        border-top: 1px solid #F2EFFF;
    }
    
    #desktop-mega-menu > li > ul {
        padding: 30px 30px;
        
    }
    #desktop-mega-menu .sub-menu {
        display: flex;
        gap: 4vw;
        
    }
    #desktop-mega-menu .menu-text {
        padding: 1px;
        display: inline-block;
    }
    #desktop-mega-menu .menu-html {
        width: clamp(140px, 16vw, 250px);
        min-width: clamp(140px, 16vw, 250px);    
    }
    #desktop-mega-menu .menu-description,
    #desktop-mega-menu span.menu-text {
        color: #887E95;
    }
    #desktop-mega-menu a {
        text-decoration: none;
    }
    #desktop-mega-menu .menu-description {
        max-width: 220px;
        margin-top: 5px;
        font-size: 1.0rem;
    }
    #desktop-mega-menu .sub-menu[data-depth="1"] {
        display: block;
        gap: 20px;
    }
    #desktop-mega-menu .menu-item[data-depth="1"] {
        flex-basis: 22%;
    }
    #desktop-mega-menu .sub-menu[data-depth="0"]:has(> .menu-item:nth-child(4)) .menu-item[data-depth="1"] {
        flex-basis: 18%;
    }
    #desktop-mega-menu .sub-menu[data-depth="0"]:has(> .menu-item:nth-child(5)) .menu-item[data-depth="1"] {
        flex-basis: 14%;
    }
    #desktop-mega-menu .sub-menu[data-depth="0"] > .menu-item[data-depth="1"]:last-child {
        flex-grow: 2;
    }
    #desktop-mega-menu .sub-menu[data-depth="0"]:not(:has(.sub-menu[data-depth="1"])) .menu-text,
    #desktop-mega-menu .sub-menu[data-depth="1"]:not(:has(> .menu-item:nth-child(3))) .menu-text {
        font-size: 1.25rem;
    }

}
@media screen and (min-width: 1200px) {
    #primary-menu {
        gap: 1vw;
    }
}
.site-main {
    min-height: calc(100vh - 100px);
    padding-bottom: calc(4vw + 4vh);
    padding-top: calc(2vw + 2vh);
}
.blog .site-main,
.archive .site-main {
    padding-top: 0px;
}
.single-device .site-main {
    padding-top: 10px;
}
.related {
    padding-bottom: calc(4vw + 4vh);
    padding-top: calc(4vw + 4vh);
}
.related hr {
    margin-bottom: calc(2vw + 2vh);
    border-top: 1px solid var(--theme-secondary-color);
    background: transparent;
    width: 30%;
}
.archive .page-header,
.blog .page-header {
    padding-bottom: calc(2vw + 2vh);
    padding-top: calc(4vw + 4vh);
    

    text-align: center;
}
.site-footer {
    padding-top: 4vw;
    padding-bottom: clamp(50px, 7vw, 80px);
    background-color: var(--theme-text-color);
    margin-top: clamp(50px, 7vw, 80px);
}
.site-footer .wp-block-heading,
.site-footer .widget-title {
    text-align: left;
    font-size: 1.0rem;
    color: #fff;
}
.site-footer .wp-block-social-links svg path {
    fill: #fff;
}
.site-footer .menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-branding {
    margin: 25px auto;
}
.footer-branding img {
    width: 50vw;
    max-width: 180px;
}
.site-footer,
.site-footer a {
    color: #988EA5;
}
.footer-columns {
    display: flex;
    
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}
.footer-columns section {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.site-info {
    padding-top: 7vw;

    text-align: center;
}

@media screen and (min-width: 1024px) {
    .footer-columns {
        flex-direction: row;
        gap: 2vw;
        justify-content: space-between;
    }
    .footer-columns > * {
        min-width: 15%;
    }
    .single-device .site-main {
        padding-top: 0px;
    }
}
/* Posts and pages
--------------------------------------------- */
 .search .site-main {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.search .site-main .search-form {
    margin-bottom: 4vw;
    display: flex;
    gap: 20px;
}
.search h2 {
    font-size: clamp(1.5rem, 1.0rem + 3vw, 2.0rem);
}
.search .site-main .search-form label {
    flex-basis: 80%;
}
.search .site-main .search-form .search-field {
    width: 100%;
    padding: 15px 20px;
}
.search .site-main .search-form .search-submit {
    flex-basis: 20%;
    padding: 15px;
}
.sticky {
	display: block;
}



.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}
.single .entry-header {
    /*
    padding-top: clamp(30px, 5vw, 50px);
    */
    margin-bottom: clamp(30px, 5vw, 50px);
    text-align: left;
}
.single .entry-header.brand {
    padding-top: clamp(30px, 5vw, 50px);
}
.single .post-thumbnail {
    border-radius: var(--element-border-radius);
    overflow: hidden;
    margin-top: 3rem;
    margin-bottom: 3rem;
}
.page .post-thumbnail {
    border-radius: var(--element-border-radius);
    overflow: hidden;
    margin-bottom: 3rem;
}
.post-thumbnail * {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.single .post-thumbnail * {
    display: block;
    
}
.single .categories {
    display: flex;
    gap: 5px;
    
}
.single-device .entry-header.device {
    padding-top: 0;
}
.single .entry-header h1 {
    margin-top: 15px;
    margin-bottom: 15px;
    text-align: left;
}
.single-device .entry-header,
.single-device .entry-header h1 {

    text-align: center;
}
.entry-footer {
    display: flex;
    gap: 10px;
    margin-top: clamp(30px, 5vw, 50px);
}
.entry-footer a {
    background: var(--theme-text-color);
    padding: 8px 20px;
    border-radius: 22px;
    color: var(--theme-background-color);
    text-decoration: none;
}
.post-excerpt {
    margin-bottom: 0;
    color: #9F50F7;
    font-size: 1.3rem;
}
.entry-header-content {
    display: flex;
    gap: 30px;
    flex-direction: column;
}
.entry-meta {
    display: flex;
    gap: 5px;
}
.entry-meta .tags a {
    background: #F2EFFF;
    text-decoration: none;
    border-radius: 20px;
    padding: 8px 16px;
    display: inline-block;
    color: var(--theme-text-color);
    text-align: center;
}
.entry-meta .tags a:before {
    content: "#";
}
.entry-meta .categories a {
    background: #F2EFFF;
    text-decoration: none;
    border-radius: 20px;
    padding: 8px 16px;
    display: inline-block;
    color: var(--theme-text-color);
    text-align: center;
}
@media screen and (min-width: 768px) { 
    .single-device .entry-header.device h1 {
        /* text-align: left; */
        text-wrap: balance;
    }
}
@media screen and (min-width: 1024px) {
    .single .entry-header-content:has(.post-excerpt) .categories {
        flex-direction: column;
        align-items: flex-end;

    }
    .entry-header-content {
        flex-direction: row;
        justify-content: space-between;
        gap: 40px;
        align-items: flex-end;
    }
}
/* Widgets
--------------------------------------------- */
.widget {
    
}

.widget select {
    max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
    display: inline-block;
    padding: 22px 10px;
}
.custom-logo {
    display: block;
    width: 100%;
    max-width: 200px;
}
/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */

.wp-block-gallery figure {
    flex-grow: 1;
}
.site-info .wp-block-gallery figure {
    width: auto !important;
    margin: auto !important;
}
.wp-block-gallery figure img {
    display: block;
    margin: auto;
}
.wp-block-gallery figure a {
    display: block;
}
.site-footer .wp-block-image img {
    border-radius: 0;
    min-height: 20px;
}
.gallery {
    margin-bottom: 1.5em;
    display: grid;
    gap: 10px;
        
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}



/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* 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;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}


.post-grid {
    display: grid;
    gap: clamp(12px, 3vw, 24px);
    grid-template-columns: 1fr;
    text-align: left;
}
.post-grid article {
    border-radius: var(--element-border-radius);
    background: #FAF8FF;
    overflow: hidden;
}
.post-grid a {
    text-decoration: none;
    display: block;
    color: inherit;
}
.post-grid-thumb {
    height: 50vw;
    position: relative;

    overflow: hidden;
    background: rgba(0, 0, 0, 0.1);
}
.post-grid-content {
    padding: 14px 22px 22px 22px;
}
.post-grid .wp-post-image {
    height: 100%;
    width: 100%;
    overflow: hidden;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    
}
.post-grid .grid-content {
    padding-top: 0.5rem;
}
.post-grid .entry-title {
    font-size: clamp(2.0rem, 1.0rem + 2vw, 2.5rem)
}
.post-grid .entry-title, .post-grid p {
    margin-bottom: 0.5rem;
    margin-top: 0.7rem;
}
.post-grid .entry-title {
    font-size: 1.25rem;
    font-weight: normal;
    text-align: left;
}
@media screen and (min-width: 768px) {
    .post-grid {
        grid-template-columns: 1fr 1fr;
    }
    .post-grid-thumb {
        height: auto;
        aspect-ratio: 3/2;
    }
    .post-grid[data-count="3"] article:nth-child(3) {
        display: none;
    }
}
@media screen and (min-width: 1024px) {
    .post-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .post-grid[data-count="3"] article:nth-child(3) {
        display: block;
    }
}



.pagination {
    margin-top: 2vw;
    margin-bottom: 2vw;
}
.pagination .nav-links {
    display: flex;
    gap: 5px;
    justify-content: center;
}
.pagination .nav-links a,
.pagination .nav-links .current {
    display: inline-block;
    padding: 0.2em 0.5em;
    text-decoration: none;
}
form .elementor-field-textual.elementor-size-xs {
    padding: 8px;
}
form .elementor-field-textual.elementor-size-sm {
    padding: 11px;
}
form .elementor-field-textual.elementor-size-md {
    padding: 14px;
}
form .elementor-field-textual.elementor-size-lg {
    padding: 17px;
}
form .elementor-field-textual.elementor-size-xl {
    padding: 21px;
}
body .elementor-button.elementor-size-xs {
    padding: 8px 12px;
}
body .elementor-button.elementor-size-sm {
    padding: 11px 15px;
}
body .elementor-button.elementor-size-md {
    padding: 14px 20px;
}
body .elementor-button.elementor-size-lg {
    padding: 17px 22px;
}
body .elementor-button.elementor-size-xl {
    padding: 21px 28px;
}
body .elementor-button {
    background-color: var( --e-global-color-accent );
}

.elementor-heading-title,
.elementor-icon-box-wrapper {
    text-wrap: balance;
}

.service-primary {
    width: 100%;
    min-width: 50%;
    margin: 0 auto;
}

.service-primary .service-grid {
    display: flex;
    flex-direction: column;
    gap: clamp(12px, 1.8vw, 24px);
    margin: 20px auto clamp(30px, 5vw, 50px) auto;
    justify-content: center;

    flex-wrap: wrap;
}
.service-primary .service-grid h2 {
    flex-basis: 100%;
    text-align: left;
    font-size: 1.2rem;
    font-weight: normal;
    margin-bottom: 0;
}
.service-primary .service {
    background: var(--theme-primary-color);
    border-radius: var(--element-border-radius);
    padding: clamp(30px, 6vw, 60px) clamp(20px, 3vw, 30px);
    text-align: center;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    width: 100%;

    flex-grow: 1;
}

.service-secondary .service-grid {
    display: flex;
    gap: 12px clamp(12px, 1.8vw, 24px);
    justify-content: center;
    flex-wrap: wrap;
}
.service-secondary h2, 
.service-secondary p {
    text-align: center;
}
.service-secondary .service {
    background: var(--theme-primary-color);
    border-radius: var(--element-border-radius);
    padding: 14px;
    text-align: left;
    overflow: hidden;
    display: flex;
    align-items: center;
    text-wrap: balance;
    flex-basis: 100%;
}
.service-pricetag {
    display: block;
    font-size: clamp(2.0rem, 1.0rem + 3vw, 3.0rem);
    font-weight: 500;
}
.device-content {
    margin: clamp(40px, 6vw, 80px) auto;
    max-width: 1000px;
}
@media screen and (min-width: 600px) {

}
@media screen and (min-width: 768px) {
    .service-primary .service-grid {
        flex-direction: row;
    }
    .service-primary .service {
        flex-basis: 31%;
        max-width: 600px;
    }
    .service-primary .service-grid[data-count="1"] {
        max-width: 50%;
    }
    .service-primary .service-grid[data-count="2"] {
        max-width: 75%;
    }
    .service-secondary .service {
        /* grid-template-columns: repeat(2, minmax(0, 1fr)); */
        flex-basis: calc(50% - clamp(12px, 1.8vw, 24px));
    }
}
@media screen and (min-width: 1024px) {
    .service-secondary .service {
        /* grid-template-columns: repeat(3, minmax(0, 1fr)); */
        flex-basis: calc(33.3% - clamp(12px, 1.8vw, 24px));
    }
    
}
#page .availability {
    position: relative;
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.1;
}
#page .availability:before {
    content: "";
    display: inline-block;
    height: 13px;
    width: 13px;
    min-width: 13px;
    max-width: 13px;
    border-radius: 50%;
    margin-top: 1px;
}
#page .availability[data-availability="1"]:before {
    background: #69D894;
}
#page .availability[data-availability="2"]:before {
    background: #F2CC4E;
}
#page .availability[data-availability="3"]:before {
    background: #69D894;
}

.device-model-header {
    display: flex;
    flex-direction: column;
    gap: 0px;
    margin-bottom: clamp(50px, 7vw, 80px);
}
.device-model-header .spacer {
    display: none;
}
.device-title-header > div {
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: center;
    align-items: center;
}
.device-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 25px auto;
}
.device-form select {
    width: 100%;
    
}
.service-booking {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
    margin-bottom: clamp(50px, 7vw, 80px);
    flex-direction: column;
}
@media screen and (min-width: 768px) {
    .device-model-header {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 30px;
    }

    .device-model-header .device-form {
        
    }
    .device-title-header > div {
        flex-direction: row;
    }
    .device-title-header .availability {
        margin-top: 10px;
    }
    .device-form {
        flex-direction: row;
        flex-wrap: nowrap;
        flex-grow: 2;
        gap: 16px;
    }
    .device-form select {
        max-width: 300px;
    }
    .service-booking {
        flex-direction: row;
    }
}
@media screen and (min-width: 1200px) {
    .device-model-header .spacer {
        display: block;
        width: 50vw;
        max-width: 180px;
    }
}
.entry-header.brand #brand-select {
    display: none;
}
.entry-header.device .device-form input[type="submit"] {
    background: #000;
}
.brand-logo {
    width: 50vw;
    max-width: 180px;
    height: auto;
    max-height: 55px;
    object-position: left;
    object-fit: contain;
}
.device-image {
    mix-blend-mode: multiply;
    height: 100px;
}
.device-title-header h1 {
    max-width: 700px;
    text-align: center;

}

.excerpt {
    margin-bottom: 40px;

}

[data-elementor-type="wp-page"] > .elementor-element:first-child {
    padding-top: 10px;
}
[data-elementor-type="wp-post"] > .elementor-element:first-child > .e-con-inner:has(.elementor-widget-custom-hero),
[data-elementor-type="wp-page"] > .elementor-element:first-child > .e-con-inner:has(.elementor-widget-custom-hero) {
    padding-top: 0 !important;
}
.blog-link {
    color: var(--theme-text-color) !important;
    margin-bottom: clamp(20px, 4vw, 35px);
    display: inline-block;
}

.blog-link:before {
    width: 12px;
    height: 10px;
    display: inline-block;
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 12 9.174'%3E%3Cpath fill='%23191420' d='M.266,5.216l3.7,3.7c.347.341.903.341,1.25,0,.341-.347.341-.903,0-1.25l-2.185-2.2h8.085c.485.003.881-.389.884-.874,0-.003,0-.007,0-.01.003-.485-.389-.881-.874-.884-.003,0-.007,0-.01,0H3.032l2.185-2.183c.341-.347.341-.903,0-1.25C5.05.096,4.823,0,4.585,0c-.238,0-.465.096-.632.265L.265,3.953c-.168.167-.263.395-.265.632-.004.239.092.468.265.632h0Z'/%3E%3C/svg%3E");
    margin-right: 5px;
}
.link-arrow {
    display: inline-block;
    width: 7px;
    height: 1.125rem;
    padding-left: 8px;
}
.link-arrow:after {
    display: inline-block;
    width: 7px;
    height: 1.125rem;
    
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 6.118 11.37'%3E%3Cpath d='M6.114,5.583c-.021-.223-.112-.435-.258-.605L1.939.408C1.754.179,1.485.035,1.192.008c-.293-.027-.585.066-.809.257C.159.457.022.731.004,1.025c-.018.294.084.583.283.8l3.312,3.863L.287,9.551c-.199.217-.301.506-.283.8.018.294.154.568.378.76.224.191.516.284.81.257.293-.027.562-.171.747-.4l3.917-4.57c.193-.225.287-.52.258-.815Z'/%3E%3C/svg%3E");
}




/* Elfsight */

.es-reviews-images-container {
    display: none !important;
}




/* Forminator */

.forminator-label {
    font-size: 1.0rem !important;
}
.forminator-button {
    font-size: 1.0rem !important;
    font-weight: 600 !important;
    padding: 0.8em calc(1vw + 1.0em) !important;
    
}
.forminator-button:hover,
.forminator-button:focus {
    box-shadow: none !important;
}
.forminator-repeater-field {
    border-radius: 0 !important;
    padding: 20px 0 20px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.forminator-row h3 {
    margin-bottom: 0;
    margin-top: 30px;
}
.forminator-label {
    font-weight: 500 !important;
}
.forminator-checkbox-box,
input:checked + .forminator-checkbox-box {
    background: transparent !important;
    border-color: var(--theme-text-color) !important;
    color: var(--theme-text-color) !important;
}
.forminator-error-message {
    padding: 5px 10px !important;
    line-height: 1.3 !important;
}
@media screen and (min-width: 783px) { 
    .forminator-field-address {
        display: flex;
        gap: 0 15px;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .forminator-field-address .forminator-row:has(#address-1-street_address),
    .forminator-field-address .forminator-row:has(#address-1-address_line) {
        flex-basis: calc(100% + 30px);
    }
    
    .forminator-field-address:has(#address-1-city, address-1-zip) .forminator-row:has(#address-1-city), 
    .forminator-field-address:has(#address-1-city, address-1-zip) .forminator-row:has(#address-1-zip) {
        width: calc(50% + 15px);
        margin-bottom: 0;
    }
   
}