/* 
Theme Name: LAW Theme
Theme URI: https://redhost.gr
Description: LAW Theme
Author: RedHost
Author URI: https://redhost.gr
Template: hello-elementor
Version: 2.0.0
Text Domain: law
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

.hidden {
    display: none !important;
}
.sticky {
    position: fixed !important;
    top:0;
    left:0;
}
.no-scroll {
    overflow: hidden;
    height: 100dvh;
}

.header-expanded {
    position: fixed !important;
    top:0;
    bottom:0;
    inset: 0;
    height: 100dvh;
    width: 100%;
    z-index: 9999;
    overflow-y:scroll;
}
.header-expanded nav li {
    border-bottom: 2px solid #16443A !important;
}
.header-expanded nav li > a {
    padding: 15px !important;
}

.hero u {
    text-decoration-color: #DEF299;
}

.e-n-accordion-item {
    border: 2px solid #16443A !important;
    border-bottom: 0 !important;
}
.e-n-accordion-item:first-of-type {
    border-radius: 20px 20px 0 0 !important;
}
.e-n-accordion-item:last-of-type {
    border-bottom: 2px solid #16443A !important;
    border-radius: 0 0 20px 20px !important;
}
.e-n-accordion-item:last-of-type > div {
    border-radius: 0 0 16px 16px !important;
}
.e-n-accordion-item:first-of-type > summary {
    border-radius: 16px 16px 0 0 !important;
}
.e-n-accordion-item:last-of-type:hover > summary:not([aria-expanded="true"]) {
    border-radius: 0 0 16px 16px !important;
}
.e-n-accordion-item summary:hover,
.e-n-accordion-item summary[aria-expanded="true"] {
    background-color: #16443A !important;
}
.e-n-accordion-item summary:hover *,
.e-n-accordion-item summary[aria-expanded="true"] * {
    color: #DEF299 !important;
}
.e-n-accordion-item summary:hover .e-opened {
    display: flex !important;
}
.e-n-accordion-item summary:hover .e-closed {
    display: none !important;
}

@media (min-width: 768px) {
    a.member .info {
        height:100%;
    }
}
a.member:hover .info {
    background-color: #16443A !important;
}
a.member:hover h4,
a.member:hover h6 {
    color: #DEF299 !important;
}
@media (min-width: 768px) {
    a.member:hover .e-opened {
        display: flex !important;
    }
}
a.member:hover .e-closed {
    display: none !important;
}

@media (max-width: 1024px) {
    .scope-text {
        display: block !important;
    }
}

@media (max-width: 767px) {
    .frame-education,
    .frame-related {
        position: relative !important;
    }
}


.news-slider {
    width:100vw;
    position: relative;
    --container-width: 1240px;
}
.news-slider .xpro-post-grid-wrapper {
    margin-left: calc((100dvw - var(--container-width)) /2 );
}

@media (max-width: 1279px) {
    .news-slider {
        --container-width: calc(100dvw - 20px);
    }
}
.news-slider .cbp-wrapper,
.news-slider .cbp-wrapper-outer{
    width:100%;
}

/* make horizontal slider */
.news-slider .cbp-wrapper{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:30px;
    position:relative !important;
}

/* scroll container */
.news-slider .cbp {
    overflow-x:hidden;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    height:auto !important;
    max-height:none !important;
}

.news-slider .cbp .cbp-wrapper-outer {
    overflow: visible !important;
}

/* reset cubeportfolio positioning */
.news-slider .cbp-item {
    position:relative !important;
    left:auto !important;
    top:auto !important;
    flex:0 0 397px;
    scroll-snap-align:start;
    width:auto !important;
    transition: flex-basis 0.35s ease; /* animate expansion */
}
.news-slider .cbp-item:last-of-type {
    padding-right: 30px;
}
@media (max-width: 480px) {
    .news-slider .cbp-item {
        flex: 0 0 calc(100% - 10px);
    }
    .news-slider .cbp-item:last-of-type {
        padding-right: 0;
    }
}


/* scrollbar */
/*
.news-slider::after{
    content:"";
    position:absolute;
    bottom:-80px;
    left:50%;
    transform:translateX(-50%);
    width:100%;
    max-width:var(--container-width);
    height:1px;
    background:#16443A;
}

.news-slider::before{
    content:"";
    position:absolute;
    bottom:-80px;
    left: calc((100vw - min(100vw, var(--container-width))) / 2);
    width:120px;
    height:2px;
    background:#1f4a3a;
}
*/
#news .slider-thumb {
    position: absolute;
    top: -2px;
    left: 0;
    width: 120px;
    height: 2px;
    background-color: #1f4a3a;
    transform: translateX(0);
    cursor: grab;
    z-index: 5;
    transition: transform 0.15s ease-out;
}
#news .slider-thumb:active {
    cursor: grabbing;
    background-color: #19613f;
    transition: none;
}
body.no-select {
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

/* optional: prevent text selection while dragging */
body.no-select {
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

/* equal height cards */
.news-slider .xpro-post-grid-content{
    display:flex;
    flex-direction:column;
    height:100%;
    justify-content: flex-start;
}

.news-slider .xpro-post-grid-item{
    align-items:stretch;
    position: relative;
    overflow: visible;
}
/* green panel starts collapsed */
.news-slider .xpro-post-grid-item::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 64px;
    height: 100%;
    background: #1f4a3a;
    background-image: url('/wp-content/uploads/2026/03/arrow-03.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 33px 42px;
    border-radius: 0 16px 16px 0;
    transition: width 0.35s ease;
    z-index: 0;
}
@media (min-width: 768px) {
    .news-slider .xpro-post-grid-item::after {
        content: "";
        position: absolute;
        top: 0;
        left: calc(100% - 20px);
        width: 0;
        height: 100%;
        background: #1f4a3a;
        background-image: url('/wp-content/uploads/2026/03/arrow-03.svg');
        background-repeat: no-repeat;
        background-position: center;
        background-size: 50px 23px;
        border-radius: 0 16px 16px 0;
        transition: width 0.35s ease;
        z-index: 1;
    }

    .news-slider .xpro-post-grid-item:hover {
        margin-right: 100px !important;
    }

    .news-slider .xpro-post-grid-item:hover::after {
        width: 120px;
        cursor: pointer;
    }
}
@media (max-width: 767px) {
    .news-slider .xpro-post-grid-item > div {
        max-width: calc(100% - 64px);
    }
}