/* GeneratePress Site CSS */ 
/* Painter*/
.comments-area {
    padding-inline: 20px;
}
#comments {
    max-width: 700px;
    margin-inline: auto;
}

input[type="search"].wp-block-search__input {
	border: 0;
} 
/* End GeneratePress Site CSS */


/* Site Header */
.site-header .inside-header.grid-container {
    max-width: 1280px;
}
.site-header .main-navigation .main-nav>ul {
    align-items: baseline;
}
.site-header .main-navigation .main-nav>ul>li>a {
    font-weight: 600;
    line-height: 1.22;
}
.site-header .main-navigation .main-nav>ul>li>a>span {
    font-size: .8em;
    font-weight: 400;
} 

body .site-header,
body #mobile-header {
    position: sticky;
    top: 0;
    backdrop-filter: blur(15px);
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 1001;
}
body #mobile-header .main-nav {
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease-out;
}
.mobile-menu-open  body #mobile-header .main-nav {
    opacity: 1;
    pointer-events: all;
}
#mobile-header.main-navigation .main-nav {
    padding-top: 3rem;
    padding-bottom: 3rem;
    backdrop-filter: blur(15px);
    background-color: var(--base-3);
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
    overflow: auto;
}
#mobile-header.main-navigation .main-nav ul li a {
    line-height: 1.22;
    margin-bottom: .75rem;
    font-size: 1.15rem;
    font-weight: 600;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--base-2);
}
#mobile-header.main-navigation .main-nav ul li ul a {
    margin-bottom: 0;
    border-bottom: 0;
    text-transform: none;
    font-weight: 400;
}
#mobile-header.main-navigation .main-nav ul li a span {
    font-size: 1rem;
    font-weight: 300;
}

.mobile-menu-open  body {
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}

.main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle {
    padding: 1rem;
    margin-top: -1.75rem;
}
.main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle svg {
    width: 1.5rem;
    height: 1.5rem;
}
.main-navigation.toggled .main-nav ul ul.toggled-on {
    margin-top: -0.75rem;
    margin-bottom: 0.75rem;
    padding-top: 0.75rem;
}
/* Gtranslate widget select */
.gt_selector {
    padding: 5px;
    font-size: 0.9rem;
    background: var(--base-3);
    border-color: var(--base-1);
    border-radius: 4px;
}


/* Gwolle Guestbook */
body .gwolle-gb .gb-entry {
    padding: 20px 0;
}
body .gwolle-gb .gb-entry .gb-author-info .gb-author-name {
    font-size: 1.5rem;
}

body .gwolle-gb .gb-entry .gb-author-info .gb-author-name,
body .gwolle-gb .gb-entry .gb-entry-content {
    padding-left: 0;
}

body .gwolle-gb .gb-entry .gb-entry-content {
    padding-top: 10px;
}



/* Posts */
a.gb-loop-item.post {
    text-decoration: none;
    font-style: normal;
}

body .wp-block-image figcaption {
    text-align: left;
    line-height: 1.25;
}



/* Custom "follow mouse" tilt animation */
.follow-mouse {
    perspective: 800px;
}
.follow-mouse > div {
    transform-style: preserve-3d;
    transition: transform 2s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 2s ease-out;
    position: relative;
}
body:hover .follow-mouse > div{
    transition: transform 0.2s cubic-bezier(0.23, 1, 0.32, 1), box-shadow .3s ease-out;
    box-shadow: 10px 30px 30px rgba(0,0,0,.15);
}
.follow-mouse > div::before {
    content: '';
    position: absolute;
    top: 2%;
    left: 2%;
    width: 96%;
    height: 96%;
    background-color: var(--accent);
    opacity: .3;
    filter: blur(55px);
    z-index: -1;
}
.follow-mouse > div::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Switched to a radial gradient that can follow the cursor */
    background: radial-gradient(circle 20vw at var(--shine-x, 50%) var(--shine-y, 50%), rgba(255, 255, 255, 0.15), transparent);
    z-index: 2;
    /* Opacity is now controlled by a CSS variable from JS */
    opacity: var(--shine-opacity, 0);
    transition: opacity 0.3s ease-out; /* Smooth fade in/out */
    pointer-events: none;
}
@media (max-width:768px) {
    .follow-mouse > div {
        transform: scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) !important;
        transition: none !important;
        box-shadow: none !important;
    }
    .follow-mouse > div::before,
    .follow-mouse > div::after {
        display: none;
    }
}



.organic-movement {
    animation: organicPan 28s ease-in-out infinite;
}
@keyframes organicPan {
    0% {
        transform: scale(1.15) translate(2%, -3%) rotate(1deg);
    }
    25% {
        transform: scale(1.35) translate(-3%, 2%) rotate(5deg);
    }
    50% {
        transform: scale(1.1) translate(4%, 4%);
    }
    75% {
        transform: scale(1.25) translate(-2%, -4%) rotate(-3deg);
    }
    100% {
        transform: scale(1.15) translate(2%, -3%) rotate(1deg);
    }
}




.gallery-carousel-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-block: 2rem;
    margin-bottom: -2rem;
}

.gallery-carousel-wrapper .wp-block-gallery {
    display: flex !important;
    width: max-content;
    gap: 15px !important;
}

.gallery-carousel-wrapper .wp-block-image {
    width: 360px !important;
    transition: transform .3s ease-out, box-shadow .3s ease-out;
    position: relative;
    flex-shrink: 0;
}
@media (max-width: 420px) {
    .gallery-carousel-wrapper .wp-block-image {
        width: 290px !important;
    }
}

body.single-post .inside-article  .gallery-carousel-wrapper {
    padding-block: 0;
    margin-bottom: 2rem;
    padding-block: 1rem;
}
body.single-post .inside-article .gallery-carousel-wrapper .wp-block-image {
    width: 320px !important;
}
@media (max-width: 420px) {
    body.single-post .inside-article .gallery-carousel-wrapper .wp-block-image {
        width: 290px !important;
    }
}


.gallery-carousel-wrapper .wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image img,
.gallery-carousel-wrapper .wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image {
    margin-bottom: 0;
    width: auto !important;
    height: 260px !important;
}

.gallery-carousel-wrapper .wp-block-image:hover {
    transform: scale(1.05) rotate(1deg);
    z-index: 2;
    box-shadow: 0 5px 10px rgba(0,0,0,.15);
}

.gallery-carousel-wrapper:hover .wp-block-gallery {
    animation-play-state: paused;
}




.article-loop-item {
    transition: outline .2s ease-out;
    outline-offset: 8px;
    outline: 5px solid transparent;
    will-change: outline;
}
.article-loop-item:hover {
    outline-offset: 2px;
    outline: 3px solid var(--accent);
} 


.typography img,
.typography figure {
    margin-bottom: 1.5em;
}
.typography figure img {
    margin-bottom: 0;
}
figcaption.wp-element-caption,
figcaption.gb-text {
    font-size: .9em;
    line-height: 1.4;
}


/* Dark style for tough moments page */
body.page-id-730,
body.page-id-730 .entry-content {
    background: black;
    color: var(--base);
}
body.page-id-730 .site-header, 
body.page-id-730 #mobile-header {
    background: rgba(0, 0, 0, 0.7);
}
body.page-id-730 .gb-element-9509e761 {
    background-color: var(--contrast);
}
body.page-id-730 .is-logo-image,
body.page-id-730 .header-image {
    filter: invert(1)
}

body.page-id-730 .entry-content a,
body.page-id-730 .main-navigation .menu-toggle, 
body.page-id-730 .main-navigation .menu-bar-items {
    color: var(--base);
}
@media (min-width:851px) {
    body.page-id-730 .main-navigation .main-nav>ul>li>a {
        color: var(--base);
    }
}