
/* Variables */

:root {        
    --primary-color: #FF1E40; 
    --white-color: #FFF;
    --gradient: linear-gradient(90deg, #FF1E40 0%, #FF1E5E 100%);  
    --gradient-hover: linear-gradient(140deg, #FF1E5E 0%, #FF1E40 100%);  
    --bg-headline-color: rgba(255, 30, 64, 0.10);

    --text-color: #FFF;    
    --text-off-color: rgba(255,255,255,.6);
    
    --text-primary-color: #FFF;
    --text-dark-color: #171717;
    --input-color: #32050C;

    --background-page-color: #120104;
    --bg-color: #250309;            
    --bg-primary-color: #FFF;
    --bg-secondary-color: #32050C;
    --tag-color: #4E0813;
    --border-color: #4E0813;
    --border-separator-color: #4E0813;

    --select-color: #393731;
    --selected-color: #474540;
    --error-color: #AF4343;    
    
    --title-size: 48px;
    --title-medium-size: 35px;    

    --max-width: 1100px;        
    --max-width-content: 1140px;        
    --vh: 100vh;
}

/* Reset */

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 0; }
html :where(.wp-block) { max-width: none; }

body.upside { overflow: hidden; overflow-y: auto; color: var(--text-color); font-size: 14px; font-style: normal; font-weight: 400; line-height: 25px; letter-spacing: -0.14px; background: var(--background-page-color) url(../images/background.png) top center no-repeat; }
body.upside.home { background-image: url(../images/background-home.png); }

body.upside,
body.upside * { font-family: "Product Sans", sans-serif; }

body.upside,
body.upside input,
body.upside select,
body.upside textarea,
body.wp-admin .wp-block-post-content { background-color: var(--background-page-color); }

.block-editor-block-list__block[data-empty=true] [data-rich-text-placeholder] { color: var(--white-color); }

body.upside input:focus,
body.upside textarea:focus { outline: none; border-color: var(--input-active-color) !important; }
body.upside input.error,
body.upside textarea.error { border-color: var(--error-color) !important; }
body.upside input[type="search"]::-webkit-search-cancel-button { display: none; -webkit-appearance: none; }
body.upside input,
body.upside button,
body.upside select,
body.upside textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; transition: .4s ease-in-out; }

body.upside a { color: var(--white-color); text-decoration: none; transition: ease-in-out .4s; }
body.upside a:hover,
body.upside a:active,
body.upside a:focus { opacity: 1; text-decoration: none; }

body.upside strong { font-weight: 700; }

/* custom select */

.custom-select-container { position: relative; }
.custom-select-container.is-disabled { opacity: .333; }
.custom-select-container select { opacity: 0; visibility: hidden; position: absolute; top: 0; left: 0; }
.custom-select-container .custom-select-opener { cursor: pointer; display: block; padding: 15px 0; width: 100%; min-height: 51px; color: var(--text-off-color); font-size: 14px; font-style: normal; font-weight: 700; line-height: normal; letter-spacing: -0.14px; transition: .4s; }
.custom-select-container .custom-select-opener::after { content: "\e906"; position: absolute; top: 50%; right: 0; margin-top: -7px; font-family: 'upside-icons' !important; font-size: 8px; }
.custom-select-container .custom-select-panel { opacity: 0; visibility: hidden; overflow: hidden; position: absolute; z-index: 1; top: calc( 100% + 15px ); padding: 10px; width: 100%; max-height: 0; background: var(--border-color); border-radius: 10px; transition: opacity .4s, max-height .5s ease-out, overflow-y 0.1s 0.5s; }
.custom-select-container.is-open .custom-select-opener { border-color: var(--text-color); }
.custom-select-container.is-open .custom-select-opener::after { transform: rotate(180deg); }
.custom-select-container.is-open .custom-select-panel { opacity: 1; visibility: visible; overflow-y: auto; max-height: 500px; }
.custom-select-container .custom-select-option { cursor: pointer; padding: 15px; color: var(--text-color); font-size: 14px; font-weight: 700; line-height: 1em; letter-spacing: -0.14px; }
.custom-select-container .custom-select-option.is-selected { border: 1px solid var(--primary-color); border-radius: 5px; }
.custom-select-container .custom-select-option.has-focus { background: var(--primary-color); border-radius: 5px; }
.custom-select-container .custom-select-optgroup > .custom-select-option { padding-left: 2em; }
.custom-select-container .custom-select-optgroup::before { content: attr(data-label); display: block; padding: 10px; }
@media screen and (max-width: 991px) {
    .custom-select-container.is-open .custom-select-panel { max-height: 300px; }
}

/* Helpers */

.d-none,
.sr-only,
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }

/* Layout */

.container { margin: 0 auto; width: 100%; max-width: var(--max-width); }

.btn-group { display: flex; gap: 20px; }
.btn { cursor: pointer; display: inline-flex; align-items: center; border: none; transition: .4s; }
.btn-primary { display: inline-flex; gap: 10px; align-items: center; justify-content: center; padding: 13px 26px; width: fit-content; height: 60px; color: var(--white-color); font-size: 15px; font-weight: 700; line-height: 22px; background: var(--gradient); border: none; border-radius: 100px; transition: .4s; }
.btn-primary:hover { opacity: .9 !important; background: var(--gradient-hover); }
.btn-primary i { font-size: 15px; }
.btn-secondary { opacity: .8; position: relative; display: inline-flex; gap: 5.72px; padding: 0 23.94px; height: 48px; color: var(--text-primary-color) !important; font-size: 12px; font-weight: 700; line-height: 1em; letter-spacing: -0.12px; background: var(--bg-color); border-radius: 100px; transition: .4s; }
.btn-secondary:hover { opacity: 1; background: var(--bg-headline-color); }
.btn-secondary i { color: var(--primary-color); font-size: 9px; }
.btn-arrow { display: inline-flex; gap: 10px; align-items: center; justify-content: center; padding: 19px; width: fit-content; height: 70px; color: var(--white-color); font-size: 17px; font-weight: 700; line-height: 1em; letter-spacing: -0.17px; background: var(--gradient); border-radius: 100px; }
.btn-arrow:hover { opacity: .9 !important; background: var(--gradient-hover); }
.btn-arrow::before { content: "\e902"; display: flex; align-items: center; justify-content: center; color: var(--primary-color); font-family: 'upside-icons' !important; font-size: 16px; width: 49px; height: 32px; background: var(--white-color); border-radius: 100px; transition: .4s; }
.btn-outline { cursor: pointer; display: inline-flex; gap: 10px; align-items: center; justify-content: center; padding: 13px 26px; height: 48px; color: var(--primary-color) !important; font-size: 17px; font-weight: 700; line-height: 22px; background: transparent; border: 1px solid var(--primary-color); border-radius: 100px; }
.btn-outline i { display: inline-block; font-size: 10px; }
.btn-search { cursor: pointer; display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; font-size: 16px; color: var(--primary-color); background: var(--primary-light-color); border: none; border-radius: 100px; }
.btn-link { gap: 6.48px; color: var(--text-color); }
.btn-link i { font-size: 10px; }
.btn-icon { --color: rgba(255,255,255,.7); position: relative; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; color: var(--color); border-radius: 100px; }
.btn-icon .btn-label { position: absolute; z-index: 1; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }
.btn-icon i { position: relative; z-index: 2; }
.btn-filter { position: relative; display: flex; gap: 10px; align-items: center; justify-content: center; padding: 12px 21px; height: auto !important; color: var(--white-color); font-size: 14px; font-weight: 700; line-height: 26px; letter-spacing: -0.28px; background: transparent; border-radius: 100px; border: 1px solid var(--primary-color) !important; }
.btn-filter::before { content: " "; width: 6px; height: 6px; background: var(--primary-color); border-radius: 100px; }
.btn-more i { font-size: 6px; }

/* Header */

.site-header { position: relative; z-index: 9999; width: 100%; height: auto; background: transparent; transition: ease-in-out .4s; }
.site-header.header--sticky { position: sticky; z-index: 999; top: 0; }
.site-header.header--fixed { position: fixed; z-index: 999; top: 0; left: 50%; margin-top: 0; transform: translateX(-50%); }
.site-header.sticked { background: transparent; }
.site-header .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100%; height: 100%; }
.site-header > .container { padding: 31px 0; max-width: var(--max-width); }

.site-header .header--toolbar { padding: 15px 0; background: var(--gradient); }
.site-header .header--toolbar ul { list-style: none; display: flex; gap: 45px; }
.site-header .header--toolbar ul li { line-height: 1em; }
.site-header .header--toolbar a { color: var(--white-color); font-size: 12px; font-weight: 700; letter-spacing: -0.12px; line-height: 1em; }
.site-header .header--toolbar a i { font-size: 16px; }

.site-logo { position: relative; z-index: 2; padding: 0; box-sizing: content-box; transition: .4s; filter: brightness(0) invert(1); }
.site-logo,
.site-logo a { opacity: 1 !important; display: block; width: 129.217px; height: 35.414px; }
.site-logo a { text-indent: -99999px; background: transparent url(../images/upside-logo.svg) center center no-repeat; background-size: contain; }

.site-header .header--buttons { position: relative; z-index: 2; display: flex; gap: 16px; }

.site-header .btn--color { cursor: pointer; position: relative; z-index: 99; display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; color: var(--text-dark-color); background: var(--bg-primary-color); border: none; border-radius: 100px; transition: .4s ease-in-out; }
.site-header .btn--color .icon-light { display: none; }
.site-header .btn--menu,
.site-header .btn--search { cursor: pointer; position: relative; z-index: 99; display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; color: var(--text-primary-color); font-size: 20px; border-radius: 100px; transition: .4s ease-in-out; }
.site-header .btn--search .icon-close { position: absolute; opacity: 0; visibility: hidden; transition: .4s ease-in-out; }

.site-header .btn--menu { display: none; }

.search-open .site-header .btn--search .icon-search { opacity: 0; visibility: hidden; }
.search-open .site-header .btn--search .icon-close { opacity: 1; visibility: visible; font-size: 16px; transform: rotate(180deg); }

.site-nav-primary { position: relative; z-index: 1; display: flex; align-items: center; height: 100%; margin-left: 20px; }
.site-nav--menu { display: flex; align-items: center; height: 100%; }
.site-nav--menu ul { list-style: none; display: flex; align-items: center; justify-content: space-between; height: 100%; }
.site-nav--menu > ul { display: flex; align-items: center; height: 100%; gap: 70px; }
.site-nav--menu > ul > li { position: relative; height: 100%; }
.site-nav--menu > ul > li > a { position: relative; z-index: 2; display: flex; gap: 7px; align-items: center; padding-top: 20px; padding-bottom: 20px; color: var(--text-color); font-size: 15px; font-weight: 700; letter-spacing: -0.15px; }
.site-nav--menu .menu-links-secondary { display: none; }

.site-header .search-box { pointer-events: none; opacity: 0; visibility: hidden; position: absolute; top: 0; left: 0; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; margin: 0; padding-top: 160px; width: 100%; height: var(--vh); min-height: 640px; background: var(--bg-headline-color); transform: translateY(-100%); transition: .4s; backdrop-filter: blur(30px); }
.search-box { margin: 60px 0 120px; }
.search-box .search-form { position: relative; display: flex; margin: 0 auto; width: 100%; max-width: 590px; height: 78px; background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 100px; }
.search-box .search-form::before { pointer-events: none; content: "\e919"; position: absolute; left: 31px; top: 50%; font-family: 'upside-icons' !important; font-size: 18px; color: var(--text-color); transform: translateY(-50%); transition: .4s; }
.search-box input { appearance: none; position: relative; z-index: 2; padding: 27px 167px 27px 67px; color: var(--text-color); font-weight: 700; line-height: 13px; background: transparent !important; border: none; }
.search-box .btn-primary { cursor: pointer; position: absolute; z-index: 2; top: 14px; right: 22px; width: 100px; height: 48px; font-size: 15px; line-height: 22px; }

.menu-open,
.search-open { overflow: hidden !important; }
.menu-open .site-header,
.search-open .site-header { background: transparent; backdrop-filter: unset; }
.menu-open .site-nav,
.search-open .search-box { pointer-events: all; opacity: 1; visibility: visible; transform: translate(0); }

/* Megamenu */

.site-nav-primary:has(.megamenu),
.site-nav--menu > ul > li:has(.megamenu) { position: static; }
.site-nav--menu > ul > li:has(.megamenu) > a::after { content: "\e906"; margin-bottom: -1px; font-family: 'upside-icons' !important; font-size: 11px; transition: .2s; }
.megamenu { pointer-events: none; opacity: 0; visibility: hidden; position: absolute; left: 0; top: 0; display: flex; flex-direction: column; padding-top: 180px; width: 100%; background: var(--gradient); transform: translateY(30px); transition: .4s; }
.megamenu--body .container { display: flex; gap: 45px; align-items: flex-start; }
.megamenu--menus { display: flex; flex-direction: column; align-items: center; gap: 7px; flex: 0 0 298px; padding-top: 11px; width: 100%; }
.megamenu--menu { cursor: pointer; position: relative; display: flex; padding: 5px 20px; width: calc( 100% - 20px ); color: var(--white-color); font-size: 17px; font-weight: 700; line-height: 48px; letter-spacing: -0.17px; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 12px; transition: .4s; }
.megamenu--menu::after { content: "\e901"; position: absolute; top: 50%; right: 22.75px; margin-top: -23px; width: 8px; font-family: 'upside-icons' !important; font-size: 11px; transition: .2s; }
.megamenu--menu.active { width: 100%; padding-left: 30px; color: var(--primary-color); background: var(--white-color); }
.megamenu--menu.active::after { right: 32.75px; transform: rotate(180deg); }
.megamenu--contents { position: relative; flex: 1; margin-bottom: 30px; width: 100%; min-height: 295px; }
.megamenu--content { pointer-events: none; opacity: 0; position: absolute; inset: 0; display: flex; gap: 87px; transform: translateY(10px); transition: .3s ease; }
.megamenu--content.active { pointer-events: all; opacity: 1; transform: translateY(0); }
.megamenu--description { overflow: hidden; display: block; width: 426px; color: rgba(255, 255, 255, 0.50); font-size: 40px; font-weight: 700; line-height: 50px; letter-spacing: -0.4px; white-space: nowrap; text-overflow: ellipsis; }
.megamenu--description strong { color: var(--white-color); }
.megamenu--links-title { display: none; }
.megamenu--links { display: flex; flex-direction: column; justify-content: flex-start !important; width: 426px; }
.megamenu--links li { width: 100%; }
.megamenu--links li a { position: relative; display: flex; align-items: center; justify-content: flex-start; height: 56px; color: var(--text-color); font-size: 15px; font-weight: 700; line-height: 53px; letter-spacing: -0.15px; border-bottom: 1px solid rgba(255, 255, 255, .2); transition: .6s; }
.megamenu--links li a:hover { background: rgba(255, 255, 255, .07); }
.megamenu--links li a::after { content: "\e901"; position: absolute; top: 50%; right: 9.75px; margin-top: -26.5px; width: 8px; font-family: 'upside-icons' !important; font-size: 11px; }
.megamenu--links li .megamenu--link-num { display: block; padding: 0 19px 0 12px; font-size: 11px; letter-spacing: -0.11px; }
.megamenu--image { margin-top: -35px; }
.megamenu--image img { display: block; width: 100%; height: 100%; max-height: 330px; max-width: 220px; object-fit: contain; }
.megamenu--footer { padding: 27px; width: 100%; color: var(--white-color); font-size: 15px; font-weight: 400; line-height: 25px; letter-spacing: -0.15px; text-align: center; background: rgba(0, 0, 0, .1); }
.megamenu--footer a { text-decoration: underline !important; }
.megamenu--footer a:hover { opacity: .6 !important; }
@media screen and (min-width: 992px) and (hover: hover) {
    
    .megamenu--links li a { color: var(--white-color); }

    .site-nav--menu > ul > li:has(.megamenu):hover .megamenu { pointer-events: all; opacity: 1; visibility: visible; transform: translateY(0); }
    .site-nav--menu > ul > li:has(.megamenu):hover > a::after { transform: rotate(180deg); }
    .site-header:has(.site-nav--menu > ul > li:hover .megamenu) .site-logo { filter: brightness(0) invert(1); }
    .site-header:has(.site-nav--menu > ul > li:hover .megamenu) .site-nav--menu > ul > li > a { color: var(--white-color); }
    .site-header:has(.site-nav--menu > ul > li:hover .megamenu) .btn--color { color: var(--primary-color); background: var(--white-color); }
    .site-header:has(.site-nav--menu > ul > li:hover .megamenu) .btn--search { color: var(--white-color); }
}

/* Pages */

.site-page { background: var(--page-bg-color); }

.page--error { padding: 80px 0 94px; }
.page--error > .container { display: flex; align-items: center; justify-content: center; }
.page--error .block--title { padding-top: 240px; }
.page--error .block--title::before { content: " "; position: absolute; top: 0; left: 50%; width: 100%; min-width: 791px; height: 330px; background: transparent url(../images/404.svg); transform: translateX(-50%); filter: invert(1) brightness(1); } 
.page--error .block--subtitle { margin-top: 26px !important; }

@media screen and (max-width: 991px) {
  .page--error .block--error { margin: 0 20px 60px; width: calc( 100% - 40px ); }
}

.page--search { margin: 0 0 100px; }
.page--search .block--content .block--title { margin: 100px 0 46px; color: var(--white-off-color); font-size: 35px; font-weight: 600; line-height: 41px; text-align: center; }
.page--search .block--title strong { color: var(--white-color); }
.page--search .search-no-results { margin: 100px 0; text-align: center; }
@media screen and (max-width: 991px) {
    .page--search { margin-bottom: 60px; }
    .page--search .search-box { padding: 0 20px; }
    .page--search .block--content .block--title { margin: 40px 0; font-size: 27px; line-height: 31px; text-align: left; }
}

/* Single */

.post--meta { display: flex; gap: 30px; align-items: center; justify-content: center; margin-bottom: 60px; }
.post--author { display: flex; gap: 15px; align-items: center; font-size: 13px; letter-spacing: -0.13px; }
.post--author img { display: block; width: 40px; height: 40px; border-radius: 100px; }
.post--author-box { display: flex; gap: 72px; margin: 60px 0 0; padding: 72px 88px; color: var(--text-color); background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 20px; }
.post--author-box img { display: block; width: 155px; height: 155px; border-radius: 100px; object-fit: cover; }
.post--author-box .post--author-name { font-size: 30px; font-style: normal; font-weight: 700; line-height: 1em; letter-spacing: -0.3px; }
.post--author-box .post--author-name strong { display: block; margin-top: 10px; color: var(--text-off-color); }
.post--author-box p { font-size: 17px; font-style: normal; font-weight: 400; line-height: 26px; letter-spacing: -0.17px; }
.post--author-box .btn { margin-top: 20px; height: 42px; }
.post--categories { display: flex; gap: 15px; align-items: center; justify-content: center; }
.post--categories .card--category { margin: 0; }
.post--image { position: relative; margin-bottom: 60px; }
.post--image img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 16px; }

/* Blocks */

.block { position: relative; z-index: 1; }
.block.background-color { --color: var(--background-page-color); background: var(--color); }
.block--separator { display: flex; margin: 80px 0; height: 1px; background: var(--border-color); }
.block--separator .separator--icon { display: flex; align-items: center; justify-content: center; margin: -30.5px auto 0; width: 61px; height: 61px; color: var(--white-color); font-size: 25px; background: var(--primary-color); border-radius: 100px; }
.block--heading .block--title { color: var(--text-color); max-width: var(--max); margin: 0 auto; font-size: 30px; font-weight: 700; line-height: 1em; letter-spacing: -0.3px; text-align: center; }
.block--heading .block--description { opacity: .8; margin: 0 auto; max-width: 654px; color: var(--text-color); font-size: 17px; font-weight: 400; line-height: 26px; letter-spacing: -0.17px; text-align: center; }
.block--heading .block--title + .block--description { margin-top: 52px; }
.block--content { position: relative; }
.block--content p + p { margin-top: 1em; }
.block--content p a,
.block--content ul a { opacity: 1; color: var(--primary-color); text-decoration: none; }
.block--content p.has-text-align-center { text-align: center; }
.block--content p strong { font-weight: 600; }
.block--content p + ul { margin-top: 1em; }
.block--content ul { list-style: none; }
.block--content ul li { position: relative; margin-bottom: .75em; padding-left: 16px; }
.block--content ul li::before { content: " "; position: absolute; top: 11px; left: 0; display: block; width: 5px; height: 5px; background: var(--primary-color); border-radius: 100px; }
.block__loading { position: relative; }
.block__loading::after { content: " "; position: absolute; z-index: 99; top: 0; left: 50%; width: 100vw; height: 100%; background: rgb(39, 37, 30, .1); transform: translateX(-50%); backdrop-filter: blur(24px); }
.block--content h2,
.block--content h3,
.block--content h4,
.block--content h5,
.block--content h6 { font-weight: 600; margin-bottom: 1.25em; }
.block--content h2 *,
.block--content h3 *,
.block--content h4 *,
.block--content h5 *,
.block--content h6 * { font-weight: 600; }
.block--content h2 { font-size: 24px; }
.block--content h3 { font-size: 20px; }
.block--content h4 { font-size: 18px; }
.block--content h5 { font-size: 16px; }
.block--content h6 { font-size: 14px; }

.has-small-font-size { font-size: 12px !important; font-weight: 400; line-height: 21px; }
.has-medium-font-size { font-size: 22px !important; line-height: 31px; }
.has-large-font-size { font-size: 24px !important; font-weight: 500; line-height: 33px; }
.has-x-large-font-size { font-size: 28px !important; font-weight: 500; line-height: 37px; }

.block--share { display: block; clear: both; margin: 0; padding: 60px 0;  }
.block--share .block--title { display: block; margin: 0 auto 14.35px; color: var(--white-off-color); font-size: 11px; font-weight: 700; line-height: 13px; letter-spacing: 3px; text-align: center; }
.block--share ul { list-style: none; display: flex; gap: 25px; align-items: center; justify-content: center; }
.block--share ul li { position: relative; }
.block--share ul li a i { color: var(--text-primary-color) !important; }
.block--share .btn-icon { background: var(--bg-headline-color); }
@media screen and (max-width: 991px) {
    .block--share ul { gap: 20px; }
}

.entry-content .alignnone { margin-left: 0 !important; margin-right: 0 !important; }
.entry-content .alignleft { display: inline; float: left; margin-right: 20px !important; margin-top: 20px !important; margin-bottom: 20px !important; }
.entry-content .alignright { display: inline; float: right; margin-left: 20px !important; margin-top: 20px !important; margin-bottom: 20px !important; }
.entry-content .aligncenter { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.entry-content .wp-block-image { margin: 1.5em 0; text-align: center; }
.entry-content .wp-block-image img { display: inline-block; max-width: 100%; height: auto; vertical-align: middle; }
.entry-content .wp-block-image.alignleft { float: left; margin-right: 20px !important; margin-top: 20px !important; margin-bottom: 20px !important; }
.entry-content .wp-block-image.alignright { float: right; margin-left: 20px !important; margin-top: 20px !important; margin-bottom: 20px !important; }
.entry-content .wp-block-image.aligncenter { display: block; margin-left: auto !important; margin-right: auto !important; }
.entry-content .wp-block-image.aligncenter img { display: block; margin: 0 auto; }
.entry-content .wp-caption { max-width: 100%; margin-bottom: 1.5em; text-align: center; }
.entry-content .wp-caption img { margin: 0 auto; display: block; max-width: 100%; height: auto; border-radius: 16px; }
.entry-content .wp-caption-text { font-size: 0.9em; color: var(--white-off-color); margin-top: 0.5em; line-height: 1.4em; }
.entry-content figure.wp-block-image figcaption,
.entry-content .wp-block-gallery figcaption { margin-top: 0.5em; font-size: 0.9em; color: rgba(255, 255, 255, 0.65); text-align: center; line-height: 1.4em; }
.entry-content .alignwide { width: 100%; max-width: var(--container-wide, 1200px); margin-left: auto; margin-right: auto; }
.entry-content .alignfull { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
@media (max-width: 991px) {
  .entry-content .alignleft,
  .entry-content .alignright { float: none; display: block; margin: 1em auto; text-align: center; }
  .entry-content .wp-block-image.alignleft,
  .entry-content .wp-block-image.alignright { float: none; margin: 1em auto; }  
}

.wp-block-separator { opacity: .2; margin: 40px 0; height: 1px; background: var(--white-color); border: none; }

.wp-block-quote { margin: 70px 0 60px; padding-bottom: 50px; text-align: center; border-bottom: 1px solid rgba(30, 108, 91, .1); }
.wp-block-quote p { margin: 0 auto; padding: 0 30px; max-width: 775px; color: var(--primary-color) !important; font-size: 19px !important; line-height: 30px !important; }

.wp-block-image:has(.wp-element-caption) > figure { display: flex; flex-direction: column; }
.wp-block-image:has(.wp-element-caption) > figure img { margin: 0 auto 10px; }
.wp-element-caption { color: var(--text-color); text-align: center; font-size: 14px; line-height: 23px; text-align: center; }

.wp-block-table { margin: 60px 0; }
.wp-block-table table { border-collapse: separate; }
.wp-block-table th { padding: 10px 0; font-size: 13px; font-weight: 700; line-height: 23px; letter-spacing: -0.26px; background: var(--white-color); border: none; }
.wp-block-table td { padding: 8px; text-align: center; background: var(--secondary-color); border: none; }
.wp-block-table td:first-child { border-radius: 16px 0 0 16px; }
.wp-block-table td:last-child { border-radius: 0 16px 16px 0; }
.wp-block-table tr:nth-child(even) td { background: var(--secondary-color); }
.wp-block-table + .btn { display: flex; margin: 40px auto 0; }

.wp-block-gallery { margin: 40px 0 60px; }

.wp-block-embed,
.wp-block-image { overflow: hidden; margin-bottom: 60px; border-radius: 20px; }
.wp-block-image { border-radius: 0; }
.wp-block-image.size-full { width: 100%; }
.wp-block-image.aligncenter img { margin: 0 auto; }
.wp-block-image .size-large { width: 100%; }
.wp-block-image .aligncenter.size-large img { display: block; width: 100%; height: auto; }

.wp-block-columns { gap: 60px !important; margin: 0 auto; width: 100%; max-width: var(--max-width); }

/* Sliders */

.swiper {
    --swiper-navigation-sides-offset: 30px;
    --swiper-pagination-color: var(--primary-color);
    --swiper-pagination-bullet-inactive-color: var(--bg-primary-color);
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-horizontal-gap: 5px;
    --swiper-pagination-bottom: 20px;
    --swiper-scrollbar-size: 6px;
    --swiper-scrollbar-bg-color: var(--bg-color);
    --swiper-scrollbar-drag-bg-color: var(--primary-color);
}
.swiper .swiper-slide { height: auto; }
.swiper:has(.swiper-pagination) { padding-bottom: 77px; }
.swiper:has(.swiper-scrollbar) { padding-bottom: 36px; }

.swiper .swiper-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; }
.swiper .swiper-pagination-bullet { position: relative; display: inline-block; width: 8px; height: 8px; border-radius: 100px; border: none; }
.swiper .swiper-pagination-bullet::before { content: ''; position: absolute; width: 44px; height: 44px; top: 50%; left: 50%; transform: translate(-50%, -50%); background: transparent; }

.swiper .swiper-pagination-bullet-active { opacity: 1; width: 52.5px; border-radius: 100px; }
.swiper .swiper-button-prev,
.swiper .swiper-button-next { display: flex; align-items: center; justify-content: center; margin-top: -25px; width: 60px; height: 60px; color: var(--primary-color); font-size: 10px; background: var(--white-color); border-radius: 100px; }
.swiper .swiper-button-prev::after,
.swiper .swiper-button-next::after { display: none !important; }
.swiper .swiper-scrollbar { z-index: 99; cursor: pointer; width: 100%; left: 0; bottom: 0; }
.swiper .swiper-scrollbar-drag { cursor: grab; }
@media (max-width: 991px) {
    .swiper .swiper-scrollbar-drag { position: relative; margin-top: -22px; height: 44px; background: transparent; }
    .swiper .swiper-scrollbar-drag::before { content: " "; position: absolute; left: 0; top: 22px; display: block; height: 3px; width: 100%; background: var(--swiper-scrollbar-drag-bg-color); border-radius: var(--swiper-scrollbar-border-radius,10px); }
}

/* Forms */

.piotnetforms { color: var(--white-color); }
.piotnetforms__form>* { padding: 0; }
.piotnetforms .piotnet-column__inner { gap: 10px; padding: 0; margin: 0; }
.piotnetforms .piotnet-column__inner .piotnetforms-fields-wrapper { position: relative; margin: 0; padding: 0; }
.piotnetforms .piotnetforms-field-label { opacity: .5; margin: 0; padding: 0; color: var(--white-color); font-size: 10px; font-style: normal; font-weight: 700; line-height: 1em; letter-spacing: 2.4px; text-transform: uppercase; }
.piotnetforms .piotnetforms-field,
.piotnetforms .piotnetforms-field select,
.piotnetforms .custom-select-container .custom-select-opener { padding: 20.5px 20px !important; width: 100%; color: var(--text-color) !important; font-size: 14px !important; font-style: normal !important; font-weight: 700 !important; line-height: 1em !important; letter-spacing: -0.14px; background: var(--input-color) !important; border: 1px solid transparent !important; border-radius: 11px !important; }
.piotnetforms .custom-select-container .custom-select-opener::after { right: 20px; }
.piotnetforms .custom-select-container .custom-select-opener { padding: 22px 0 !important; color: var(--text-off-color) !important; }
.piotnetforms .custom-select-container.is-open .custom-select-opener { color: var(--text-color) !important; }
.piotnetforms .piotnetforms-field select { padding: 0; border: none; }
.piotnetforms .piotnetforms-field select { appearance: none; -moz-appearance: none; -webkit-appearance: none; background: transparent; }
.piotnetforms .piotnetforms-field:hover { border-color: transparent !important; }
.piotnetforms .piotnetforms-field:active,
.piotnetforms .piotnetforms-field:focus,
.piotnetforms .piotnetforms-field:focus-visible,
.piotnetforms .piotnetforms-field:focus-within,
.piotnetforms .piotnetforms-field select:active { border-color: transparent !important; }
.piotnetforms .piotnetforms-field.piotnetforms-select-wrapper { padding: 0 !important; border: none !important; }
.piotnetforms .piotnetforms-field.piotnetforms-select-wrapper::before,
.piotnetforms .piotnetforms-field.piotnetforms-select-wrapper::after { display: none !important; }
.piotnetforms .piotnetforms-field::placeholder { opacity: .5; color: var(--text-color); }
.piotnetforms .piotnetforms-field::-moz-placeholder { opacity: .5; color: var(--text-color); }
.piotnetforms .piotnetforms-field:-ms-input-placeholder { opacity: .5; color: var(--text-color); }
.piotnetforms .piotnetforms-field::-ms-input-placeholder { opacity: .5; color: var(--text-color); }
.piotnetforms .piotnetforms-field-focus .piotnetforms-field::placeholder { opacity: 1; }
.piotnetforms .piotnetforms-field-focus .piotnetforms-field::-moz-placeholder { opacity: 1; }
.piotnetforms .piotnetforms-field-focus .piotnetforms-field:-ms-input-placeholder { opacity: 1; }
.piotnetforms .piotnetforms-field-focus .piotnetforms-field::-ms-input-placeholder { opacity: 1; }
.piotnetforms .piotnetforms-field-subgroup.piotnetforms-subgroup-inline { margin-top: 15px; }
.piotnetforms .piotnetforms-field-option { cursor: pointer; position: relative; display: flex; align-items: center; gap: 13.61px; }
.piotnetforms .piotnetforms-field-option label { cursor: pointer; user-select: none; }
.piotnetforms .piotnetforms-acceptance-field[type="checkbox"],
.piotnetforms .piotnetforms-field-option [type="radio"] { outline: none; cursor: pointer; position: relative; flex: none !important; padding: 0; width: 24px; height: 24px; background: var(--white-color); border-radius: 5px; appearance: none; -webkit-appearance: none; -moz-appearance: none;  }
.piotnetforms .piotnetforms-field-option [type="radio"] { border-radius: 100px; }
.piotnetforms .piotnetforms-acceptance-field[type="checkbox"]:checked::after,
.piotnetforms .piotnetforms-field-option [type="radio"]:checked::after { content: '\e906'; position: absolute; top: 4px; left: 4px; display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; color: var(--white-color); font-family: 'upside-icons' !important; font-size: 8px; background: var(--primary-color); border-radius: 4px; }
.piotnetforms .piotnetforms-field-option [type="radio"]:checked::after { border-radius: 100px; }
.piotnetforms .piotnetforms-upload .piotnetforms-field { width: 100%; }
.piotnetforms .piotnetforms-submit { padding: 0 !important; }
.piotnetforms .piotnetforms-button { display: inline-flex; gap: 10px; align-items: center; justify-content: center; padding: 13px 26px; width: 100%; height: 60px; color: var(--white-color); font-size: 15px; font-weight: 700; letter-spacing: -0.15px; text-align: center; background: var(--gradient) !important; border: none; border-radius: 100px; transition: .4s; }
.piotnetforms .piotnetforms-button:hover {opacity: .9; }
.piotnetforms .piotnetforms-spacer .piotnetforms-spacer { display: block; margin: 60px 0; width: 100%; height: 1px; }
.piotnetforms [class*="form-icon"] input,
.piotnetforms [class*="form-icon"] .piotnetforms-field { padding-left: 51px !important; }
.piotnetforms [class*="form-icon"]::before { opacity: .5; content: " "; position: absolute; z-index: 9; left: 20px; top: 22px; display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; color: var(--text-color); font-family: 'upside-icons' !important; font-size: 18px; transition: .4s; }
.piotnetforms .piotnetforms-field-focus[class*="form-icon"]::before,
.piotnetforms .piotnetforms-fields-wrapper:has(.custom-select-container.is-open)::before { opacity: 1; }
.piotnetforms .form-icon-user::before { content: "\e921";  }
.piotnetforms .form-icon-mail::before { content: "\e914";  }
.piotnetforms .form-icon-business::before { content: "\e904";  }
.piotnetforms .form-icon-globe::before { content: "\e90d";  }
.piotnetforms .form-icon-tag::before { content: "\e91e";  }
.piotnetforms .form-icon-message::before { content: "\e916";  }
.form-error { padding-left: 28px; color: var(--white-color); font-style: normal; font-weight: 500; line-height: 23px; background: transparent url(../icons/error.svg) left top 2px no-repeat; }
.form-success,
.piotnetforms-message.piotnetforms-message-success { padding-left: 28px; color: var(--white-color) !important; font-style: normal; font-weight: 700; line-height: 23px; background: transparent url(../icons/sucess.svg) left top 2px no-repeat; }

@media screen and (max-width: 991px) {
    .piotnetforms .piotnetforms-field-subgroup.piotnetforms-subgroup-inline { flex-direction: column; }
    .piotnetforms-field-subgroup.piotnetforms-subgroup-inline .piotnetforms-field-option { padding: 5px 0; }
    .piotnetforms .piotnetforms-button { width: 100%; height: 50px; }
    .piotnetforms .piotnet-section__container { gap: 0; flex-direction: column; }
    .piotnetforms .piotnetforms-spacer .piotnetforms-spacer { margin: 50px 0; }
}

/* Newsletter */

.block--newsletter { margin-top: 140px; padding: 69px 0 68px; background: var(--bg-color); }
.block--newsletter .container { max-width: var(--max-width); }
.block--newsletter .container > p { opacity: .5; margin-top: 25px; color: var(--text-color); font-size: 11px; line-height: 20px; letter-spacing: -0.11px; }
.block--newsletter .newsletter--content { display: flex; gap: 34px; align-items: center; justify-content: space-between; }
.block--newsletter .newsletter--title { flex: 0 0 254px; color: var(--text-color); font-size: 20px; font-weight: 700; line-height: 1em; letter-spacing: -0.2px; }
.block--newsletter .newsletter--form { width: 100%; }
.block--newsletter .newsletter--form .piotnetforms .piotnetforms-field { padding-left: 0 !important; padding-right: 0 !important; background: transparent !important; }
.block--newsletter .newsletter--form .piotnetforms .piotnetforms-field-container::after { content: " "; position: absolute; left: 0; bottom: 2px; pointer-events: none; width: 100%; height: 1px; background: var(--gradient); }
.block--newsletter .newsletter--form .piotnetforms .piotnetforms-button { height: 52px; }
.block--newsletter .newsletter--form .piotnetforms .piotnet-column__inner { display: flex; gap: 20px; align-items: flex-end; flex-wrap: nowrap; }
.block--newsletter .newsletter--form .piotnetforms .piotnet-column__inner > div { width: 100%; }
.block--newsletter .newsletter--form .piotnetforms .piotnetforms-submit { margin-bottom: -2px; }

/* Alert: Coockies, Privacy Policy... */

.site-alert { opacity: 0; visibility: hidden; position: fixed; z-index: 9999; bottom: 30px; left: 50%; display: flex; align-items: center; padding: 28px; padding-left: 96px; width: fit-content; width: var(--max-width); background: var(--white-color) url('../images/ico-cookie.png') left 28px center no-repeat; border-radius: 20px; box-shadow: 16px -5px 60.3px 0px rgba(52, 61, 77, 0.10); transform: translateX(-50%); transition: 1.2s; }
.site-alert.active { opacity: 1; visibility: visible; }
.site-alert .site-alert--text { padding-right: 15px; }
.site-alert p { color: var(--text-light-color); font-size: 14px; line-height: 26px; letter-spacing: -0.28px; }
.site-alert p strong { color: var(--text-color); font-weight: 700; letter-spacing: -0.32px; }
.site-alert p a { color: var(--primary-color); font-weight: 700; }
.site-alert .btn { flex: 0 0 215px; align-items: center; justify-content: center; padding: 22px 0 24px; color: var(--primary-color); font-size: 14px; font-weight: 700; line-height: 1em; border-radius: 8px; border: 1px solid var(--primary-color); }

/* Footer */

.site-footer { position: relative; z-index: 9; display: flex; flex-direction: column; background: var(--gradient); }
.site-footer a:hover { opacity: .6 !important; }
.site-footer .container { max-width: var(--max-width); }
.site-footer .footer--content { display: flex; padding: 36px 0 35px; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.1); }
.site-footer .footer--content-2 { display: flex; gap: 54px; }
.site-footer .site-nav-social { display: flex; gap: 27px; justify-content: center; }
.site-footer .site-nav-social p { color: var(--white-color); }
.site-footer .site-nav-social ul { list-style: none; display: flex; gap: 27px; }
.site-footer .site-nav-social ul li { display: flex; align-items: center; justify-content: center; }
.site-footer .site-nav-social a { font-size: 20px; }
.site-footer .site-nav-social .btn-label { position: absolute; z-index: 1; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }
.site-footer .footer--columns { display: flex; padding: 39px 0 40px; justify-content: space-between; }
.site-footer .footer--column { position: relative; width: 100%; min-width: 140px; }
.site-footer .footer--column .site-nav ul { list-style: none; }
.site-footer .footer--column .site-nav ul li a { display: block; font-size: 13px; line-height: 2em; letter-spacing: -0.13px; }
.site-footer .footer--column .site-nav > ul > li > a { margin-bottom: 10px; font-size: 14px; font-weight: 700; letter-spacing: -0.14px; }
.site-footer .footer--column:last-child { max-width: 353px; }
.site-footer .footer--bar { display: flex; justify-content: space-between; padding: 37px 0 62px; border-top: 1px solid rgba(255,255,255,.1); }
.site-footer .footer--bar a { color: var(--white-color); font-size: 12px; font-weight: 700; letter-spacing: -0.12px; }
.site-footer .footer--links { display: flex; }
.site-footer .footer--links .site-nav ul { list-style: none; display: flex; gap: 37px; }

@media screen and (max-width: 991px) {        
    
    .container { padding: 0 20px; }

    /* Header */

    .site-header { margin: 0; padding: 0; }                
    .site-header > .container { padding: 20px; }    
    .site-header .header--toolbar .container { justify-content: center; }
    .site-header .header--toolbar .site-nav-links { display: none; }

    .site-header .btn--menu { cursor: pointer; display: flex; }
    .site-header .btn--menu span { position: relative; display: flex; align-items: center; justify-content: center; width: 32px; height: 2px; background: var(--bg-primary-color);  border-radius: 100px; transition: .4s ease; -webkit-tap-highlight-color: transparent; }
    .site-header .btn--menu span::before,
    .site-header .btn--menu span::after { content: ""; position: absolute; left: 50%; width: 32px; height: 2px; background: var(--bg-primary-color); border-radius: 2px; transform: translateX(-50%); transition: transform .35s ease, top .35s ease, bottom .35s ease, opacity .25s ease; }
    .site-header .btn--menu span::before { top: 8px; }
    .site-header .btn--menu span::after { bottom: 8px; }    
    .menu-open .site-header .btn--menu span { background: transparent; }
    .menu-open .site-header .btn--menu span::before { top: 50%; width: 22px; transform: translate(-50%, -50%) rotate(45deg); }
    .menu-open .site-header .btn--menu span::after { bottom: auto; top: 50%; width: 22px; transform: translate(-50%, -50%) rotate(-45deg); }
    
    .site-nav-primary { opacity: 0; visibility: hidden; overflow: hidden; overflow-y: auto; position: absolute !important; top: 120px; left: 0; align-items: flex-start; margin: 0; padding-bottom: 40px; width: 100%; height: calc( var(--vh) - 119px ); background: var(--bg-headline-color); backdrop-filter: blur(60px); transform: translateX(-100%); transition: .35s ease; }
    .site-nav--menu { width: 100%; }
    .site-nav--menu > ul { flex-direction: column; gap: 0; align-items: flex-start; justify-content: flex-start; margin-top: 40px; padding: 0; width: 100%; height: 100%; }
    .site-nav--menu > ul > li { position: relative !important; padding-left: 32px; width: 100%; height: auto; }
    .site-nav--menu > ul > li > a { padding-top: 10px; padding-bottom: 10px; }
    .site-nav--menu .menu-links-secondary { display: flex; }
    .site-nav--menu .menu-links-secondary:first-child { border-top: 1px solid var(--border-color); }

    .megamenu { position: relative; padding: 0; height: 0; background: transparent; transform: translateX(0); transition: height .35s ease, opacity 0; }        
    .megamenu--body .container { padding: 0; }    
    .megamenu--contents { flex: auto; margin: 0; min-height: auto; }
    .megamenu--content { pointer-events: all; opacity: 1; position: relative; gap: 0; transform: translateY(0); }
    .megamenu--content-inner { width: 100%; }
    .megamenu--links { margin-left: 20px; width: auto; }
    .megamenu--links-title { display: flex; margin-top: 10px; color: var(--text-off-color); font-size: 14px; letter-spacing: -.14px; }
    .megamenu--content:first-child .megamenu--links-title { margin: 0; }
    .megamenu--links li a { height: 44px; border: none; }
    .megamenu--links li a::after { display: none; }
    .megamenu--menus,
    .megamenu--description,
    .megamenu--links li .megamenu--link-num,
    .megamenu--image,
    .megamenu--footer { display: none; }   
    .site-nav--menu > ul > li.megamenu-open > a::after { transform: rotate(180deg); }
    .megamenu-open .megamenu { pointer-events: all; opacity: 1; visibility: visible; height: auto; }

    .search-box .search-form { overflow: hidden; max-width: 90%; }    
    
    /* Pages */    
    .site-page { overflow: hidden; }
    .site-page > p.has-text-align-center,    
    .site-page > div > p.has-text-align-center { padding: 0 30px; }  
    
    /* Blocks */
    .post--meta { flex-wrap: wrap; }
    .post--date { display: block; width: 100%; text-align: center; }
    .post--author-box { flex-direction: column; gap: 30px; justify-content: center; padding: 40px; text-align: center; }
    .post--author-box img { display: block; margin: 0 auto; }

    /* Sliders */
    .swiper { --swiper-pagination-bullet-horizontal-gap: 5px; --swiper-scrollbar-size: 3px; }
    .swiper .swiper-button-prev,
    .swiper .swiper-button-next { margin-top: -15px; width: 30px; height: 30px; }    
    .swiper-navigation { right: auto; left: 50%; transform: translateX(-50%); }

    /* Newsletter */
    .block--newsletter { margin-top: 60px; padding: 40px 0; }
    .block--newsletter .newsletter--content { flex-direction: column; gap: 0; }
    .block--newsletter .newsletter--title { flex: auto; }
    .block--newsletter .newsletter--form .piotnetforms .piotnet-column__inner { flex-direction: column; }
    .block--newsletter .container > p:empty { display: none; }

    /* Footer */
    .site-footer .footer--content,
    .site-footer .footer--content-2,
    .site-footer .site-nav-social { flex-direction: column; gap: 30px; align-items: center; justify-content: center; text-align: center; }
    .site-footer .site-nav-social { gap: 12px; }
    .site-footer .footer--columns,
    .site-footer .footer--bar { flex-direction: column; gap: 30px; }
    .site-footer .footer--bar { align-items: center; justify-content: center; padding: 30px 0; }
    
}


/**
 * COMPONENTES
 **/

 /* HEADING */

.block--page-heading { --gap: 12.5px; margin: 14px auto 50px; }
.block--page-heading .container { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.block--page-heading .container > * { position: relative; z-index: 2; }
.block--page-heading .block--headline { margin-bottom: 28px; }
.block--page-heading .block--title { position: relative; max-width: 800px; color: var(--text-color); font-size: 55px; font-weight: 700; line-height: 1em; letter-spacing: -0.55px; text-align: center; }
.block--page-heading:not(.heading-code) { max-width: var(--max); }
.block--page-heading.heading-code .block--title::before,
.block--page-heading.heading-code .block--title::after { content: "<"; display: inline-block; margin: 0 10px; color: var(--primary-color); }
.block--page-heading.heading-code .block--title::after { content: "/>"; }
.block--page-heading.heading-code .block--subtitle,
.block--page-heading.heading-code .block--description { max-width: var(--max); }
.block--page-heading .block--subtitle { margin-top: var(--gap); color: var(--text-color); font-size: 29px; font-weight: 400; line-height: 1.25em; letter-spacing: -0.29px; text-align: center; }
.block--page-heading .block--title strong,
.block--page-heading .block--subtitle strong { color: var(--white-color); font-weight: 600; }
.block--page-heading .block--description { opacity: 0.5; margin-top: 37px; color: var(--text-color); font-size: 25px; font-weight: 400; line-height: 1em; letter-spacing: -0.25px; text-align: center; }
.block--page-heading .back-link { opacity: 1; display: inline-flex; gap: 11px; align-items: center; justify-content: center; margin-bottom: 23px; color: var(--white-off-color); font-size: 13px; font-weight: 700; line-height: 23px; text-align: center; }
.block--page-heading .back-link i { color: var(--primary-color); font-size: 8px; }
.block--page-heading + .block--container { margin-bottom: 100px; }
@media screen and (max-width: 991px) {
    .block--page-heading { margin-bottom: 20px; }    
    .block--page-heading .block--title { font-size: 31px; line-height: 37px; }
    .block--page-heading .block--subtitle { font-size: 17px; }
}

/* HERO */

.block--hero { display: flex; align-items: center; justify-content: center; padding: 68px 0; }
.block--hero .container { display: flex; align-items: center; justify-content: center; }
.block--hero .block--title { margin: 0; color: var(--text-color); font-size: 75px; font-weight: 700; line-height: 1em; letter-spacing: -0.75px; text-align: center; }
.block--hero .block--title strong { background: linear-gradient(90deg, #FF1E40 0%, #FF1E5E 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.block--hero .block--title + p { margin-top: 27px; }
.block--hero .block--content { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; max-width: 800px; height: 100%; text-align: center; }
.block--hero .block--content p { color: var(--text-off-color); font-size: 29px; line-height: 1em; letter-spacing: -0.29px; }
.block--hero .block--content p strong { color: var(--text-color); }
.block--hero .block--content .btn-group { display: flex; align-items: center; margin-top: 35px; }
.block--hero .block--content .btn.btn-primary { position: relative; height: 70px; background: rgba(255, 255, 255, 0.20); backdrop-filter: blur(7.800000190734863px); }
.block--hero .block--content .btn.btn-primary:hover { color: var(--white-color); background: rgba(255, 255, 255, 0.10); }
.block--hero .block--content .btn.btn-primary::before { content: "\e902"; display: flex; align-items: center; justify-content: center; color: var(--white-color); font-family: 'upside-icons' !important; font-size: 14px; width: 49px; height: 32px; background: var(--primary-color); border-radius: 100px; transition: .4s; }
.block--hero .block--content .btn.btn-primary:hover::before { color: var(--primary-color); background: var(--white-color); }
.block--hero .hero-image { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; }
.block--hero .hero-image img { position: absolute; display: block; width: 100%; height: 100%; object-fit: cover; }
.block--hero .hero-video { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%;  }
.block--hero .hero-video video { width: 100%; height: 100%; object-fit: cover; }
@media screen and (max-width: 991px) {
    .block--hero { padding: 60px 0 0; min-height: auto; }
    .block--hero .container,
    .block--hero.hero-reverse .container { flex-direction: column; align-items: center; }
    .block--hero .block--title { padding: 0 35px; font-size: 32px; line-height: 36px; }
    .block--hero .block--content { flex: none; padding: 0; text-align: center; }
    .block--hero .block--content p { max-width: none; font-size: 14px; line-height: 23px; }    
    .block--hero .block--content .btn-group { flex-direction: column; margin-top: 25px; }    
}

/* ICONS */

.block--icons { margin: 100px 0; }
.block--icons .container { max-width: var(--max-width); }
.block--icons .block--heading { text-align: center; }
.block--icons .icons-slider { margin-top: 57px; }
.block--icons .icons-slider:has(.swiper-pagination-lock) { padding-bottom: 8px; }
.block--icons .icons--title { margin-top: 16px; color: var(--text-color); font-size: 16px; font-weight: 700; line-height: 23px; letter-spacing: -0.16px; text-align: center; }
.block--icons .icons--item { padding: 30px 20px 35px; height: 100%; background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 20px; }
.block--icons .icons--image { position: relative; display: flex; align-items: center; justify-content: center; width: 67px; height: 67px; color: var(--primary-color); font-size: 24px; }
.block--icons .icons--image::after { content: " "; opacity: .1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--primary-color); border-radius: 100px; }
.block--icons p { font-size: 14px; font-weight: 400; line-height: 23px; }
.block--icons a { color: var(--text-color) !important; }
.block--icons.icons-centered .icons--item { display: flex; flex-direction: column; align-items: center; }
.block--icons.icons-right .icons--item { display: flex; flex-direction: column; align-items: flex-end; }
.block--icons.icons-right .icons--image { text-align: right; }
@media screen and (max-width: 991px) {
    .block--icons { margin: 50px 0; }        
    .block--icons .icons-slider { margin-left: -20px; padding: 0 20px; width: calc( 100% + 40px ); }
    .block--icons .icons-slider .icons--item { text-align: center; }
    .block--icons .icons--image > span { display: inline-flex; }
}

/* HEADLINE */

.block--headline { display: inline-flex; height: 34px; padding: 3px 17px 2px 17px; justify-content: center; align-items: center; gap: 10px; color: var(--primary-color);  font-weight: 700; line-height: 29px; letter-spacing: -0.14px; border-radius: 17px; background: var(--bg-headline-color); }

/* IMAGE COLUMN */

.block--mediacontent { --image-width: 515px; --gap: 80px; margin: 140px 0; }
.block--mediacontent .container { display: flex; align-items: center; justify-content: center; gap: var(--gap); max-width: var(--max-width-content); }
.block--mediacontent .block--content { width: 100%; }
.block--mediacontent .block--headline { margin-bottom: 22px; }
.block--mediacontent .wp-block-heading { position: relative; margin-bottom: 22px; color: var(--text-color); font-size: 30px; font-weight: 700; line-height: 1em; letter-spacing: -0.3px; }
.block--mediacontent .wp-block-paragraph,
.block--mediacontent .wp-block-list { opacity: .6; color: var(--text-color); font-size: 17px; font-weight: 400; line-height: 26px; letter-spacing: -0.17px; }
.block--mediacontent .wp-block-list { opacity: .8; }
.block--mediacontent .has-small-font-size { opacity: 1 !important; font-size: 15px !important; }
.block--mediacontent .block--content .btn { margin-top: 29px; }
.block--mediacontent .block--content .btn-primary { display: flex; }
.block--mediacontent .block--image { width: 100%; flex: 0 0 var(--image-width); }
.block--mediacontent .block--image img { width: 100%; height: auto; }
.block--mediacontent .block--content .block--buttons  { margin: 20px 0 30px; }
.block--mediacontent .block--content .block--buttons .btn { margin: 0; padding: 7px 15px; height: 31px; }
.block--mediacontent.content-reverse .container { flex-direction: row-reverse; }
.block--mediacontent.feat { --gap: 72px; overflow: hidden; display: flex; align-items: center; justify-content: center; min-height: 654px; }
.block--mediacontent.feat .container { align-items: stretch; }
.block--mediacontent.feat .block--content { width: 100%; max-width: 380px; }
.block--mediacontent.feat .wp-block-heading { color: var(--text-off-color); font-size: 40px; font-weight: 700; line-height: 1em; letter-spacing: -0.4px; }
.block--mediacontent.feat .wp-block-heading strong { color: var(--text-color); }
.block--mediacontent.feat .wp-block-paragraph { opacity: 1; }
.block--mediacontent.feat .block--image { position: relative; flex: 1; }
.block--mediacontent.feat .block--image img { position: absolute; top: 50%; left: 0; display: block; margin-top: -327px; width: 67vw; height: 654px; border-radius: 31px; aspect-ratio: 308/157; object-fit: cover; }
.block--mediacontent.iconlist-check .block--content ul li::before,
.block--mediacontent.iconlist-security .block--content ul li::before { content: "\e908"; display: flex; align-items: center; justify-content: center; color: var(--primary-color); font-family: 'upside-icons' !important; font-size: 16px; background: transparent; }
.block--mediacontent.iconlist-security .block--content ul li::before { content: "\e910"; }
@media screen and (max-width: 991px) {        
    .block--mediacontent { --gap: 0 !important; margin: 60px 0; }
    .block--mediacontent .container { flex-direction: column !important; }    
    .block--mediacontent .block--content { padding: 30px; }
    .block--mediacontent .wp-block-heading { margin-bottom: 17px; font-size: 30px; letter-spacing: -0.9px; }
    .block--mediacontent .block--content p { font-size: 16px; line-height: 24px; letter-spacing: -0.48px; }
    .block--mediacontent .block--content,
    .block--mediacontent .block--image { width: 100%; flex: none; }    
    .block--mediacontent.feat .block--image img { position: relative; top: auto; margin: 0; width: 100%; height: auto; border-radius: 16px; }
}

/* CAROUSEL */

.block--carousel { margin: 100px 0 150px; }
.block--carousel .container { max-width: 100%; }
.block--carousel .block--heading .block--title { color: var(--text-off-color); }
.block--carousel .block--heading .block--title strong { color: var(--text-color); }
.block--carousel .block--heading .block--description { opacity: 1; }
.block--carousel .block--content { margin-top: 50px; }
.block--carousel .swiper { --swiper-navigation-sides-offset: 23.5%; }
.block--carousel .carousel-slider:has(.swiper-pagination) { padding-bottom: 56px; }
.block--carousel .swiper .swiper-button-prev,
.block--carousel .swiper .swiper-button-next { top: 14vw; }
.block--carousel .swiper-pagination { bottom: 0; }
.block--carousel .slide--item { position: relative; display: flex; align-items: center; justify-content: center; margin: 0 auto; width: 720px; height: 480px; border-radius: 26px; opacity: 0.3; filter: blur(9.25px); }
.block--carousel .slide--item img { margin-top: -25px; width: 100%; height: 100%; aspect-ratio: 3/2; border-radius: 26px; object-fit: cover; transition: .4s; }
.block--carousel .slide--item .slide--info { opacity: 0; position: absolute; left: 19px; right: 19px; bottom: 19px; display: flex; align-items: center; padding: 24.5px 20px 21.75px; background: rgba(23, 23, 23, 0.50); border-radius: 20px; backdrop-filter: blur(10.850000381469727px); }
.block--carousel .slide--item .slide-title { display: block; color: var(--white-color); font-size: 15px; font-weight: 700; line-height: 16px; letter-spacing: -0.15px; }
.block--carousel .slide--item .slide-description { display: block; margin-top: 8.42px; color: var(--white-color); font-size: 13px; font-weight: 400; line-height: 16px; letter-spacing: -0.13px; }
.block--carousel .slide--item .slide--links { display: flex; gap: 25px; align-items: center; margin-top: 6.34px; margin-left: 25px; height: 100%; }
.block--carousel .slide--item .slide--links .link-item { width: 40.558px; }
.block--carousel .slide--item .slide--links .link-item img { width: 100%; height: auto; border-radius: 0; object-fit: contain; }
.block--carousel .swiper-slide-active .slide--item  { opacity: 1; filter: none; }
.block--carousel .swiper-slide-active .slide--item  img { margin-top: 0; }
.block--carousel .swiper-slide-active .slide--item  .slide--info { opacity: 1; }
.block--carousel .swiper-slide-active .slide--item .slide-title,
.block--carousel .swiper-slide-active .slide--item .slide-description,
.block--carousel .swiper-slide-active .slide--item .btn { opacity: 1; visibility: visible; }
.block--carousel .swiper .swiper-button-prev,
.block--carousel .swiper .swiper-button-next { color: var(--text-color); font-size: 16px; background: transparent; }
@media screen and (max-width: 991px) {
    .block--carousel { margin: 60px 0; }
    .block--carousel .container { padding: 0; }
    .block--carousel .block--title { padding: 0 30px; font-size: 30px; letter-spacing: -0.9px; }
    .block--carousel .block--description { font-size: 18px; }
    .block--carousel .swiper { --swiper-navigation-sides-offset: 8px; }
    .block--carousel .swiper .swiper-button-prev,
    .block--carousel .swiper .swiper-button-next { top: 25vw; }
    .block--carousel .slide--item { flex-direction: column; width: 100%; height: auto; }
    .block--carousel .slide--item img { margin-top: -45px; }           
    .block--carousel .slide--item .slide--info { position: relative; left: auto; right: auto; bottom: auto; flex-direction: column; margin: -30px 20px 0; width: 90%; }        
    .block--carousel .slide--item .slide--links { margin: 30px auto 0; }
    .block--carousel .swiper-slide-active .slide--item img { margin-top: 0; }    
}

/* BANNER */

.block--banner { --gap: 80px; margin: 200px 0; }
.block--banner .container { position: relative; }
.block--banner .banner--wrap { position: relative; display: flex; gap: var(--gap); align-items: center; justify-content: space-between; padding: 72px 65px 71px 88px; max-width: none; width: 100%; background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 30px; }
.block--banner .block--heading { position: relative; z-index: 2; }
.block--banner .block--heading .block--headline { margin-bottom: 29px; }
.block--banner .block--heading .block--title { width: 100%; color: var(--text-color); font-size: 51px; font-weight: 700; line-height: 50px; letter-spacing: -0.51px; text-align: left; }
.block--banner .block--heading .block--title strong { display: block; margin-top: -24px; font-size: 120px; font-weight: 700; line-height: 1em; letter-spacing: -1.2px; background: var(--gradient); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.block--banner .block--content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; width: 100%; }
.block--banner .block--content .wp-block-paragraph { color: var(--text-off-color); font-size: 17px; line-height: 29px; letter-spacing: -0.17px; }
.block--banner .block--content .wp-block-paragraph strong { color: var(--text-color); font-weight: 700; }
.block--banner .block--content .has-small-font-size { font-size: 15px !important; font-weight: 700; line-height: 1em; letter-spacing: -0.15px; }
.block--banner .block--content .btn { margin-top: 26px; padding: 21px 46px; height: 60px; }
.block--banner .block--content ul li { color: var(--text-off-color); font-size: 17px; font-weight: 400; line-height: 26px; letter-spacing: -0.17px; }
.block--banner .block--content ul li::before { content: "\e908"; display: flex; align-items: center; justify-content: center; color: var(--primary-color); font-family: 'upside-icons' !important; font-size: 16px; background: transparent; }
.block--banner.banner-column { --gap: 30px; }
.block--banner.banner-column .banner--wrap { flex-direction: column; padding: 85px 85px 109px; }
.block--banner.banner-column .block--heading .block--title strong,
.block--banner.banner-column .block--heading .block--title strong { display: inline-block; font-size: 50px; font-weight: 700; line-height: 1em; letter-spacing: -0.5px; }
.block--banner.banner-column .block--content { align-items: center; margin: 0 auto; max-width: 542px; text-align: center; }
.block--banner.banner-centered { --gap: 0; }
.block--banner.banner-centered .banner--wrap { padding: 40px; flex-direction: column; background: transparent; border-color: transparent; }
.block--banner.banner-centered .block--image { position: absolute; left: 50%; top: -60px; transform: translateX(-50%); }
.block--banner.banner-centered .block--image img { display: block; max-width: 318px; max-height: 413px; object-fit: contain; }
.block--banner.banner-centered .block--heading { display: flex; flex: 0 0 100%; justify-content: space-between; width: 100%; }
.block--banner.banner-centered .block--heading .block--title,
.block--banner.banner-centered .block--heading .block--title strong { margin: 0; width: 100%; max-width: 418px; font-size: 85px; font-weight: 700; line-height: 100px; letter-spacing: -0.85px; }
.block--banner.banner-centered .block--heading .block--subtitle { width: 100%; max-width: 285px; color: var(--text-color); font-size: 22px; font-weight: 400; line-height: 32px; letter-spacing: -0.22px; }
.block--banner.banner-centered .block--heading .block--subtitle strong { background: var(--gradient); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.block--banner.banner-centered .block--content { align-items: center; margin: 0 auto; max-width: 542px; text-align: center; }
.block--banner.banner-centered .block--content:not(:empty) { margin-top: 40px; }
.block--banner.banner-background .banner--wrap { padding: 55px 40px 77px 63px; }
.block--banner.banner-background .block--heading { width: 100%; max-width: 536px; }
.block--banner.banner-background .block--heading .block--title,
.block--banner.banner-background .block--heading .block--title strong { display: inline-block; font-size: 51px; font-weight: 700; line-height: 50px; letter-spacing: -0.51px; }
.block--banner.banner-background .block--heading .block--subtitle { margin-top: 34px; color: var(--text-off-color); font-size: 17px; font-weight: 700; line-height: 24px; letter-spacing: -0.17px; }
.block--banner.banner-background .block--heading .block--subtitle strong { color: var(--text-color); }
.block--banner.banner-background .block--content { width: 100%; max-width: 378px; }
.block--banner.banner-background .block--content .btn { margin-top: 17px; }
.block--banner.banner-background .block--image { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; }
.block--banner.banner-background .block--image img  { opacity: .2; display: block; width: 100%; height: 100%; object-fit: cover; }
@media screen and (max-width: 991px) {
    .block--banner { margin: 40px 0 0; }
    .block--banner .container { padding: 0 20px; }            
    .block--banner .block--heading { flex-direction: column !important; }
    .block--banner .banner--wrap { flex-direction: column !important; gap: 30px; padding: 30px; }
    .block--banner .block--image { position: relative !important; top: 0 !important; }
    .block--banner .block--heading .block--title { font-size: 32px; line-height: 36px; letter-spacing: -.32px; }
    .block--banner .block--heading .block--title strong { font-size: 62px; line-height: 68px; letter-spacing: -.66px; }
    .block--banner.banner-centered .block--heading .block--title,
    .block--banner.banner-centered .block--heading .block--title strong { font-size: 44px; line-height: 52px; letter-spacing: -0.44px; }
    .block--banner.banner-column .banner--wrap { padding: 60px; }
    .block--banner.banner-column .block--title { text-align: center; }
}

/* CARDS */

.block--cards { margin: 140px 0; }
.block--cards .container { position: relative; }
.block--cards .block--heading { display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 60px; }
.block--cards .block--heading .block--title { width: 100%; color: var(--text-color); font-size: 55px; font-weight: 700; line-height: 50px; letter-spacing: -0.55px; text-align: left; }
.block--cards .cards-slider { position: static; overflow: visible; color: var(--primary-color); }
.block--cards .cards-slider:has(.swiper-pagination) { padding-bottom: 45px; }
.block--cards .swiper { --swiper-pagination-bullet-inactive-color: #D9D9D9; }
.block--cards .swiper-slide { opacity: 0; transition: .4s; }
.block--cards .swiper-slide.swiper-slide-active,
.block--cards .swiper-slide.swiper-slide-active + .swiper-slide,
.block--cards .swiper-slide.swiper-slide-active + .swiper-slide + .swiper-slide { opacity: 1; }
.block--cards .swiper-pagination { bottom: 0; }
.block--cards .swiper-button-next,
.block--cards .swiper-button-prev { left: auto; bottom: auto; top: 0; right: 0; margin-top: -1px; background: var(--bg-headline-color); }
.block--cards .swiper-button-prev { right: 70px; }
.block--cards .swiper .swiper-pagination-bullet-active { width: 8px; }
.block--cards .block--content { position: static; margin-top: 52px; }
.block--cards .slide--item { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px 20px 42px; width: 100%; height: 100%; background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 20px; }
.block--cards .slide--item img { position: relative; z-index: 1; width: 100%; height: 194px; object-fit: cover; border-radius: 14px; filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.08)); }
.block--cards .slide--item .btn { margin-top: 26px; }
.block--cards .slide--item .slide-label { display: flex; margin: 22px auto 14px; width: fit-content; height: 31px; padding: 7px 15px; justify-content: center; align-items: center; gap: 10px; color: var(--primary-color); font-size: 12px; font-weight: 700; line-height: 1em; letter-spacing: -0.12px; background: var(--bg-headline-color); border-radius: 100px; }
.block--cards .slide--item .slide-title { display: block; margin-top: 14px; color: var(--text-color); font-size: 20px; font-weight: 700; line-height: 1em; letter-spacing: -0.2px; text-align: center; }
.block--cards .slide--item .slide-description { margin-top: 30px; display: block; color: var(--text-off-color); font-size: 15px; font-weight: 400; line-height: 24px; letter-spacing: -0.15px; text-align: center; }
.block--cards .slide--item .slide-description strong { color: var(--text-color); }
.block--cards .block--footer { position: absolute; top: 0; right: 0; }
.block--cards:has(.swiper-button-prev) .block--footer { right: 148px; }
.block--cards.cards-default .slide--item .btn { display: none; }
.block--cards.cards-compact .slide--item { padding-top: 40px; }
.block--cards.cards-compact .slide-image { order: 1; display: flex; align-items: center; justify-content: center; width: 100%; max-width: 95px; height: 45px; }
.block--cards.cards-compact .slide-image img { width: 100%; height: 100%; object-fit: contain; }
.block--cards.cards-compact .slide--item .slide-description { order: 2; }
.block--cards.cards-compact .slide--item .slide-title { order: 3; margin-top: 12px; font-size: 14px; font-weight: 700; line-height: 29px; letter-spacing: -0.14px; }
.block--cards.cards-featured .swiper-wrapper { justify-content: center; }
.block--cards.cards-featured .swiper-slide { display: flex; margin: 0 !important; width: calc( var(--width) - 45px ) !important; height: auto; }
.block--cards.cards-featured .slide--item { z-index: 1; justify-content: flex-start; padding: 55px 0; border-color: transparent; }
.block--cards.cards-featured .slide--item .slide-label { margin-top: 0; }
.block--cards.cards-featured .slide--item .slide-title { margin: 20px 0; padding: 0 40px; text-align: center; font-size: 30px; font-weight: 700; line-height: 1em; letter-spacing: -0.3px; }
.block--cards.cards-featured .slide--item .slide-description { margin-top: 20px; padding: 0 29px; min-height: 320px; }
.block--cards.cards-featured.cards-compact .block--heading .block--title { color: var(--text-off-color); font-size: 40px; font-weight: 700; line-height: 1em; letter-spacing: -0.4px; text-align: center; }
.block--cards.cards-featured.cards-compact .block--heading .block--title strong { color: var(--text-color); }
.block--cards.cards-featured.cards-compact .block--content { margin-top: 68px; }
.block--cards.cards-featured.cards-compact .slide-image { margin: 0 auto; width: 65px; height: 65px; }
.block--cards.cards-featured.cards-compact .slide-image img { width: auto; max-width: 100%; height: auto; max-height: 100%; border-radius: 0; }
.block--cards.cards-featured.cards-compact .slide--item { padding: 75px 0 60px; border-color: var(--border-color); }
.block--cards.cards-featured.cards-compact .slide--item .slide-title { font-size: 18px; font-weight: 700; line-height: 1em; letter-spacing: -0.18px; text-align: center; }
.block--cards.cards-featured.cards-compact .slide--item .slide-description { margin-top: 25px; min-height: 100px; }
.block--cards.cards-featured.cards-compact .slide--item .btn { margin-top: 0 !important; height: 60px; }
.block--cards.cards-featured.cards-compact .slide--item:hover .btn { opacity: .8 !important; }
.block--cards.cards-effect .slide--item img { filter: brightness(0) invert(1); }
@media screen and (min-width: 992px) {
    .block--cards.cards-featured .swiper-slide.swiper-slide-active .slide--item { border-radius: 20px 0 0 20px; }
    .block--cards.cards-featured .swiper-slide.swiper-slide-next { width: var(--width) !important; }
    .block--cards.cards-featured .swiper-slide.swiper-slide-next + .swiper-slide .slide--item { border-radius: 0 20px 20px 0; }
    .block--cards.cards-featured .swiper-slide.swiper-slide-next .slide--item { z-index: 2; margin-top: -37px; height: calc( 100% + 64px ); box-shadow: 0 0 37.4px 0 rgba(0, 0, 0, 0.18); }
    .block--cards.cards-featured .swiper-slide.swiper-slide-next .slide--item .slide-title { padding: 0 65px; }
    .block--cards.cards-featured .swiper-slide.swiper-slide-next .slide--item .slide-description { padding: 0 55px; }
    .block--cards.cards-featured .swiper-slide.swiper-slide-next .slide--item .btn { margin-top: 60px; }
    .block--cards.cards-featured.cards-compact .swiper-slide.swiper-slide-next .slide--item { z-index: 2; margin-top: -21px; height: calc( 100% + 42px ); box-shadow: 0 0 61.4px 0 rgba(0, 0, 0, 0.25); }
    .block--cards.cards-featured.cards-compact .swiper-slide.swiper-slide-next .slide--item .btn { margin-top: 30px !important; }
    .block--cards.cards-featured.cards-compact .swiper-slide:not(.swiper-slide-next) .slide--item .btn { color: var(--text-primary-color); background: var(--bg-headline-color); }
    .block--cards.cards-featured.cards-compact .swiper-slide:not(.swiper-slide-next) .slide--item:hover .btn { opacity: .7 !important; }
}
@media (hover: hover) {
    .block--cards.cards-featured .swiper-wrapper .swiper-slide,
    .block--cards.cards-featured .swiper-wrapper .swiper-slide * { transition: .4s; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide { width: calc( var(--width) - 45px ) !important; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide:first-child .slide--item { border-radius: 20px 0 0 20px; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide:nth-child(3) .slide--item { border-radius: 0 20px 20px 0; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide .slide--item { margin: 0; height: 100%; box-shadow: none; border-radius: 0; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide .slide--item .slide-title { padding: 0 40px; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide .slide--item .slide-description { padding: 0 30px; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide .slide--item .btn { color: var(--white-color); height: 60px !important; background: var(--bg-headline-color); }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide:hover { width: var(--width) !important; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide:hover .slide--item { z-index: 2; margin-top: -21px; height: calc( 100% + 42px ); box-shadow: 0 0 37.4px 0 rgba(0, 0, 0, 0.18); border-radius: 20px; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide:hover .slide--item .slide-title { padding: 0 65px; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide:hover .slide--item .slide-description { padding: 0 55px; }
    .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide:hover .slide--item .btn { opacity: 1 !important; background: var(--gradient); }
    /* .block--cards.cards-featured .swiper-wrapper:has(.swiper-slide:hover) .swiper-slide:hover + .swiper-slide .slide--item { border-radius: 0 20px 20px 0; } */
}
@media screen and (max-width: 991px) {
    .block--cards { --width: 100% !important; margin: 60px 0; padding: 0; }
    .block--cards .block--heading .block--title { font-size: 32px; line-height: 36px; letter-spacing: -0.32px; text-align: center; }    
    .block--cards .block--title { font-size: 30px; letter-spacing: -0.9px; }
    .block--cards .block--description { margin-top: 21px; font-size: 18px; }        
    .block--cards .block--content { margin: 30px 0; }
    .block--cards .cards-slider { width: auto; }
    .block--cards .swiper-wrapper { justify-content: unset !important; }
    .block--cards .swiper-slide,
    .block--cards.cards-featured .swiper-slide { opacity: 1; width: 100% !important; }
    .block--cards .swiper-button-next,
    .block--cards .swiper-button-prev { top: 0 !important; right: auto; left: 50%; margin-left: 10px; }
    .block--cards .swiper-button-prev { left: auto; right: 50%; margin-right: 10px; }    
    .block--cards .slide--item .slide-label { top: 10px; left: 10px; }
    .block--cards .slide--item .slide-title { font-size: 22px; letter-spacing: -0.66px; }
    .block--cards .slide--item .slide-description { font-size: 16px; }
    .block--cards .slide--item.video .slide-image::after { width: 60px; height: 60px; }
    .block--cards .block--footer { position: relative; top: auto; left: auto; right: auto !important; }
    .block--cards .block--footer .btn { width: 100%; }
    .block--cards.cards-featured .swiper-slide.swiper-slide-active .slide--item { margin-top: -10px; height: calc(100% + 20px); }
}
[data-theme="light"] .block--cards .slide--item .slide-label { opacity: .5; color: #353535; background: rgba(65, 65, 65, 0.10); }
[data-theme="light"] .block--cards.cards-effect .slide--item img { filter: invert(1) sepia(0%) saturate(0) hue-rotate(310deg) brightness(78%) contrast(40%); }
/* [data-theme="light"] .block--cards .slide--item img { filter: invert(1) contrast(1%) opacity(0.4); } */

/* POSTS */

.cards--grid { display: flex; gap: var(--gap, 30px); flex-wrap: wrap; }
.cards--grid .card { width: calc(50% - 15px ); height: auto; }
.cards--grid.grid-3 .card { width: calc(33.33% - 20px ); }
@media screen and (max-width: 1100px) {
    .cards--grid.grid-3 .card { width: calc(50% - 15px ); }
}
@media screen and (max-width: 991px) {
    .cards--grid { flex-direction: column; }
    .cards--grid.grid-3 .card,
    .cards--grid .card { width: 100%; }
}
.card { overflow: hidden; height: 100%; border-radius: 20px; }
.card > a { position: relative; z-index: 1; display: flex; flex-direction: column; height: 100%; }
.card .card--image { position: relative; width: 100%; height: 213px; }
.card .card--image::before { content: " "; position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 100%; background: transparent url(../images/card-mask.png) bottom center no-repeat; background-size: 100%; }
.card .card--image img { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.card .card--content { flex: 1; padding: 26px 30px 86px; height: 100%; background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 0 0 20px 20px; }
.card .card--content:has(.card--description) { padding-bottom: 26px; }
.card .card--footer { position: relative; z-index: 2; display: flex; align-items: center; flex-direction: row; gap: 15px; margin-top: -86px; padding: 23px; height: auto; border-top: 1px solid var(--border-separator-color); }
.card .card--footer img { display: block; width: 40px; height: 40px; object-fit: cover; border-radius: 100px; }
.card--category { display: inline-flex; justify-content: center; align-items: center; gap: 10px; margin-bottom: 19px; padding: 7px 15px; height: 31px; color: var(--text-primary-color) !important; background: var(--tag-color); border-radius: 100px; }
.card--title { margin-bottom: 30px; color: var(--text-color); font-size: 20px; font-weight: 700; line-height: 1em; letter-spacing: -0.2px; }
.card--description { color: var(--text-color); }
.card--author { color: var(--text-color); font-size: 13px; font-weight: 700; line-height: 1em; letter-spacing: -0.13px; }
.card--author strong { display: block; margin-top: 8px; color: var(--text-off-color); }

.block--posts { margin: 200px 0; }
.block--posts .block--header { position: relative; display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 57px; }
.block--posts .block--title { max-width: 810px; color: var(--text-off-color); font-size: 55px; font-weight: 700; line-height: 50px; letter-spacing: -0.55px; }
.block--posts .block--title strong { color: var(--text-color); }
.block--posts .posts-slider { overflow: visible; }
.block--posts .swiper-slide { opacity: 0; width: fit-content; transition: .4s; }
.block--posts .swiper-slide.swiper-slide-active,
.block--posts .swiper-slide.swiper-slide-active + .swiper-slide,
.block--posts .swiper-slide.swiper-slide-active + .swiper-slide + .swiper-slide { opacity: 1; }
.block--posts .swiper .swiper-button-prev { left: -30px; top: 50%; margin-top: -80px; }
.block--posts .swiper .swiper-button-next { right: -30px; top: 50%; margin-top: -80px; }
@media (max-width: 991px) {
    .block--posts { margin: 60px 0; }   
    .block--posts .block--header { margin-bottom: 20px; }
    .block--posts .block--header .btn { display: none; }
    .block--posts .block--title { font-size: 32px; line-height: 36px; letter-spacing: -0.32px; }
}

/* POSTSLIST */

.postslist--pagination { margin-top: 100px; text-align: center; }
.postslist--pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; margin: 0 10px; width: 60px; height: 60px; color: var(--text-color); font-size: 16px; font-weight: 700; line-height: 1em; letter-spacing: -0.16px; background: var(--bg-color); border: var(--border-color); border-radius: 100px; }
.postslist--pagination .page-numbers.prev,
.postslist--pagination .page-numbers.next { display: inline-flex; gap: 10px; align-items: center; margin: 0 60px; padding: 0 22px; width: auto; }
.postslist--pagination .page-numbers.prev,
.postslist--pagination .page-numbers.next,
.postslist--pagination .page-numbers.current,
.postslist--pagination .page-numbers:hover { opacity: 1; color: var(--white-color); background: var(--primary-color); }
.postslist--pagination .icon-prev,
.postslist--pagination .icon-next { display: inline-flex; align-items: center; justify-content: center; color: var(--white-color); font-size: 12px; width: 55.553px; height: 35.789px; background: var(--primary-color); border-radius: 100px; }
@media screen and (max-width: 991px) {
    .block--postslist { padding: 0; }
    .block--postslist .block--title { font-size: 30px; letter-spacing: -0.9px; }
    .block--postslist .postslist--grid { flex-direction: column; }
    .block--postslist .postslist--grid .postslist--item { width: 100%; }
    .postslist--pagination { margin-top: 20px; }    
    .postslist--pagination .page-numbers.prev,
    .postslist--pagination .page-numbers.next { justify-content: center; margin: 20px auto; width: 100%; }    
}

/* FORM */

.block--form { --gap: 72px; margin: 140px 0; }
.block--form .container { display: flex; gap: var(--gap); padding: 56px 66px 56px 63px; background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 30px; }
.block--form .form--wrap { flex: 0 0 363px; width: 100%; }
.block--form .form--description { margin-top: 20px; color: var(--text-off-color); font-size: 10px; font-weight: 400; line-height: 14px; letter-spacing: -0.1px; }
.block--form .block--content { flex: 1; width: 100%; }
.block--form .block--content .block--headline { margin-bottom: 29px; }
.block--form .block--content .wp-block-heading { margin-bottom: 30px; color: var(--text-color); font-size: 51px; font-weight: 700; line-height: 50px; letter-spacing: -0.51px; }
.block--form .block--content .wp-block-heading strong { background: var(--gradient); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.block--form .block--content .wp-block-paragraph,
.block--form .block--content .wp-block-list li { color: var(--text-off-color); font-size: 17px; font-style: normal; line-height: 24px; letter-spacing: -0.17px; }
.block--form .block--content ul li::before { background: var(--text-off-color); }
.block--form .block--content .has-small-font-size { font-size: 14px !important; line-height: 19px; letter-spacing: -0.14px; }
@media screen and (max-width: 991px) {
    .block--form { margin: 60px 0; padding: 0 20px; }
    .block--form .container { flex-direction: column; gap: 30px; padding: 30px; }
    .block--form .block--content .wp-block-heading { font-size: 38px; line-height: 44px; letter-spacing: -.38px; }
}

/* TABS */

.block--tabs { margin: 140px 0; }
.block--tabs .block--title { color: var(--text-color); font-size: 30px; font-weight: 700; line-height: 1em; letter-spacing: -0.3px; text-align: center; }
.block--tabs .tabs--wrap { margin-top: 38px;; }
.block--tabs .tabs--nav { display: flex; align-items: center; justify-content: center; gap: 30px; margin-bottom: 72px; }
.block--tabs .tab--btn:not(.active) { background: var(--bg-color); }
.block--tabs .tabs--content { position: relative; }
.block--tabs .tab--panel { pointer-events: none; opacity: 0; position: relative; left: 0; top: 0; width: 100%; transform: translateY(10px); transition: .4s; }
.block--tabs .tab--panel.active { pointer-events: all; opacity: 1; transform: translateY(0); }
.block--tabs .block--mediacontent { margin: 0 auto; }
@media screen and (max-width: 991px) {    
    .block--tabs .tabs--nav { overflow-x: auto; align-items: flex-start; justify-content: flex-start; margin-left: -20px; padding: 0px 20px; width: calc(100% + 40px); scrollbar-width: none; }
    .block--tabs .tabs--nav .tab--btn { flex: 0 0 auto; }
    .block--tabs .block--mediacontent .block--content { padding: 0; }
}

[data-theme="light"] .block--tabs .tab--btn:not(.active) { color: var(--text-off-color); }

/* STEPS */

.block--steps { margin: 80px 0; }
.block--steps .block--title { font-size: 40px;letter-spacing: -0.4px; }
.block--steps .block--content { margin-top: 50px; background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 30px; }
.block--steps .steps--wrap { display: flex; gap: 0; }
.block--steps .steps--nav-slider { margin-left: -7px; padding-left: 7px; }
.block--steps .steps--nav { display: block; padding: 68px 20px 68px 60px; background: var(--bg-secondary-color); border-right: 1px solid var(--border-color); border-radius: 30px 0 0 30px; }
.block--steps .steps--nav-title { margin-bottom: 35px; color: var(--text-color); font-size: 15px; font-weight: 700; line-height: 1em; letter-spacing: -0.15px; }
.block--steps .steps--nav .swiper-wrapper { transform: none !important; }
.block--steps .steps--nav .swiper-slide { height: auto !important; }
.block--steps .steps--nav .step--item { cursor: pointer; overflow: hidden; position: relative; display: block; width: 390px; height: 21px; margin-bottom: 18px; margin-left: -7px; padding-left: 27px; color: var(--text-off-color); font-size: 15px; font-weight: 700; line-height: 1em; letter-spacing: -0.15px; text-overflow: ellipsis; white-space: nowrap; transition: .4s ease-out; }    
.block--steps .steps--nav .step--item::before { content: " "; position: absolute; z-index: 2; top: 50%; left: 6px; margin-top: -6px; width: 6px; height: 6px; background: var(--text-off-color); border: 1px solid var(--bg-color); border-radius: 100px; transition: .4s; }
.block--steps .steps--nav .step--item::after { content: " "; position: absolute; z-index: 1; top: 4px; left: 7px;  width: 6px; height: 6px; background: var(--bg-headline-color); border-radius: 100px; transition: .4s; }
.block--steps .steps--nav .swiper-slide-active .step--label::after { content: "\e901"; display: inline-block; margin-left: 17px; font-family: 'upside-icons' !important; font-size: 11px; } 
.block--steps .steps--nav .swiper-slide-active .step--item { color: var(--text-color); font-size: 19px; letter-spacing: -0.19px; }
.block--steps .steps--nav .swiper-slide-active .step--item::before { margin-top: -5px; }
.block--steps .steps--nav .swiper-slide-active .step--item::after { left: 0; margin-top: -4px;  width: 20px; height: 20px; }
.block--steps .steps--nav .swiper-wrapper::before { content: " "; position: absolute; top: 15px; left: 3px;  width: 1px; height: calc( 100% - 50px ); background: var(--primary-color); }
.block--steps .steps--content { width: 100%; }
.block--steps .steps--content .swiper-slide { height: 538px !important; }
.block--steps .steps--content .step--item { padding: 60px; } 
.block--steps .steps--content .step--badge { position: absolute; top: 21px; right: 27px; display: flex; align-items: center; justify-content: center; width: 47px; height: 47px; color: var(--primary-color); }
.block--steps .steps--content .step--badge::after { content: " "; opacity: .1; position: absolute; top: 0; right: 0; width: 47px; height: 47px; background: var(--gradient); border-radius: 100px; }
.block--steps .steps--content .step--title { margin-bottom: 38px; color: var(--text-color); font-size: 25px; font-weight: 400; line-height: 1.25em; letter-spacing: -0.25px; }
.block--steps .steps--content p { color: var(--text-color); font-size: 15px; font-weight: 700; line-height: 1.25em; letter-spacing: -0.15px; }
.block--steps .steps--content p + ul { margin-bottom: 30px; }
.block--steps .steps--content ul:last-child { margin-bottom: 0; }
.block--steps .steps--content ul li::before { content: "\e908"; display: flex; align-items: center; justify-content: center; color: var(--primary-color); font-family: 'upside-icons' !important; font-size: 16px; background: transparent; }
@media (max-width: 991px) {
    .block--steps .steps--wrap { flex-direction: column; }
    .block--steps .steps--nav { padding: 30px; border-radius: 30px; }
    .block--steps .steps--content { display: block; height: auto; }
    .block--steps .steps--content .swiper-slide { height: auto !important; }
    .block--steps .steps--content .step--item { padding: 80px 32px 40px; }
}

/* FILTERS NAV */

.block--filters-nav { position: relative; z-index: 9; display: flex; flex-direction: column; align-items: center; margin: 4px auto 60px; }
.block--filters-nav span { color: var(--text-off-color); font-size: 11px; font-weight: 400; line-height: 20px; letter-spacing: -0.11px; }
.block--filters-nav ul { list-style: none; display: flex; gap: 20px; align-items: center; justify-content: center; margin-top: 27px; }
.block--filters-nav ul li::before { display: none; }
.block--filters-nav ul li.is-hidden { display: none; }
.block--filters-nav .filter-nav--item { cursor: pointer; display: flex; gap: 10px; align-items: center; justify-content: center; padding: 13px 26px; height: 48px; color: var(--primary-color); font-size: 15px; font-weight: 700; line-height: 22px; background: var(--bg-headline-color); border-radius: 100px; }
.block--filters-nav .filter-nav--more:has(.active) > .filter-nav--item,
.block--filters-nav .filter-nav--item.active { opacity: 1; color: var(--white-color); background: var(--primary-color); }
.block--filters-nav .filter-nav--item.active::before { content: "\e908"; font-family: 'upside-icons' !important; font-size: 12px; }
.block--filters-nav .filter-nav--more { position: relative; }
.block--filters-nav .filter-nav--more span::after { content: "\e906"; font-family: 'upside-icons' !important; font-size: 8px; }
.block--filters-nav .filter-nav--more ul { pointer-events: none; opacity: 0; visibility: hidden; position: absolute; left: -20px; z-index: 99; display: flex; gap: 10px; flex-direction: column; align-items: flex-start; margin: 0; padding-top: 20px; transition: .4s; }
.block--filters-nav .filter-nav--submenu { padding: 20px; background: var(--bg-color); border-radius: 32px; }
.block--filters-nav .filter-nav--more ul li,
.block--filters-nav .filter-nav--more ul li a { width: fit-content; white-space: nowrap; }
.block--filters-nav .filter-nav--more:hover ul { pointer-events: all; opacity: 1; visibility: visible; }
@media (max-width: 991px) {
    .block--filters-nav { position: relative; padding: 0 20px; width: 100%; }
    .block--filters-nav::after,
    .block--filters-nav::before { pointer-events: none; content: " "; position: absolute; bottom: 0; right: -20px; width: 20px; height: 78px; z-index: 9; background: linear-gradient(90deg, rgba(39, 37, 30, 0.00) 0%, #27251E 90%); }
    .block--filters-nav::before { right: auto; left: -20px; transform: rotate(180deg); }
    .block--filters-nav ul { align-items: flex-start; justify-content: flex-start; padding: 0 20px; width: calc( 100% + 40px ); overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; flex-grow: 0; flex-shrink: 0; }
    .block--filters-nav ul::-webkit-scrollbar { display: none; }
    .block--filters-nav ul li { flex: 0 0 auto; } 
    .block--filters-nav ul li.is-hidden { display: block; }
    .block--filters-nav ul li .filter-nav--item { white-space: nowrap; scroll-snap-align: start; }  
    .block--filters-nav .filter-nav--more { display: none; }
}

/* LIGHT */

[data-theme="light"] {
    --text-color: #242323;    
    --text-off-color: rgba(36, 35, 35, 0.50);
    --text-primary-color: #FF1E40;
    --text-dark-color: #FFF;
    --input-color: #F6F6F6;

    --background-page-color: #F6F6F6;
    --bg-color: #FFFFFF;        
    --bg-primary-color: #FF1E40;   
    --bg-secondary-color: #FFFFFF;
    --border-color: #FFF;
    --border-separator-color: #EBEBEB;
    --tag-color: rgba(255, 30, 64, 0.10);
    
}

[data-theme="light"] body.upside { background-image: url(../images/light/background.png); }
[data-theme="light"] body.upside.home { background-image: url(../images/light/background-home.png); }
[data-theme="light"] .btn-secondary { background: var(--bg-headline-color); }
[data-theme="light"] .site-logo { filter: none; }
[data-theme="light"] .site-header .btn--color .icon-light { display: block; }
[data-theme="light"] .site-header .btn--color .icon-dark { display: none; }