/*!
Theme Name: Resped
Theme URI: https://ideaz.co
Author: base Energia, mod by Ideaz
Author URI: https://www.ideaz.si
Description: Resped.
Version: 1.0
*/
/* contact form */
.wpcf7{margin:0;padding:0;} .wpcf7-response-output:not(:empty){margin:2em .5em 1em;padding:.2em 1em} .wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);height:1px;width:1px;margin:0;padding:0;border:0} .wpcf7-mail-sent-ok{border:2px solid #398f14} .wpcf7-mail-sent-ng{border:2px solid red} .wpcf7-spam-blocked{border:2px solid orange} .wpcf7-validation-errors{border:2px solid #f7e700} .wpcf7-form-control-wrap{position:relative; margin-bottom: 10px; display: block;} span.wpcf7-not-valid-tip{color:red;font-size:1em;display:block} .use-floating-validation-tip span.wpcf7-not-valid-tip{position:absolute;top:20%;left:20%;z-index:100;border:1px solid red;background:var(--white);padding:.2em .8em} span.wpcf7-list-item .wpcf7-list-item-label{margin-left:.5em; display: inline-block; vertical-align: middle} .wpcf7-display-none{display:none} .wpcf7 img.ajax-loader{border:none;vertical-align:middle;margin-left:4px} .wpcf7 div.ajax-error{display:none}
.wpcf-submit-wrap {padding-bottom: 50px;}
.wpcf7 .ajax-loader {position: absolute;}
/* contact form */

/* gallery */
.wp-block.wp-block-spacer .components-resizable-box__container {display: none !important;}

.wp-block.wp-block-spacer {border: 1px dashed var(--lighter-gray); background: var(--very-light-gray);}

.blocks-gallery-grid, .wp-block-gallery {list-style: none; display: flex; flex-wrap: wrap; padding: 0 7px; margin:0 -8px; text-align: center; gap: 0 !important;}
.blocks-gallery-item, .wp-block-gallery .wp-block-image {position:relative;flex: 0 0 100%; max-width:100%; width: 100% !important; padding: 0 8px; margin: 8px 0 !important; cursor: pointer;}
.blocks-gallery-item figure {height: 100%;}
.blocks-gallery-item img {max-width: 100%; height: auto;}
.wp-block-gallery.is-cropped .blocks-gallery-item a, .wp-block-gallery.is-cropped .wp-block-image a {height: 100%;flex: 1;-o-object-fit: cover; object-fit: cover;}
/* gallery */

/* misc */
body {font-size: 1.6rem; color: var(--gray); font-family: "Roboto", sans-serif;}

a {color: var(--dark-violet); text-decoration: none; transition: all 0.4s;}
a:hover, a:active, a:focus {color: var(--light-violet); text-decoration: none}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {font-family: "IBM Plex Sans", sans-serif; font-weight: 700; color: var(--dark-violet); margin-bottom: 15px;}
h1, .h1 {font-size: 5.0rem; line-height: 5.0rem; letter-spacing: -0.15rem;}
h2, .h2 {font-size: 3.5rem; line-height: 5.1rem;}
h3, .h3 {font-size: 1.9rem; line-height: 2.8rem; font-weight: 600;}
h4, .h4 {font-size: 1.6rem; line-height: 2.8rem;}

.has-small-font-size {font-size: 1rem;}
.has-normal-font-size {font-size: 1.4rem;}
.has-large-font-size {font-size: 2rem;}


.btn, .btn-primary, .button, input[type='submit'] {position: relative; display: inline-flex; justify-content: center; align-items: center; padding: 10px 25px; color: var(--white); background: var(--light-violet); font-size: 1.4rem; font-weight: 700; border-radius: 4px; transition: all 0.4s; border: 0; cursor: pointer;}
.btn:not(:disabled):hover, .btn:not(:disabled):active, .btn:not(:disabled):focus, .button:not(:disabled):hover, .button:not(:disabled):active, .button:not(:disabled):focus, input[type='submit']:not(:disabled):hover, input[type='submit']:not(:disabled):active, input[type='submit']:not(:disabled):focus {text-decoration: none; color: var(--white); background: var(--dark-violet);}
.btn::after {content: '\e902'; font-family: icon-font, sans-serif; margin-left: 20px; font-weight: normal; font-size: 20px;}
.btn:disabled, .button:disabled, .btn.disabled, .button.disabled, input[type='submit']:disabled, .btn:disabled:hover, .btn:disabled:active, .btn:disabled:focus, .button:disabled:hover, .button:disabled:active, .button:disabled:focus, .btn.disabled:hover, .btn.disabled:active, .btn.disabled:focus, .button.disabled:hover, .button.disabled:active, .button.disabled:focus {opacity: 0.5; cursor: not-allowed;}

.btn-alt, .btn-secondary {background: var(--light-blue)}
.btn-alt:not(:disabled):hover, .btn-alt:not(:disabled):active, .btn-alt:not(:disabled):focus, .btn-secondary:not(:disabled):hover, .btn-secondary:not(:disabled):active, .btn-secondary:not(:disabled):focus {background: var(--dark-blue);}

.btn-border {border: 2px solid var(--white); color: var(--white); background: transparent;}
.btn-border:not(:disabled):hover, .btn-border:not(:disabled):active, .btn-border:not(:disabled):focus {background: var(--white); color: var(--dark-violet);}

.btn-transparent {background: transparent; color: var(--dark-violet);}
.btn-transparent:hover, .btn-transparent:active, .btn-transparent:focus {background: var(--light-violet); color: var(--white);}

.btn-arrow-invert::after {content: none}
.btn-arrow-invert::before {content: '\e901'; font-family: icon-font, sans-serif; font-size: 20px; margin-right: 20px; font-weight: normal;}

.btn-no-arrow::after {content: none}

select, input[type='text'], input[type='email'], input[type='number'], input[type='search'], input[type='tel'], input[type='url'], input[type='password'], textarea, .select2 {width: 100%; border: 1px solid var(--lighter-gray); border-radius: 4px; background: transparent; color: var(--gray); font-size: 1.4rem; padding: 10px 20px; margin-bottom: 20px; transition: all 0.4s;}
select:hover, select:active, select:focus, input[type='text']:hover, input[type='text']:active, input[type='text']:focus, input[type='email']:hover, input[type='email']:active, input[type='email']:focus, input[type='number']:hover, input[type='number']:active, input[type='number']:focus, input[type='search']:hover, input[type='search']:active, input[type='search']:focus, input[type='tel']:hover, input[type='tel']:active, input[type='tel']:focus, input[type='url']:hover, input[type='url']:active, input[type='url']:focus, input[type='password']:hover, input[type='password']:active, input[type='password']:focus, textarea:hover, textarea:active, textarea:focus {border-color: var(--light-violet); color: var(--gray);}
input[type='text']::placeholder, input[type='email']::placeholder, input[type='number']::placeholder, input[type='search']::placeholder, input[type='tel']::placeholder, input[type='url']::placeholder, input[type='password']::placeholder, textarea::placeholder {color: var(--gray); opacity: 1;}
input[type='checkbox'], input[type='radio'] {border: 1px solid var(--lighter-gray); appearance: none; width: 20px; height: 20px; vertical-align: middle; -webkit-transition: all 0.4s; transition: all 0.4s; padding: 3px; margin-right: 3px;}
input[type='checkbox'] {border-radius: 2px;}
input[type='radio'] {border-radius: 50%;}
input[type='checkbox']:checked, input[type='radio']:checked {background: var(--gray); background-clip: content-box;}


.container-nopad, .container-nopad > .row > [class*="col-"] {padding: 0;}
.container-nopad > .row {margin: 0;}

ul.page-numbers {list-style: none; margin: 30px 0 0; padding: 0; display: flex; flex-wrap: nowrap; justify-content: center}
.page-numbers li {display: block; margin-right: 10px; text-align: center; vertical-align: middle;}
.page-numbers li:last-child {margin-right: 0}
.page-numbers a, .page-numbers .next, .page-numbers .prev, .page-numbers span {display: block; line-height: 48px; height: 50px; width: 50px; background: transparent; border: 2px solid rgba(75, 65, 109, 0.5); border-radius: 4px; color: var(--dark-violet); font-size: 2.0rem; font-weight: 700; text-align: center; transition: all 0.4s}
.page-numbers a:hover, .page-numbers a:active, .page-numbers a:focus, .page-numbers span:not(.dots) {border-color: var(--light-violet); background: var(--light-violet); color: var(--white);}

.single-post-navigation {display: flex; margin-top: 30px; margin-bottom: 30px;}
.single-post-navigation-next {margin-left: auto;}
/* misc */

/* header, footer */
#header {margin-top: 80px}
.upper-header {position: absolute; top: 0; left: 0; right: 0; background: var(--white); box-shadow: 0 0 5px #00000026; z-index: 9000}
.upper-header .container-fluid {max-width: 100%}

.col-header-logo {flex: 0 0 calc(100px + var(--bs-gutter-x))}
.col-header-icons {margin-left: auto; padding-right: 0;}
.col-header-menu-toggle-wrap {flex: 0 0 calc(22px + 0.5*var(--bs-gutter-x)); max-width: calc(22px + 0.5*var(--bs-gutter-x)); padding-left: 0;}

.header-icons {list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: flex-end;}
.header-icons li {margin-right: 15px;}
.header-icons li a {display: block; line-height: 1; font-size: 2.2rem;}

#header-menu-toggle {position: relative; z-index: 9003; display: inline-block; vertical-align: middle; width: 22px; height: 22px; outline: 0; border: 0; background: transparent; padding: 0;}
#header-menu-toggle::-moz-focus-inner { border: 0; }
.item-toggle-lines, .item-toggle-lines::before, .item-toggle-lines::after {position: absolute; right: 0; width: 22px; height: 2px; background: var(--dark-violet); line-height: 1; transition-property: transform, background; transition-duration: 0.15s, 0.15s; z-index: 9002}
.item-toggle-lines {top: 50%; transform: translateY(-50%); transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);}
.item-toggle-lines::after, .item-toggle-lines::before { display: block; content: "";}
.item-toggle-lines::before {top: -6px; transition: top 0.2s 0.12s ease, opacity 0.1s ease;}
.item-toggle-lines::after {bottom: -6px; transition: bottom 0.2s 0.12s ease, transform 0.2s cubic-bezier(0.55, 0.055, 0.675, 0.19);}
.header-menu-active #header-menu-toggle .item-toggle-lines { transform: rotate(45deg); transition-delay: 0.12s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); background: var(--light-violet);}
.header-menu-active #header-menu-toggle .item-toggle-lines::before {top: 0; opacity: 0; transition: top 0.2s ease, opacity 0.1s 0.12s ease;background: var(--light-violet)}
.header-menu-active #header-menu-toggle .item-toggle-lines::after {bottom: 0; transform: rotate(-90deg); transition: bottom 0.2s ease, transform 0.2s 0.12s;background:var(--light-violet)}
.header-menu {list-style: none; margin: 0; padding: 0;}
.header-menu li a {display: block; font-size: 1.7rem; letter-spacing: 0.02em; font-weight: 700; color: var(--dark-violet);}
.header-menu li a:hover, .header-menu li a:active, .header-menu li a:focus, .header-menu li.current-menu-item > a {color: var(--light-violet);}
.header-menu > .menu-item-has-children {position: relative;}
.header-menu > li > a {padding: 10px 25px 10px 0; white-space: nowrap;}

.middle-header {position: relative; }
.middle-header-image, .middle-header-image::before {position: absolute; top: 0; bottom: 0; left: 0; right: 0;}
.middle-header-image::before {content: ''; background: linear-gradient(180deg, #1B1A1A80 0%, var(--black) 100%); opacity: 0.55;}
.middle-header-image img {width: 100%; height: 100%; object-fit: cover;}
.middle-header-content {padding: 50px 0 0; font-size: 1.7rem; line-height: 2.9rem; font-weight: 700; color: var(--white);}
.middle-header-content p:last-child {margin: 0;}
.middle-header-content-has-image {padding: 50px 0; display: flex; align-items: center}
.middle-header-content-has-image h1 {color: var(--white);}

.lower-header {padding: 15px 0; margin: 0 0 50px;}
.lower-header.has-middle-header {border-bottom: 1px solid var(--lighter-gray);}
.lower-header:not(.has-middle-header) {padding: 35px 0;}
.breadcrumbs {font-size: 1.4rem;}
.breadcrumbs > span:not(:first-child) {margin-left: 5px;}
.breadcrumbs > span:not(:last-child) {margin-right: 5px;}

#footer {margin-top: 100px; overflow: hidden}

.upper-footer {position: relative; padding: 50px 0; background: linear-gradient(180deg, #9ac5e8b3 0%, var(--dark-violet) 82%); color: var(--white);}
.upper-footer::before {content: ''; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: url("img/form-bg.jpg") no-repeat left center; background-size: cover; z-index: -1;}
.upper-footer h2 {color: var(--white);}
.upper-footer a {color: var(--white); text-decoration: underline;}
.upper-footer a:hover, .upper-footer a:active, .upper-footer a:focus {color: var(--white); text-decoration: none;}
.upper-footer .contact-form-notice {margin-bottom: 30px;}
.upper-footer .wpcf7-form-control-wrap[data-name="your-email"]::before {color: var(--lighter-gray)}

.lower-footer {padding: 50px 0 30px; background: var(--dark); color: var(--very-light-gray)}
.lower-footer a {color: var(--gray);}
.lower-footer a:hover, .lower-footer a:active, .lower-footer a:focus {color: var(--light-violet)}
.lower-footer h4 {margin-bottom: 15px; color: inherit;}

.lower-footer-funding-wrap {margin-bottom: 50px;}
.footer-logo {max-width: 100px; margin-bottom: 30px;}
.footer-funding-text {margin-bottom: 30px;}

.lower-footer-menu-wrap {margin-bottom: 35px;}
.footer-menu {list-style: none; margin: 0; padding: 0;}
.footer-menu li {margin-bottom: 10px;}
.footer-menu li a:hover, .footer-menu li a:active, .footer-menu li a:focus, .footer-menu li.current-menu-item a {color: var(--light-violet);}
.footer-social-copyright {margin-top: 15px;}
.social-links {list-style: none; display: flex; margin: 0 calc(-0.5*var(--bs-gutter-x)) 30px; padding: 0;}
.social-links li {padding: 0 calc(0.5*var(--bs-gutter-x));}
.social-links li .icon {display: inline-block; width: 22px; height: 22px; line-height: 22px; margin-right: calc(0.5*var(--bs-gutter-x)); text-align: center; border-radius: 50%; background: var(--white); color: var(--dark); transition: 0.4s all;}
.social-links li a:hover .icon, .social-links li a:active .icon, .social-links li a:focus .icon {background: var(--light-violet);}
.copyright {margin: 0; font-size: 1.4rem;}

#scroll-top {position: fixed; z-index: 99; bottom: 15px; right: 15px; height: 50px; width: 50px; line-height: 50px; text-align: center; background: var(--light-violet); border-radius: 50%; color: var(--white); font-size: 1.6rem; opacity: 0; visibility: hidden; box-shadow: 0 3px 6px 0 #2537450d; transition: 0.4s all;}
#scroll-top:hover, #scroll-top:active, #scroll-top:focus {background: var(--dark-violet)}
.scroll-top-shown #scroll-top {opacity: 1; visibility: visible;}
/* header, footer */

/* front page */
#front-header {position: relative; min-height: calc(100vh - 80px)}
.front-header-image, .front-header-image::before {position: absolute; top: 0; bottom: 0; left: 0; right: 0;}
.front-header-image::before {content: ''; background: linear-gradient(180deg, #1B1A1A80 0%, var(--black) 100%); opacity: 0.55;}
.front-header-image img {width: 100%; height: 100%; object-fit: cover;}
.front-header-content {color: var(--white); padding: 50px 0; font-size: 1.7rem; line-height: 2.9rem; font-weight: 700; text-align: center;}
.front-header-content h1 {margin-bottom: 20px; color: var(--white); font-weight: 400}
.front-header-content h1 strong {color: var(--dark-violet)}
.front-header-link {margin-top: 30px;}

#front-news {padding: 50px 0; background: var(--very-light-gray)}
#front-news h2 {margin: 0 0 30px;}

#front-about {position: relative; overflow: hidden; background: var(--dark-violet); color: var(--white);}
#front-about h2 {color: var(--white);}
.front-about-image img {width: 100%; height: 100%; object-fit: cover;}
.front-about-content {position: relative; padding-top: 50px; padding-bottom: calc(15.70312vw + 60px);}
.front-about-content::after {content: ''; position: absolute; bottom: 30px; right: 0; padding-bottom: 15.70312%; background: url('img/bg-city.svg') no-repeat center; background-size: cover;}
.front-about-link {margin-top: 30px;}

.front-partners-intro {padding-top: 50px; padding-bottom: 50px;}

#front-partners {overflow: hidden;}
#front-partners-slider {padding: 0 0 50px;}
#front-partners-slider .swiper-pagination {bottom: 50px;}
.front-partners-link {margin-top: 30px;}
.front-partners-list {position: relative; }
.front-partners-list::before {content: ''; position: absolute; top: 0; left: -50vw; width: 150vw; height: 1px; background: var(--lighter-gray);}
.front-partners-list-partner {position: relative; padding-top: 30px; padding-bottom: 30px; width: fit-content;}
.front-partners-list-partner::before {content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--light-violet); opacity: 0; transition: 0.4s all;}
.front-partners-list-partner:hover::before, .front-partners-list-partner:active::before, .front-partners-list-partner:focus::before {opacity: 1}

@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-500px,0) scaleY(3)}60%{opacity:1;transform:translate3d(0,25px,0) scaleY(.9)}75%{transform:translate3d(0,-10px,0) scaleY(.95)}90%{transform:translate3d(0,5px,0) scaleY(.985)}to{transform:translateZ(0)}}
#front-partners-map {margin-right: calc(-1*var(--bs-container-gutter-x))}
#front-partners-map.map-loaded .imp-object-spot {animation: bounceInDown 1s ease-out forwards;}
#front-partners-map .imp-object-spot[data-title="Helsinki"] {animation-delay: 200ms}
#front-partners-map .imp-object-spot[data-title="Hradec Králové"] {animation-delay: 300ms}
#front-partners-map .imp-object-spot[data-title="Palermo"] {animation-delay: 100ms}
#front-partners-map .imp-object:not(.imp-object-spot), #front-partners-map .imp-object:not(.imp-object-spot) * {cursor: default;}

.home #footer {margin-top: 0;}
/* front page */

/* about */
.page-template-page-about #footer {margin-top: 0;}
#about-project {margin: 0 0 50px}
.about-project-item:not(:last-child) {margin-bottom: 50px;}
.about-project-item-title {margin: 30px 0;}
.about-project-item-image img {width: 100%; height: 100%; object-fit: cover; border-radius: 12px;}
.about-project-item-text p:first-child {font-size: 1.7rem; line-height: 2.7rem; color: var(--darker-gray)}
.about-project-item-text p {margin: 0 0 25px}
.about-project-item-text p:last-child {margin: 0}

#about-partners {position: relative; background: var(--dark-violet); padding: 50px 0 calc(15.70312vw + 30px); overflow: hidden}
#about-partners::after {content: ''; position: absolute; bottom: 30px; left: calc(-1*var(--bs-container-gutter-x)); width: 100vw; padding-bottom: 15.70312vw; background: url('img/bg-city.svg') no-repeat center; background-size: cover;}

#about-partners h2 {color: var(--white);}
.about-partners-intro {color: var(--white);}
.about-partners-list {margin-top: 30px;}
.about-partners-list-item {margin-bottom: 30px;}
.about-partners-list-partner {position: relative; height: 100%; padding: 30px; border-radius: 8px; background: var(--white); box-shadow: 0px 3px 15px 0 #25374514; overflow: hidden;}
.about-partners-list-partner::after {content: ''; height: 4px; position: absolute; bottom: 0; left: 40px; right: 0; border-radius: 0 0 8px 0; background: var(--light-blue)}
.about-partners-list-partner-logo {max-width: 160px; margin: 0 0 30px}
.about-partners-list-partner-name {padding: 0 0 30px; margin: 0 0 30px; border-bottom: 1px solid var(--lighter-gray);}
.about-partners-list-partner-link {margin-top: 30px;}
.about-partners-list-partner-more-text {display: none;}
/* about */

/* resources */
.resources-items-filter {list-style: none; display: flex; flex-wrap: wrap; margin: 0 calc(-0.5*var(--bs-gutter-x)) 20px; padding: 0; justify-content: center;}
.resources-items-filter li {margin-bottom: 15px; padding: 0 calc(0.5*var(--bs-gutter-x));}
.resources-items-filter li a {font-size: 1.9rem; font-weight: 700;}
.resources-items-filter li a.active {color: var(--light-violet);}
.resources-items-filter-tab:not(.active) {display: none;}

.resource-item-wrap {margin-bottom: var(--bs-gutter-x);}
.resource-item {height: 100%; padding: 30px; background: var(--white); border-radius: 8px; box-shadow: 0 5px 83px 0 #2828281c; text-align: center;}
.resource-item-image {margin: 0 0 20px;}
.resource-item-title {margin: 0 0 15px;}
.resource-item-description {margin: 0 0 25px;}
.resource-item-link {display: inline-flex; align-items: center; height: 32px; min-width: 32px; line-height: 32px; padding: 0 8px; font-size: 1.4rem; color: var(--white); background: var(--dark-violet); border-radius: 16px; transition: 0.4s all;}
.resource-item-link::before {content: '\e902'; font-family: icon-font, sans-serif; font-size: 1.6rem;}
.resource-item-link-text {display: inline-block; font-weight: 700; font-size: 0; opacity: 0; transition: 0.4s all;}
@-moz-document url-prefix() {
	.resource-item-link-text {margin-top: 2px;}
}
.resource-item:hover .resource-item-link-text, .resource-item:active .resource-item-link-text, .resource-item:focus .resource-item-link-text { font-size: inherit; opacity: 1; margin-left: 5px; margin-right: 10px;}
.resource-item-link:hover, .resource-item-link:active, .resource-item-link:focus {background: var(--light-violet); color: var(--white);}
/* resources */

/* single, category */
.blog-post-item {position: relative; margin-bottom: 30px; border-radius: 8px; box-shadow: 0 5px 60px 0 #25374521;}
.blog-post-item::after {content: ''; display: block; position: absolute; right: 0; bottom: 0; left: 40px; height: 10px; background: var(--lighter-gray); border-radius: 0 0 8px 0; transition: 0.4s all;}
.blog-post-item:focus-within::after {background: var(--light-blue);}
.blog-post-item-image {display: block; border-radius: 0 0 8px 0; overflow: hidden;}
.blog-post-item-image img {width: 100%; height: auto; object-fit: cover; transition: 0.4s all;}
.blog-post-item-image:hover img, .blog-post-item-image:active img, .blog-post-item-image:focus img {transform: scale(1.1);}
.blog-post-item-content {position: relative; padding: 30px;}
.blog-post-item-categories {position: absolute; top: 0; left: 35px; transform: translateY(-50%);}
.blog-post-item-date {color: var(--darker-gray); font-size: 1.3rem; margin: 0 0 30px}
.blog-post-item-excerpt {color: var(--gray); font-size: 1.5rem; margin-bottom: 20px;}
.blog-post-item-title {transition: 0.4s all;}
.blog-post-item-title:hover, .blog-post-item-title:active, .blog-post-item-title:focus {color: var(--light-violet);}

.post-list-item {position: relative; display: flex; padding: 20px 0;}
.post-list-item::before {content: ''; position: absolute; top: 0; bottom: 0; left: -20px; right: -20px; box-shadow: 0 5px 83px 0 #2828281c; visibility: hidden; opacity: 0; transition: 0.4s all; pointer-events: none;}
.post-list-item:focus-within::before, .post-list-item:has( :hover)::before  {visibility: visible; opacity: 1;}
.post-list-item-image {display: block; flex: 0 0 80px; max-width: 80px; margin-right: 20px;}
.post-list-item-image img {width: 80px; height: 80px; object-fit: cover; border-radius: 4px;}
.post-list-item-content {flex: 0 0 calc(100% - 100px); max-width: calc(100% - 100px);}
.post-list-item-date {color: var(--darker-gray); font-size: 1.3rem; margin: 0 0 5px}
.post-list-item-title {font-size: 1.6rem; font-weight: 700;}

.category-list {padding: 2px 10px; color: var(--white); border-radius: 6px; background: var(--light-violet);}
.category-list a {color: var(--white); font-size: 1.3rem; line-height: 2.4rem;}
.category-list a:hover, .category-list a:active, .category-list a:focus {text-decoration: underline;}

.single .lower-header {margin-bottom: 0;}
.single-post { box-shadow: 0 5px 83px 0 #2828281c}
.single-post-content-wrap {position: relative}
.single-post-meta {list-style: none; display: flex; align-items: center; height: 70px; width: calc(100% - 80px); margin: -70px 0 0; padding: 20px 40px; border-radius: 0 8px 0 0; background: var(--white); font-size: 1.3rem;}
.single-post-meta li:not(:last-child) {margin-right: 15px;}
.single-post-title, .single-post-the-content {padding: 0 15px;}
.single-post-title {margin: 10px 0 30px;}
.single-post-image {border-radius: 12px; overflow: hidden;}
.single-post-the-content {padding-bottom: 25px;}
.single-post-the-content *:not(:empty), .single-page-the-content *:not(:empty) {margin-bottom: 25px;}
.single-post-the-content *:last-child, .single-page-the-content *:last-child {margin-bottom: 0;}

.sidebar {position: sticky; top: 0;}
.sidebar-box-wrap {position: relative; padding: 30px; background: var(--very-light-gray); border-radius: 8px; overflow: hidden;}
.sidebar-box-wrap:not(:last-child) {margin-bottom: 40px; }
.sidebar-box-wrap::before {content: ""; display: block; position: absolute; z-index: 1; height: 4px; left: 0; right: 0; top: 0; background-color: var(--light-blue);}
/* single, category */

/* living labs */
.living-labs-item {position: relative; height: calc(100% - 30px); margin-bottom: 30px; border-radius: 8px; box-shadow: 0 5px 60px 0 #25374521;}
.living-labs-item::after {content: ''; display: block; position: absolute; right: 0; bottom: 0; left: 40px; height: 10px; background: var(--lighter-gray); border-radius: 0 0 8px 0; transition: 0.4s all;}
.living-labs-item:focus-within::after {background: var(--light-blue);}
.living-labs-item-image {display: block; border-radius: 0 0 8px 0; overflow: hidden;}
.living-labs-item-image img {width: 100%; height: auto; object-fit: cover; transition: 0.4s all;}
.living-labs-item-image:hover img, .living-labs-item-image:active img, .living-labs-item-image:focus img {transform: scale(1.1);}
.living-labs-item-content {position: relative; padding: 30px;}
.living-labs-item-excerpt {color: var(--gray); font-size: 1.5rem; margin-bottom: 20px;}
.living-labs-item-title {transition: 0.4s all;}
.living-labs-item-title:hover, .living-labs-item-title:active, .living-labs-item-title:focus {color: var(--light-violet);}

.single-living-lab-image {margin-bottom: 30px}
.single-living-lab-title {margin-bottom: 30px;}
.single-living-lab-partner {margin-bottom: 10px;}
/* living labs */

/* contact */
.footer-contact-form-wrap {padding: 30px; background: var(--white); border-radius: 12px;}
.footer-contact-form-wrap .wpcf7-wrap-send {display: flex; flex-wrap: wrap;}
.footer-contact-form-wrap .wpcf7-wrap-send .wpcf7-spinner {order: 12; margin: 5px 0 0;}
.footer-contact-form-wrap .wpcf7-wrap-send input[type="submit"], .footer-contact-form-wrap .wpcf7-wrap-send .btn {flex: 0 0 calc(50% - 0.5*var(--bs-gutter-x)); max-width: calc(50% - 0.5*var(--bs-gutter-x)); text-decoration: none}
.footer-contact-form-wrap .wpcf7-wrap-send .btn {margin-left: var(--bs-gutter-x);}
.contact-form-notice {font-size: 1.2rem;}
.wpcf7-form-control-wrap[data-name="your-email"] {position: relative;}
.wpcf7-form-control-wrap[data-name="your-email"] input {padding-right: 40px;}
.wpcf7-form-control-wrap[data-name="your-email"]::before {content: '\e900'; font-family: icon-font, sans-serif; position: absolute; top: calc(50% - 25px); right: 10px; font-size: 20px; color: var(--lighter-gray)}
.wpcf7-form-control-wrap.recaptcha {margin-bottom: 30px;}

.contact-form-wrap {padding: 15px; border-radius: 12px; box-shadow: 0px 5px 83px 0px #091d3e1f}

.contact-form-info-wrap {margin-bottom: 30px}
.contact-form-info {position: relative; padding: 30px; height: 100%; border-radius: 12px; background-image: linear-gradient(180deg, #ab9de0b3 19%, var(--dark-violet) 71%); color: var(--white); overflow: hidden;}
.contact-form-info::before {content: ''; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: url("img/form-bg.jpg") no-repeat; background-size: cover; z-index: -1;}
.contact-form-info h2 {color: var(--white);}
.contact-form-info a {color: var(--white); text-decoration: underline;}
.contact-form-info a:hover, .contact-form-info a:active, .contact-form-info a:focus {color: var(--white); text-decoration: none;}

.contact-team {margin: 30px 0 0}
.contact-team .contact-team-member-position {color: var(--white); margin: 0;}
.contact-team-member:not(:last-child) {margin-bottom: 30px;}
/* contact */

/* search */
.search-form-popup {position: fixed; top: 0; bottom: 0; left: 0; right: 0; padding: 15px; display: flex; align-items: center; justify-content: center; background: var(--white); opacity: 0; visibility: hidden; z-index: 9005; transition: 0.4s all;}
.search-form-active {overflow: hidden}
.search-form-active .search-form-popup {visibility: visible; opacity: 1;}
#search-close {position: absolute; top: 0; right: 0; width: 50px; height: 50px; text-align: center; border: 0; color: var(--white); background: var(--dark-violet); transition: 0.4s all;}
#search-close:hover, #search-close:active, #search-close:focus {background: var(--light-violet); color: var(--white);}
.search-form-entry {position: relative;}
.search-form-entry label {width: 100%}
.search-submit {position: absolute; top: 50%; right: 5px; font-size: 20px; margin-top: -10px; line-height: 1; background: transparent; border: 0; color: var(--dark-violet); transition: 0.4s all;}
.search-form-popup .search-submit {margin-top: -13px; font-size: 26px;  right: 0;}
.search-submit:hover, .search-submit:active, .search-submit:focus {color: var(--light-violet);}
.search-field {margin: 0  !important; padding-right: 35px !important; background: var(--white) !important}
.search-form-popup .search-field {font-size: 3.5rem; padding: 15px 45px 15px 30px !important; border: 0 !important; border-bottom: 2px solid var(--lighter-gray) !important; border-radius: 0 !important; outline: 0 !important;}
.search-form-popup .search-field:hover, .search-form-popup .search-field:active, .search-form-popup .search-field:focus {border-color: var(--light-violet) !important;}

.search-result-item {margin-bottom: 30px; padding: 30px; background: var(--white); box-shadow: 0 5px 83px #28282814}
.search-result-item-title h2 {margin: 0 0 20px; transition: 0.4s all;}
.search-result-item-title:hover h2, .search-result-item-title:active h2, .search-result-item-title:focus h2 {color: var(--light-violet);}
.search-result-item-link {margin-top: 20px;}
/* search */

@media (min-width: 576px) {
    /* misc */
	.btn, .btn-primary, .button, input[type='submit']  {font-size: 1.5rem;}
	.blocks-gallery-item, .wp-block-gallery .wp-block-image {flex: 0 0 50%; max-width:50%; width: 50% !important;}
    /* misc */

	/* contact */
	.contact-form-wrap {padding: 30px;}
	/* contact */
}

@media (min-width: 576px) and (max-width: 767.98px) {
	/* front page */
	.front-header-image img {object-position: top center;}
	/* front page */
}

@media (max-width: 767.98px) {
	/* front page */
	.front-about-image img {margin-left: calc(-1*var(--bs-container-gutter-x)); width: calc(100% + 2*var(--bs-container-gutter-x)); max-width: calc(100% + 2*var(--bs-container-gutter-x))}
	/* front page */
}

@media (min-width: 768px) {
    /* misc */
	h1, .h1 {font-size: 7.5rem; line-height: 7.5rem;}
	h2, .h2 {font-size: 3.7rem; line-height: 5.4rem;}
	h3, .h3 {font-size: 2.0rem; line-height: 2.7rem;}

	.blocks-gallery-item, .wp-block-gallery .wp-block-image {flex: 0 0 33.333333%; max-width: 33.333333%; width: 33.333333% !important;}

	ul.page-numbers {margin: 45px 0 0}
    /* misc */

	/* header, footer */
	.front-header-image::before {opacity: 0.25}
	.middle-header-content {padding-top: 75px; font-size: 1.8rem;}
	.middle-header-content-has-image {padding: 75px 0}
	.lower-header {margin: 0 0 75px;}
	.upper-footer {padding: 75px 0;}
	.lower-footer {padding: 75px 0 45px}
	.lower-footer-menu-wrap {margin-bottom: 0;}
	.footer-social-copyright {margin-top: 50px;}
	.footer-funding-text {max-width: 66.666666%}
	/* header, footer */

	/* front page */
	#front-header {min-height: 0}
	.front-header-content {padding: 75px 0; font-size: 1.8rem; text-align: left}
	#front-news {padding: 75px 0;}
	.front-about-image {position: absolute; top: 0; bottom: 0; left: 0; right: 50vw; width: auto; padding-left: 0;}
	.front-about-content {padding-top: 75px; padding-bottom: calc(7.85156vw + 60px);}
	.front-about-content::after {left: calc(-0.5*var(--bs-gutter-x)); right: calc(-1*var(--bs-container-gutter-x)); padding-bottom: calc(15.70312% + 0.1570312*var(--bs-gutter-x) + 0.1570312*var(--bs-container-gutter-x))}

	#front-partners-slider {padding: 0 0 75px;}
	#front-partners-slider .swiper-pagination {bottom: 75px;}
	.front-partners-intro {padding-top: 75px;}
	.front-partners-list-partner {padding-top: 45px; padding-bottom: 45px;}

	/* front page */

	/* about */
	#about-project {margin: 0 0 75px}
	.about-project-item:not(:last-child) {margin-bottom: 75px;}
	.about-project-item-title {margin-top: 0;}

	#about-partners {padding-top: 75px;}
	.about-partners-list {margin-top: 45px;}
	/* about */

	/* category, single */
	.single-post-title, .single-post-the-content {padding: 0 40px;}
	.single-post-the-content {padding-bottom: 40px}
	/* category, single */

	/* contact */
	.contact-form-info-wrap {margin-bottom: 0}
	.contact-team {margin: 45px 0 0}
	/* contact */

	/* search */
	.search-result-item {margin: 0 0 45px;}
	/* search */
}

@media (min-width: 992px) {
	/* header, footer */
	.upper-footer .contact-form-notice {margin-bottom: 0}
	.footer-funding-text {max-width: 100%;}
	.lower-footer-menu-wrap {margin-top: 84px;}
	.footer-social .social-links {justify-content: flex-end;}
	/* header, footer */

	/* living labs */
	.single-living-lab-image {height: 350px;}
	.single-living-lab-image img {width: 100%; height: 100%; object-fit: cover;}
	/* living labs */

	/* search */
	.search-form-popup .search-form-entry {width: 770px;}
	/* search */
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	/* front page */
	.front-header-image img {object-position: center right;}
	/* front page */
}

@media (max-width: 1199.98px) {
	/* header, footer */
	.upper-header .row {height: 80px;}
	.col-header-menu {position: fixed; top: 110px; left: 0; right: 0; padding-top: 15px; padding-bottom: 15px; max-height: 80vh; overflow-y: auto; visibility: hidden; opacity: 0; z-index: 9000; transition: 0.4s all; background: var(--white); border-top: 1px solid #00000014}
	.header-menu-active .col-header-menu {top: 80px; visibility: visible; opacity: 1;}
	.col-header-menu .sub-menu {display: none; list-style: none; margin: 0; padding-left: 20px;}
	.col-header-menu .sub-menu li a {padding: 10px 0; display: block;}
	.header-menu > .menu-item-has-children > .menu-expand {position: absolute; top: 9px; right: 0; width: 25px; height: 26px; line-height: 26px; background: var(--dark-violet); color: var(--white); text-align: center; font-weight: normal; border-radius: 2px; cursor: pointer; transition: all 0.4s;}
	.header-menu > .menu-item-has-children > .menu-expand .icon {display: inline-block; line-height: 26px; transition: 0.4s all;}
	.header-menu > .menu-item-has-children > .menu-expand:hover, .header-menu > li > .menu-expand:active, .header-menu > li > .menu-expand:focus {background: var(--light-violet); color: var(--white);}
	.header-menu > .menu-item-has-children.submenu-active > .menu-expand .icon {transform: rotate(180deg);}
	/* header, footer */


}

@media (min-width: 1200px) {
    /* misc */
	.wp-block-gallery.columns-6 .blocks-gallery-item, .wp-block-gallery.columns-6 .wp-block-image {flex: 0 0 16.666667%; max-width: 16.666667%; width: 16.666667% !important;}
	.wp-block-gallery.columns-5 .blocks-gallery-item, .wp-block-gallery.columns-5 .wp-block-image {flex: 0 0 20%; max-width: 20%; width: 20% !important;;}
    .blocks-gallery-item, .wp-block-gallery.columns-4 .wp-block-image {flex: 0 0 25%; max-width: 25%; width: 25% !important;}
	ul.page-numbers {margin: 60px 0 0}
	/* misc */

	/* header, footer */
	#header {margin-top: 100px}
	.upper-header .container-fluid {padding-left: 40px; padding-right: 40px;}
	.col-header-logo {flex: 0 0 calc(115px + 0.5*var(--bs-gutter-x) + 40px); padding-right: 40px;}
	.col-header-logo::after {content: ''; position: absolute; height: 100px; top: -20px; right: 0; width: 1px; background: var(--lighter-gray);}
	.col-header-menu-toggle-wrap {display: none;}
	.header-menu {display: flex; align-items: center}
	.header-menu > li > a {position: relative; display: flex; align-items: center; padding: 0 25px; height: 100px}
	.header-menu > li > a::after {content: ''; position: absolute; bottom: 0; left: 25px; right: 25px; height: 3px; background: var(--light-violet); transform: scaleX(0); transform-origin: left center; transition: 0.4s all;}
	.header-menu > .menu-item-has-children > a::after {right: 0}
	.header-menu > li > a:hover::after, .header-menu > li > a:active::after, .header-menu > li > a:focus::after, .header-menu > .current-menu-item > a::after {transform: scaleX(1)}
	.header-menu .sub-menu {list-style: none; padding: 25px 40px; margin: 0; position: absolute; top: 115px; left: -10px; min-width: 240px; background: var(--white); box-shadow: 0 3px 63px 0 #2828281c; border-radius: 0 0 8px 8px; opacity: 0; visibility: hidden; z-index: 9001; transition: 0.4s all;}
	.header-menu .menu-item-has-children a:hover ~ .sub-menu, .header-menu .menu-item-has-children a:active ~ .sub-menu, .header-menu .menu-item-has-children a:focus ~ .sub-menu, .header-menu .sub-menu:hover, .header-menu .sub-menu:active, .header-menu .sub-menu:focus, .header-menu .sub-menu:focus-within {opacity: 1; visibility: visible; top: 100px;}
	.header-menu > .menu-item-has-children > .menu-expand {position: absolute; top: calc(50% - 13px); right: 0; width: 25px; height: 26px; line-height: 26px; text-align: center; font-weight: normal; cursor: pointer; transition: all 0.4s;}
	.header-menu .menu-item-has-children a:hover ~ .menu-expand, .header-menu .menu-item-has-children a:active ~ .menu-expand, .header-menu .menu-item-has-children a:focus ~ .menu-expand {color: var(--light-violet);}
	.header-menu .sub-menu a {position: relative; font-size: 1.6rem; padding: 12px 0; font-weight: normal; white-space: nowrap; border-bottom: 1px solid var(--lighter-gray);}
	.header-menu .sub-menu a::before {content: '\e902'; font-family: icon-font, sans-serif; font-size: 16px; position: absolute; top: calc(50% - 12px); left: -20px; opacity: 0; transition: all 0.4s;}
	.header-menu .sub-menu a:hover, .header-menu .sub-menu a:active, .header-menu .sub-menu a:focus, .header-menu .sub-menu li.current-menu-item > a {color: var(--light-violet); border-color: var(--light-violet);}
	.header-menu .sub-menu a:hover::before, .header-menu .sub-menu a:active::before, .header-menu .sub-menu a:focus::before, .header-menu .sub-menu li.current-menu-item > a::before {opacity: 1;}
	.header-menu .sub-menu li:last-child a {border-bottom: 0;}
	.col-header-icons {flex: 0 1 0; padding-left: 40px; height: 24px;}
	.col-header-icons::before {content: ''; position: absolute; height: 100px; top: -38px; left: 0; width: 1px; background: var(--lighter-gray);}
	.header-icons {padding-right: calc(0.5*var(--bs-gutter-x));}
	.header-icons li {margin-right: 30px;}
	.header-icons li:last-child {margin-right: 0;}

	.middle-header-content-has-image {padding: 100px 0}
	.lower-header {margin: 0 0 100px;}

	.upper-footer {padding: 100px 0;}
	.footer-contact-form-wrap {padding: 40px;}
	.lower-footer {padding: 100px 0 60px}
	.footer-logo {max-width: 160px}
	.lower-footer-menu-wrap {margin-top: 90px;}

	/* header, footer */

	/* front page */
	.front-header-content {padding: 100px 0;}

	#front-news {padding: 100px 0;}

	.front-about-content {padding-top: 100px; padding-bottom: 320px;}
	.front-about-content::after {width: 1280px; padding-bottom: 201px; left: -116px; bottom: 60px}

	#front-partners-map {margin-right: 0}

	#front-partners-slider {padding: 0 0 100px;}
	#front-partners-slider .swiper-pagination {display: none;}
	#front-partners-slider .swiper-wrapper {margin-left: -22px; margin-right: -22px; text-align: center; width: auto; align-items: center}
	#front-partners-slider .swiper-slide {padding-left: 22px; padding-right: 22px; flex: 0 0 11.111111%}

	.front-partners-intro {padding-top: 100px;}
	.front-partners-list-partner {padding-top: 60px; padding-bottom: 60px;}
	/* front page */

	/* single, category */
	.blog-post-item-content {padding: 40px;}
	.sidebar-box-wrap {padding: 40px;}
	/* single, category */

	/* about */
	#about-project {margin: 0 0 100px}
	.about-project-item:not(:last-child) {margin-bottom: 100px;}
	#about-partners {padding-top: 100px; padding-bottom: 292px}
	#about-partners::after {width: 1280px; padding-bottom: 201px; left: 50%; margin-left: -640px; bottom: 60px}
	.about-partners-list {margin-top: 60px;}
	.about-partners-list-partner {padding: 40px;}
	/* about */

	/* resources */
	.resource-item {padding: 40px;}
	/* resources */

	/* living labs */
	.living-labs-item-content {padding: 40px;}
	/* living labs */

	/* contact */
	.contact-form-wrap {padding: 60px;}
	.contact-form-info {padding: 40px;}
	.contact-team {margin: 60px 0 0}
	/* contact */

	/* search */
	.search-result-item {padding: 40px; margin: 0 0 60px}
	.search-result-item:last-child {margin: 0;}
	/* search */
}

@media (min-width: 1400px) {
	/* single, category */
	.sidebar-box-wrap {margin-left: 20px;}

	/* single, category */
}