/* Variables */

:root {    
    --primary-color: #2CC2D6;
    --secondary-color: #343D4D;    
    --text-color: #343D4D;    
    --text-light-color: #5D6471;
    --white-color: #FFF;    
    --input-color: #EBEDF1;
    --border-color: #C6C6C6;
    --background-color: #F6F6F6;    
    --title-size: 28px;
    --title-medium-size: 28px;
    --title-large-size: 48px;
    --max-width: 1110px;
    --vh: 100vh;
}

/* Reset */

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

body { font-weight: 400; font-size: 15px; font-style: normal; color: var(--text-color); line-height: 22px; background-color: var(--white-color); }
a { text-decoration: none; }
a:hover, a:active, a:focus { text-decoration: none; }

/* Helpers */

.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 */

body.rotoplastyc,
.rotoplastyc input,
.rotoplastyc select,
.rotoplastyc textarea { font-family: "Lato", serif; }

.rotoplastyc { padding-top: 115px; }
.rotoplastyc.blog,
.rotoplastyc.page-template-page-blog,
.rotoplastyc.home { padding-top: 0; }

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

.btn-group { display: flex; gap: 30px; }
.btn { display: inline-flex; align-items: center; border: none; }
.piotnetforms-button,
.btn-primary, 
.btn-secondary { display: inline-flex; gap: 9px; padding: 25px 34px; width: fit-content; height: 65px; align-items: center; justify-content: center; color: var(--white-color); font-size: 16px; font-weight: 800; line-height: 1em; background: linear-gradient(112deg, #31D8EE 4.54%, var(--primary-color) 50.18%); border: 1px solid transparent; border-top: 1px solid rgba(255, 255, 255, .45); border-radius: 8px; box-shadow: 0px 4px 20.8px 0px rgba(44, 194, 214, 0.30); transition: .6s; }
.piotnetforms-button:hover,
.btn-primary:hover,
.btn-secondary { background: linear-gradient(112deg, #48566F 4.54%, #343D4D 50.18%); box-shadow: 0px 4px 20.8px 0px rgba(52, 61, 77, 0.30); }
.btn-primary i { font-size: 14px; }
.btn-rounded { border-radius: 100px; }
.btn-search { cursor: pointer; margin-top: -5px; padding: 6px; font-size: 20px; color: var(--primary-color); background: transparent; border: none; }
.btn-link { color: var(--primary-color); font-family: "Hansom FY"; font-size: 16px; font-style: normal; font-weight: 700; line-height: 70.263px;  }
.btn-icon { --color: var(--white-color); position: relative; display: flex; align-items: center; justify-content: center; width: 45px; height: 45px; color: var(--color); border-radius: 100px; }
.btn-icon::after { content: " "; opacity: .1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--color); border-radius: 100px; }
.btn-icon .btn-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }
.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; }

.block--hero .btn-primary:hover { color: var(--primary-color); background: var(--secondary-color); border-color: var(--primary-color); }

.btn-whatsapp { --image: url('../images/whatsapp-support.png'); position: fixed; z-index: 9999; bottom: 30px; right: 30px; display: block; padding: 6.78px; width: 220px; height: 70px; color: var(--secondary-color); font-size: 15px; font-weight: 700; line-height: 1em; background: rgba(255, 255, 255, 0.80); border-radius: 100px; box-shadow: 10px 10px 40px 0px rgba(52, 61, 77, 0.15); backdrop-filter: blur(2px); }
.btn-whatsapp::after { content: " "; position: absolute; left: 14px; bottom: 14px; width: 58px; height: 58px; background: transparent var(--image) no-repeat; background-size: contain; }
.btn-whatsapp .btn-label-tag { position: absolute; top: 50%; right: 24px; margin-top: -10px; padding: 3px 6px; color: var(--white-color); font-size: 12px; font-weight: 700; line-height: 16px; letter-spacing: -0.36px; background: #25D366; border-radius: 100px; }
.btn-whatsapp .btn-label { display: flex; align-items: center; padding-left: 65px; width: 100%; height: 100%; background: var(--white-color); border-radius: 100px; box-shadow: 2px 2px 6.3px 0px rgba(52, 61, 77, 0.10); }

/* Header */

.site-header { position: relative; z-index: 99; width: 100%; background: var(--secondary-color); transition: ease-in-out .4s; }
.site-header.header--sticky { position: sticky; z-index: 999; top: 0; background: var(--secondary-color); }
.site-header.header--fixed { position: fixed; z-index: 999; top: 0; left: 50%; margin-top: 0; transform: translateX(-50%); }
.site-header .container { display: flex; max-width: 1245px; }

.site-logo { position: relative; z-index: 2; padding: 35px 0 45px; box-sizing: content-box; transition: .4s; }
.site-logo,
.site-logo a { display: block; width: 145px; height: 35px; } 
.site-logo a { text-indent: -99999px; background: transparent url(../images/rotoplastyc-logo.svg) center center no-repeat; background-size: 100%; }

.site-nav { position: relative; z-index: 1; width: 100%; }
.site-nav ul { list-style: none; display: flex; gap: 40px; }
.site-nav ul li a { position: relative; display: flex; gap: 6.57px; align-items: center; padding: 45px 6.35px 53px; height: 115px; color: var(--white-color); font-size: 16px; font-style: normal; font-weight: 600; line-height: 1em; transition: .4s; }
.site-nav ul li a i { color: var(--primary-color); }
.site-nav > ul > li > ul { opacity: 0; visibility: hidden; position: absolute; top: 111px; left: 50%; gap: 0; flex-direction: column; padding: 15px; min-width: 235px; background: var(--white-color); border-radius: 16px; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.08); transform: translateX(-50%); transition: .6s; }
.site-nav > ul > li > ul::before { content: " "; position: absolute; top: -5px; left: 50%; margin-left: -10px; width: 20px; height: 20px; background: var(--white-color); border-radius: 5px; transform: rotate(45deg); }
.site-nav > ul > li > ul li a { height: auto; padding: 15px 5px; color: var(--text-color); font-size: 13px; font-weight: 500; line-height: 16px; border-radius: 8px; transition: .6s; }
.site-nav > ul > li > ul li a:hover { padding: 15px; color: var(--secondary-color); background: var(--background-color); }
.site-nav > ul > li.menu-item-has-children { position: relative; }
.site-nav > ul > li.menu-item-has-children > a { padding-right: 15px; } 
.site-nav > ul > li.menu-item-has-children > a::after { content: "\e905"; position: absolute; top: 50%; right: 1px; margin-top: -10px; font-family: 'rotoplastyc-icons' !important; font-size: 6px; color: var(--primary-color); }
.site-nav > ul > li.menu-item-has-children:hover > ul { opacity: 1; visibility: visible; top: 100px; }

.site-nav-primary { margin-left: 100px; }
.site-nav-primary > ul > li > a::before { content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 3.8px; background: transparent; border-radius: 0px 0px 10px 10px; transition: ease-in-out .4s; }
.site-nav-primary > ul > li.current-menu-item > a::before,
.site-nav-primary > ul > li:hover > a::before { top: 0; background-color: var(--primary-color); }

.site-nav-options { display: flex; gap: 20px; flex: 0 0 145px; }
.site-nav-lang ul { list-style: none; display: flex; gap: 10px; flex-direction: column; }
.site-nav-lang > ul > li > ul { min-width: 100px; }

.search-box { max-height: 0; overflow: hidden; opacity: 0; position: absolute; top: 98px; left: 0; padding: 17px 0 0; width: 100%; background: var(--secondary-color); transition: max-height 0.4s ease-in-out, opacity 0.3s ease-in-out; }
.search-box.active { opacity: 1;max-height: 150px; padding: 0 0 60px; }
.search-box form { position: relative; margin: 0 auto; width: 100%; max-width: var(--max-width); }
.search-box form::before { content: "\e917"; position: absolute; z-index: 4; top: 35px; left: 40px; width: 20px; height: 20px; color: var(--primary-color); font-family: 'rotoplastyc-icons' !important; font-size: 18px; }
.search-box form::after { content: " "; opacity: .1; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--white-color); border-radius: 100px; }
.search-box input { position: relative; z-index: 2; padding: 32px 80px; width: 100%; color: var(--white-color); font-size: 16px; font-weight: 400; line-height: 27px; letter-spacing: -0.32px; background: transparent; border: 1px solid transparent; border-radius: 100px; transition: .4s; }
.search-box input:focus { outline: none; border: 1px solid rgba(255, 255, 255, .2); }
.search-box .btn-primary { position: absolute; z-index: 3; top: 12px; right: 12px; }
.open-search .site-header { height: auto; background: var(--secondary-color) !important; }
.open-search .site-header.sticked .search-box { padding-top: 0; }

.home .site-header { background: transparent; }
.home .site-header.sticked { background: var(--secondary-color); }
.site-header.sticked .site-logo { padding: 26px 0 29px; }
.site-header.sticked .site-nav > ul > li > a { height: 80px; }
.site-header.sticked .site-nav > ul > li > ul { top: 91px; }

/* Pages */

.site-page { overflow: hidden; background: var(--page-bg-color); }
.page--header { position: relative; z-index: 2; display: flex; flex-direction: column; padding: 160px 0 40px; width: 100%; background: var(--secondary-color); }
.page--title { color: var(--white-color); }
.page--title span { font-weight: bold; }
.page--default { padding: 0; }
.page--error { display: flex; flex-direction: column; align-items: center; justify-content:  center; }
.page--error .btn-primary { margin-top: 27px; }
.page--blog { background: var(--background-color); }
.page--blog > .block--page-heading:first-child { padding-top: 180px; }
.page--blog > .block--page-heading:has(.block--breadcrumb) { padding-top: 80px; }
.page--blog .block--page-heading { background: var(--secondary-color); }
.page--blog .block--page-heading .block--title { color: var(--white-color); text-align: center; font-size: 61.48px; font-weight: 700; line-height: 70.263px; }
.page--blog:has( .block--post-featured:not(.none) ) .block--page-heading { padding-bottom: 200px; }
.page--blog .page--search { position: relative; width: 100%; }
.page--blog .page--search form { position: relative; margin: 40px auto; width: 100%; max-width: 720px; }
.page--blog .page--search form::before { content: "\e917"; position: absolute; z-index: 4; top: 35px; left: 40px; width: 20px; height: 20px; color: var(--primary-color); font-family: 'rotoplastyc-icons' !important; font-size: 18px; }
.page--blog .page--search form::after { content: " "; opacity: .1; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--white-color); border-radius: 100px; }
.page--blog .page--search input { position: relative; z-index: 2; padding: 32px 80px; width: 100%; color: var(--white-color); font-size: 16px; font-weight: 400; line-height: 27px; letter-spacing: -0.32px; background: transparent; border: 1px solid transparent; border-radius: 100px; transition: .4s; }
.page--blog .page--search input:focus { outline: none; border: 1px solid rgba(255, 255, 255, .2); }
.page--blog .page--search .btn-primary { position: absolute; z-index: 3; top: 12px; right: 12px; }
.page--blog .page--filters { padding-bottom: 65px; }
.page--blog .page--filters ul,
.page--blog .page--filters .menu-categorias-blog-container { list-style: none; display: flex; gap: 20px; }
.page--blog .page--filters a { opacity: .8; position: relative; display: flex; gap: 10px; align-items: center; justify-content: center; padding: 12px; 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 transparent; }
.page--blog .alert { padding: 40px 0; text-align: center; }
.page--blog .block--post-featured { position: relative; display: block; margin: -200px auto 63px; padding: 16px; max-width: var(--max-width); background: var(--white-color); border-radius: 20px; }
.page--blog .block--post-featured .container > a { display: flex; gap: 37px; }
.page--blog .block--post-featured .block--image img { display: block; width: 621.441px; height: 344.012px; border-radius: 19px; object-fit: cover; aspect-ratio: 621.44/344.01; }
.page--blog .block--post-featured .block--content { position: static; }
.page--blog .block--post-featured .block--title { margin: 30px 0 20px; font-size: 34px; line-height: 38px; }
.page--blog .block--post-featured p { opacity: .8; color: var(--text-color); font-size: 16px; font-weight: 400; line-height: 27px; letter-spacing: -0.32px; }
.page--blog .block--post-featured p:has(> strong) { margin-top: 30px; }
.page--blog .block--post-featured .post--cat { position: absolute; top: 38.58px; left: 38.58px; display: block; padding: 10px 16px; color: var(--secondary-color); font-size: 12px; font-weight: 700; line-height: 1em; }
.page--blog .block--post-featured .post--cat::after { content: " "; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background: var(--white-color); border-radius: 16.306px; }
.page--blog .block--post-featured .post--cat strong { opacity: .6; position: relative; z-index: 2; }
.page--blog .block--post-featured .btn-primary { position: absolute; right: 30px; bottom: 30px; padding: 0; width: 50px; height: 50px; }
.page--blog .block--heading { margin: 60px 0 27px; }
.page--blog .block--footer { display: flex; padding: 60px 0; align-items: center; justify-content: center; }
.page--blog .btn-loading { display: none; }
.page--blog:has(.block--heading.none) .block--posts { padding-top: 60px; }
.page--index.page--blog > .block--page-heading:first-child { padding-top: 80px; padding-bottom: 80px; }
.page--index.page--blog .page--content { padding: 60px 0 90px; }
.block--pagination { position: relative; display: block; margin: 40px auto 0; padding: 0 50px; width: max-content; height: 100%; }
.block--pagination::after { content: " "; position: absolute; z-index: 1; left: 0; top: 0; width: 100%; height: 50px; background: var(--white-color); border-radius: 100px; }
.block--pagination .page-numbers { position: relative; z-index: 2; opacity: 1; display: inline-flex; align-items: center; justify-content: center; margin: 0 5px; width: 21px; height: 50px; color: var(--text-light-color); font-size: 14px; font-weight: 700; line-height: 16px; letter-spacing: -0.42px; background: transparent; transform: none; }
.block--pagination .page-numbers.current { color: var(--primary-color); border: none; }
.block--pagination .page-numbers.current::after { content: " "; position: absolute; bottom: 0; left: 0; width: 100%; height: 3.802px; border-radius: 10px 10px 0px 0px; background: #2CC2D6; }
.block--pagination .prev,
.block--pagination .next { position: absolute; top: 8px; left: 10px; display: flex; align-items: center; justify-content: center; margin: 0; width: 30px; height: 30px; color: var(--white-color); font-size: 10px; background: var(--primary-color); border-radius: 100px; }
.block--pagination .next { left: auto; right: 13px; }
.block--posts.background-color { margin: 130px 0; padding: 130px 0; }
.block--posts.background-color:last-of-type { margin-bottom: 0; }
.block--posts .block--title { margin-bottom: 27px; }
.block--posts .block--footer { padding: 100px 0; }
.block--posts .block--footer.content-center { display: flex; align-items: center; justify-content: center; }
.posts-cards { display: flex; gap: 30px; flex-wrap: wrap; }
.posts-cards .post-card { position: relative; overflow: hidden; display: block; padding-bottom: 25px; width: calc(50% - 15px); background: var(--white-color); border-radius: 20px; }
.posts-cards .post-card .post--cat { position: absolute; top: 38.58px; left: 38.58px; display: block; padding: 10px 16px; color: var(--secondary-color); font-size: 12px; font-weight: 700; line-height: 1em; }
.posts-cards .post-card .post--cat::after { content: " "; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background: var(--white-color); border-radius: 16.306px; }
.posts-cards .post-card .post--cat strong { opacity: .6; position: relative; z-index: 2; }
.posts-cards .post-card .post--title { display: block; padding: 0 25px; color: var(--text-color); font-family: "Hansom FY"; font-size: 27px; font-style: normal; font-weight: 700; line-height: 31px; }
.posts-cards .post-card .post--date { display: block; padding: 0 25px; margin-top: 4px; opacity: .6; color: var(--text-color); font-size: 13px; font-weight: 400; line-height: 32px; }
.posts-cards .post-card img { display: block; margin-bottom: 27px; width: 100%; max-height: 300px; object-fit: cover; }

.wp-block-columns { margin: 0 auto; max-width: var(--max-width); }
.wp-block-columns.is-layout-flex { gap: 70px; }
.wp-block-columns .wp-block-column p { margin-bottom: 1em; }
.wp-block-columns.wp-container-core-columns-is-layout-2 { gap: 72px; }
.wp-block-columns.wp-container-core-columns-is-layout-2 > .wp-block-column:first-child { flex: 0 0 485px; color: var(--text-color); text-align: right; font-size: 20px; font-weight: 400; line-height: 37px; letter-spacing: -0.4px; }
.wp-block-columns.wp-container-core-columns-is-layout-2 > .wp-block-column:last-child { flex: 1; opacity: .8; color: var(--text-color); font-size: 16px; font-weight: 400; line-height: 27px; letter-spacing: -0.32px; }
.wp-block-columns.wp-container-core-columns-is-layout-2 .wp-block-columns { gap: 36px; justify-content: space-between; margin-top: 40px; font-size: 17.852px; font-weight: 700; line-height: 40.804px; text-align: left; }
.wp-block-columns.wp-container-core-columns-is-layout-2 .wp-block-columns .wp-block-column:first-child { flex: 0 0 165px; }
.wp-block-columns.wp-container-core-columns-is-layout-2 .wp-block-columns .wp-block-image img { object-fit: contain !important; }

/* Blocks */

.block { position: relative; }
.block.background-color { --color: var(--background-color); background: var(--color); }
.block--title { color: var(--secondary-color); font-family: "Hansom FY"; font-size: var(--title-large-size); font-weight: 700; line-height: 54px; }
.block--title span { background: linear-gradient(91deg, #2CC2D6 1.22%, #4EE6FB 109.4%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.block--title.content-center { text-align: center; }
.block--headline,
.title--headline,
.page--headline { color: var(--primary-color); text-align: center; font-family: "Hansom FY"; font-size: 16px; font-style: normal; font-weight: 700; line-height: 70.263px; letter-spacing: 10.24px; text-transform: uppercase; }
.single .block--heading { margin-bottom: 35px; text-align: center; }
.single .block--heading .btn-link { margin-bottom: 8px; text-transform: uppercase; }
.single .block--heading .block--title { margin-bottom: 16px; padding: 0 60px; font-size: 61.48px; font-style: normal; font-weight: 700; line-height: 70.263px; }
.single .block--heading p { color: var(--text-light-color); font-size: 14px; line-height: 32px; }
.single .block--heading p span { opacity: .6; }
.single .block--heading p a { opacity: 1; color: var(--text-color); }
.block--content { position: relative; }
.block--content .post--image img { display: block; margin-bottom: 60px; width: 100%; height: auto; border-radius: 30px; object-fit: cover; }
.block--content p { opacity: .8; margin-bottom: 1em; color: var(--text-light-color); font-size: 16px; line-height: 27px; letter-spacing: -0.32px; }
.block--content p a { opacity: 1; color: var(--text-color); text-decoration: underline; }
.block--content p.has-text-align-center { text-align: center; }
.block--content p.has-text-align-center a { text-decoration: none !important; }
.block--content p.has-small-font-size { font-size: 12px !important; font-weight: 400; color: var(--text-color); line-height: 1.25em; }
.block--content p.has-medium-font-size { font-size: 19px !important; line-height: 1.25em; }
.block--content p.has-large-font-size { font-size: 22px !important; font-weight: 500; line-height: 1.25em; }
.block--content p.has-x-large-font-size { font-size: 27px !important; font-weight: 500; line-height: 1.25em; }
.block--content .wp-block-heading { margin-top: 60px; margin-bottom: 16px; color: var(--secondary-color); font-family: "Hansom FY"; font-size: 27px; font-weight: 700; line-height: 31px; }
.block--content ul { list-style: none; }
.block--content ul li { position: relative; margin-bottom: 1em; padding-left: 16px; color: var(--text-light-color); font-size: 14px; }
.block--content ul li::before { content: " "; position: absolute; top: 8px; left: 0; display: block; width: 5px; height: 5px; background: var(--primary-color); border-radius: 100px; }
.block--content .wp-block-separator { margin: 60px 0; height: 1px; background: var(--border-color); border: none; }
.block--content .wp-block-image .size-large { width: 100%; }
.block--content .wp-block-image .aligncenter.size-large img { display: block; width: 100%; height: auto; }
.block--content .wp-block-image,
.block--content .wp-block-embed { overflow: hidden; margin-bottom: 60px; border-radius: 20px; }
.block--content.block__loading::after { content: " "; position: absolute; z-index: 99; top: 0; left: 50%; width: 100vw; height: 100%; background: rgb(246, 246, 246, .9); border-radius: 20px; transform: translateX(-50%); backdrop-filter: blur(3px); }
.block--share { margin-top: 40px; padding-top: 68px; border-top: 1px solid var(--border-color);  }
.block--share .block--title { margin-bottom: 12px; text-align: center; font-size: 24px; font-weight: 700; line-height: 60px; }
.block--share ul { list-style: none; display: flex; gap: 44px; align-items: center; justify-content: center; }
.block--share ul li { position: relative; }
.block--share ul li .btn-icon { width: 57px; height: 57px; }

/* Sliders */

.swiper {
    --swiper-navigation-sides-offset: 3px;
    --swiper-pagination-color: #FFFFFF;
    --swiper-pagination-bullet-inactive-color: #D9D9D9;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-horizontal-gap: 10px;
    --swiper-pagination-bottom: 0px;
}
.swiper .swiper-pagination-bullet-active { background-color: var(--primary-color); width: 26px; border-radius: 100px; }
.swiper .swiper-button-prev,
.swiper .swiper-button-next { display: flex; align-items: center; justify-content: center; margin-top: -25px; width: 50px; height: 50px; color: var(--white-color); font-size: 10px; background: var(--primary-color); border-radius: 100px; }
.swiper .swiper-button-prev::after,
.swiper .swiper-button-next::after { display: none !important; }
.swiper-navigation { position: absolute; z-index: 4; left: 50%; bottom: 85px; display: flex; align-items: center; justify-content: center; padding: 0 45px; width: fit-content; height: 47px; background: rgba(255, 255, 255, 0.10); border-radius: 100px;  backdrop-filter: blur(3.200000047683716px); transform: translateX(-50%); }
.swiper-navigation:has(.swiper-button-prev.swiper-button-lock):has(.swiper-button-next.swiper-button-lock) { display: none; }
.swiper .swiper-navigation .swiper-pagination { position: relative; display: flex; height: 100%; }
.swiper .swiper-navigation .swiper-pagination-bullet { position: relative; opacity: 1; display: flex; align-items: center; justify-content: center; margin: 0 5px; width: 21px; height: auto; color: var(--white-color); font-size: 14px; font-weight: 700; line-height: 16px; letter-spacing: -0.42px; background: transparent; transform: none; }
.swiper .swiper-navigation .swiper-pagination-bullet-active { color: var(--primary-color); border: none; }
.swiper .swiper-navigation .swiper-pagination-bullet-active::after { content: " "; position: absolute; bottom: 0; left: 0; width: 100%; height: 3.802px; border-radius: 10px 10px 0px 0px; background: #2CC2D6; }
.swiper .swiper-navigation .swiper-button-prev,
.swiper .swiper-navigation .swiper-button-next { top: 10px; left: 13px; margin: 0; width: 26px; height: 26px; }
.swiper .swiper-navigation .swiper-button-next { left: auto; right: 13px; }

/* Forms */

#piotnetforms .piotnet-column__inner .piotnetforms-field-label { display: block; margin-bottom: 11px; color: var(--text-color); font-size: 16px; font-style: normal; font-weight: 700; line-height: 20px; letter-spacing: -0.32px; }
#piotnetforms .piotnetforms-field-group .piotnetforms-field.piotnetforms-select-wrapper .piotnetforms-field-textual { height: 62px !important; border: none !important; }
.piotnetforms-field { margin-bottom: 14px !important; padding: 22px !important; width: 100% !important; color: var(--text-color); font-size: 15px; font-weight: 500; line-height: 1em; border-radius: 8px !important; background: var(--input-color) !important; border: 1px solid var(--input-color) !important; transition: .4s; }
.piotnetforms-field:focus,
.piotnetforms-field:focus-within { border-color: var(--primary-color) !important; }
.piotnetforms-field-subgroup { margin: 0 !important; }
.piotnetforms-field.piotnetforms-select-wrapper { padding: 0 !important; }
.piotnetforms-mark-required .piotnetforms-field-label:after { content: "*"; color: red; padding-left: .2em; }
.piotnetforms-message { display: none; margin-top: 10px; }
.piotnetforms-message.visible { display: block; }
.piotnetforms-message.piotnetforms-message-success { color: var(--primary-color); }
.piotnetforms-message.piotnetforms-message-danger { color: rgb(255, 0, 0); }
.piotnetforms-button { margin-top: 16px !important; width: 100%; }
.piotnetforms-submit,
.piotnet-section,
.piotnetforms-fields-wrapper { margin: 0 !important; padding: 0 !important; }
.piotnetforms-fields-wrapper .piotnetforms-column .piotnetforms-field-option { padding: 0 !important; }
.piotnetforms-fields-wrapper .piotnetforms-column .piotnetforms-field-option .piotnetforms-field { float: left; }
.piotnetforms-fields-wrapper .piotnetforms-column .piotnetforms-field-option label,
.piotnetforms-fields-wrapper .piotnetforms-column .piotnetforms-field-option label a { display: block !important; opacity: .6; color: var(--text-color); font-size: 12px; font-weight: 500; line-height: 1em; }
.piotnetforms-fields-wrapper .piotnetforms-column .piotnetforms-field-option label a { display: inline-block !important; text-decoration: underline; }
.piotnetforms-fields-wrapper.piotnetforms-labels-above:has(.piotnetforms-field-type-acceptance) { display: flex; align-items: center; justify-content: center; }
.piotnetforms-field-type-acceptance { margin-top: 16px !important; }
.piotnetforms-acceptance-field { width: auto !important; }
.piotnetforms-field-type-acceptance .piotnetforms-field { float: none !important; flex: 0 !important; margin-bottom: 0 !important; height: auto; }
.piotnetforms-field-type-acceptance .piotnetforms-field-option { display: flex; align-items: center; justify-content: center; }

.block.background-color .piotnetforms-field { background: var(--white-color) !important; }

/* 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: 1110px; 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; display: flex; padding-top: 85px; color: var(--white-color); background: var(--secondary-color); }
.site-footer a { color: var(--white-color); transition: ease-in-out .4s; }
.site-footer .footer--content { display: flex; justify-content: space-between; }
.site-footer .footer--column { min-width: 140px; }
.site-footer .footer--title { margin-bottom: 8px; font-size: 15px; font-weight: 700; line-height: 27px; }
.site-footer .site-nav-secondary { width: 320px; }
.site-footer .site-nav-secondary ul { list-style: none; display: grid; column-gap: 30px; grid-template-columns: auto auto; }
.site-footer .site-nav-secondary ul li { width: 100%; }
.site-footer .site-nav-secondary ul li a { position: relative; margin-left: -12px; padding: 6px 12px; font-size: 14px; font-weight: 400; line-height: 32px; }
.site-footer .site-nav-secondary ul li a::after { content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; border-radius: 100px; transition: ease-in-out .4s; }
.site-footer .site-nav-secondary ul li a:hover::after { background: rgba(255, 255, 255, .2); mix-blend-mode: overlay;  }
.site-footer .footer--text { font-size: 14px; font-weight: 400; line-height: 32px; }
.site-footer .footer--text p { margin: 0; }
.site-footer .footer--text a { display: table; margin-top: 4px; padding: 8px 10px; color: var(--secondary-color); font-size: 14px; font-weight: 700; line-height: 1em; background: var(--primary-color); border: 1px solid transparent; border-radius: 4px; transition: .4s; }
.site-footer .footer--text a:hover { color: var(--primary-color); background-color: transparent; border-color: var(--primary-color); }
.site-footer .site-nav-contact ul { flex-direction: column; gap: 0; }
.site-footer .site-nav-contact ul li a { padding: 0; height: auto; line-height: 32px; }
.site-footer .site-nav-social { margin-top: 22px; }
.site-footer .site-nav-social ul { list-style: none; display: flex; gap: 14.2px; }
.site-footer .site-nav-social .btn-icon { position: relative; }
.site-footer .site-nav-social .btn-icon::after { opacity: .2; mix-blend-mode: overlay; }
.site-footer .footer--logos { position: relative; display: flex; justify-content: space-between; padding: 50px 0 60px; }
.site-footer .footer--logos-group { position: relative; display: flex; align-items: center; gap: 27.41px; padding: 20px 32px; }
.site-footer .footer--logos-group * { position: relative; z-index: 2; }
.site-footer .footer--logos-group::after { content: " "; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, .2); border-radius: 12px; transition: ease-in-out .4s; mix-blend-mode: overlay; }
.site-footer .footer--logos-group .footer--title { margin: 0; font-size: 14px; font-weight: 700; line-height: 32px; }
.site-footer .footer--logos-group a,
.site-footer .footer--logos-group a img { display: block; }
.site-footer .footer--stamps ul { list-style: none; display: flex; gap: 38px; width: fit-content; }
.site-footer .footer--stamps ul li { display: flex; align-items: center; justify-content: center; }
.site-footer .footer--stamps img { width: auto; max-width: 375px; max-height: 65px; object-fit: contain; }
.site-footer .footer--bar { display: flex; justify-content: space-between; padding: 60px 0 86px; border-top: 1px solid rgba(255, 255, 255, .1); }
.site-footer .footer--bar p { font-size: 12px;  font-weight: 500; line-height: 24px; }
.site-footer .footer--bar p a i { font-size: 21px; }
.site-footer .footer--bar p strong { font-weight: 700; }
.site-footer .upside { display: inline-flex; gap: 6px; align-items: center; }

/* Animations */

@keyframes spin { 
    100% {         
        transform:rotate(360deg); 
    } 
}

/* Mobile */

.mobile--menu { display: none; }

@media screen and (max-width: 991px) {

    :root {            
        --title-size: 20px;
        --title-large-size: 28px;        
    }

    html { scroll-padding-top: 100px; }

    .btn-group { gap: 20px; }
    
    .container { padding: 0 30px; }

    /* Header */
    .site-header { margin: 0; padding: 21px 28px; }
    .site-header .container { padding: 0; }
    .site-header.header--fixed { top: 0; }
    .site-header .mobile--menu { cursor: pointer; position: absolute; z-index: 99; top: 27px; right: 30px; display: block; font-size: 12px; color: var(--primary-color); }
    .site-header .mobile--menu .icon-close { display: none; font-size: 18px; }
    .site-logo, .site-logo a { padding: 0 !important; width: 145px; height: 35px; background-size: contain; }
    .site-nav ul { gap: 10px; }    
    .site-nav.site-nav-primary > ul > li > ul { position: relative; top: 0 !important; left: 0; opacity: 1; box-shadow: none; transform: none; }
    .site-nav > ul > li > ul li a { padding: 16px 28px; }
    .site-nav > ul > li.menu-item-has-children > a::after,
    .site-nav-primary > ul > li.current-menu-item > a::before,
    .site-nav-primary > ul > li:hover > a::before { display: none; }    
    .site-nav-primary { opacity: 0; visibility: hidden; position: absolute; left: 0; top: 100px; margin: 0; padding: 20px 0; width: 100%; background: var(--white-color); border-radius: 0; transition: .6s; }    
    .site-nav-primary > ul { z-index: 2; gap: 6px; flex-direction: column; padding: 0; }    
    .site-nav-primary ul li a { padding: 16px 28px !important; height: auto !important; color: var(--text-color); }    
    .site-nav-options { position: absolute; top: 27px; right: 70px; flex: 0; gap: 0; }
    .site-nav-lang { display: none; position: absolute; left: -80px; top: -43px; width: 125px; }
    .site-nav-lang ul li a { height: 115px !important; }
    .site-nav-lang ul li ul { position: absolute; top: 75px !important; width: 125px !important; }
    .site-nav-lang ul li ul li a { height: auto !important; }
    .search-box,
    .search-box.active { top: 70px; padding: 30px; }    
    .search-box form::before { top: 25px; }
    .search-box .btn-primary { top: 10px; right: 10px; height: 52px; }
    .search-box input { padding-top: 22px; padding-bottom: 22px; }
    .menu-open .site-nav-primary { opacity: 1; visibility: visible; top: 77px; }        
    .menu-open .site-nav-primary > ul > li > ul { visibility: visible; }
    .menu-open .site-header .mobile--menu .icon-bars { display: none; }
    .menu-open .site-header .mobile--menu .icon-close { display: block; }
    .menu-open .site-nav-lang { display: block; }
    .menu-open .btn-search { display: none; }

    /* Blocks */
    .block--headline, .title--headline, .page--headline { font-size: 14px; line-height: 40px; }
    .block--posts .block--footer { margin: 0; }
    .posts-cards { flex-direction: column-reverse; }
    .posts-cards .post-card { width: 100%; }
    .posts-cards .post-card .post--cat { top: 12px; left: 12px; }
    
    .wp-block-columns { flex-direction: column; gap: 32px !important; padding: 0 30px; }
    .wp-block-columns .wp-block-column { flex: 1 !important; }
    .wp-block-columns .wp-block-column p { text-align: center; }
    .wp-block-columns .wp-block-column .wp-block-image img { display: block; margin: 0 auto; }
    .wp-block-columns.wp-container-core-columns-is-layout-2 .wp-block-columns { gap: 20px !important; }
    .wp-block-columns.wp-container-core-columns-is-layout-2 .wp-block-columns .wp-block-column p { margin-bottom: 0; }
    .wp-block-columns.wp-container-core-columns-is-layout-2 .wp-block-columns .wp-block-image img { display: block; margin: 0 auto; }
    
    /* Pages */
    .block--title { line-height: 1.25em; }
    .site-page > p.has-text-align-center,    
    .site-page > div > p.has-text-align-center { padding: 0 30px; }
    .single .block--heading .block--title { padding: 0; font-size: 38px; line-height: 46px; }
    .page--blog > .block--page-heading:first-child { padding-top: 100px; }
    .page--blog .page--search form { margin: 20px auto 40px; }
    .page--blog .page--search form::before { top: 28px; left: 26px; }
    .page--blog .page--search input { padding: 24px 60px; }
    .page--blog .page--search .btn-primary { display: none; }
    .page--blog .page--filters ul,
    .page--blog .page--filters .menu-categorias-blog-container { flex-wrap: wrap; align-items: center; justify-content: center; }
    .page--blog .block--post-featured .container { padding: 0; }
    .page--blog .block--post-featured .container > a { flex-direction: column; gap: 16px; }
    .page--blog .block--post-featured .block--image img { max-width: 100%; height: 225px; }
    .page--blog .block--post-featured .block--title { margin-top: 0; }

    /* Sliders */
    .swiper { --swiper-pagination-bullet-horizontal-gap: 5px; }
    .swiper .swiper-button-prev,
    .swiper .swiper-button-next { margin-top: -15px; width: 30px; height: 30px; }

    /* Footer */
    .site-footer { margin-top: -1px; }
    .site-footer .footer--content { gap: 32px; flex-direction: column; }
    .site-footer .site-nav-secondary ul { display: flex; flex-direction: column; }
    .site-footer .site-nav-social { margin-top: 38px; }
    .site-footer .site-nav-social ul { gap: 20px; justify-content: center; }
    .site-footer .footer--logos { flex-direction: column; padding: 40px 0; }
    .site-footer .footer--logos-group { gap: 11px; flex-wrap: wrap; justify-content: center; }
    .site-footer .footer--logos-group .footer--title { width: 100%; text-align: center; }
    .site-footer .footer--stamps { margin-top: 40px; }
    .site-footer .footer--stamps ul { flex-wrap: wrap; justify-content: center; margin: 0 auto; }
    .site-footer .footer--stamps img { max-width: 100%; }
    .site-footer .footer--bar { gap: 19px; flex-direction: column; justify-content: center; padding: 30px 0 60px; text-align: center; }
    body:has(.btn-whatsapp) .site-footer { padding-bottom: 70px; }
    .btn-whatsapp { right: auto; left: 50%; bottom: 20px; transform: translateX(-50%); }
}

/**
 * COMPONENTES
 **/

/* HEADING */
/* .block--page-heading { padding-top: 100px; } */
.block--page-heading .container { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.block--page-heading .block--title { margin-top: -10px; margin-bottom: 20px; color: var(--secondary-color); font-family: "Hansom FY"; font-size: 61.48px; font-weight: 700; line-height: 70.263px; }
.block--page-heading .block--subtitle { opacity: .7; margin-bottom: 20px; color: var(--secondary-color); font-family: "Hansom FY"; }
.block--page-heading p { padding: 0 20px; max-width: 900px; color: var(--text-color); text-align: center; font-size: 19px; font-style: normal; font-weight: 400; line-height: 33px; letter-spacing: -0.38px; }
.block--page-heading .btn-group { margin-top: 20px; }
.block--page-heading.heading-border .container { padding-bottom: 62.5px; border-bottom: 1px solid rgba(0, 0, 0, .2); }
@media screen and (max-width: 991px) {
    .block--page-heading .block--title { font-size: 38px; line-height: 46px; }    
    .block--page-heading { padding-top: 30px; }
    .block--page-heading .btn-group { flex-direction: column; align-items: center; justify-content: center; }
}

/* CONTENT */
.block--imagecontent .container { display: flex; gap: 72px; align-items: center; }
.block--imagecontent .block--content,
.block--imagecontent .block--image { position: relative; z-index: 3; width: 50%; }
.block--imagecontent .block--image img { display: block; border-radius: 20px; max-width: 100%; }
.block--imagecontent .block--image.image--shadow { position: relative; overflow: hidden; display: block; flex: 0 0 538px; border-radius: 27px; box-shadow: 10px 14px 162.5px 0px rgba(0, 0, 0, 0.15); }
.block--imagecontent .block--image.image--shadow img { width: 538px; }
.block--imagecontent .block--title { margin-bottom: 15px; font-size: var(--title-large-size); font-weight: 600; color: var(--secondary-color); line-height: 46px; letter-spacing: -0.3px; }
.block--imagecontent .block--subtitle { margin-bottom: 25px; font-size: 25px; font-weight: 600; color: var(--secondary-color); line-height: 37px; letter-spacing: -0.25px; }
.block--imagecontent p { margin-bottom: 1em; color: var(--text-color); font-size: 19px; font-weight: 400; line-height: 33px; letter-spacing: -0.38px; }
.block--imagecontent p + p { margin-bottom: 1em; }
.block--imagecontent p:last-child { margin-bottom: 0; }
.block--imagecontent p strong:only-child { font-weight: 500; }
.block--imagecontent .btn { display: flex; margin-top: 23px; }
.block--imagecontent .list-icons { display: flex; flex-direction: column; }
.block--imagecontent .list-icons i { color: var(--white-color); }
.block--imagecontent .list-icons li { display: flex; align-items: center; justify-content: flex-start; gap: 10px; margin: 0; padding: 10px 0; border-bottom: 1px solid rgba(255, 255, 255, .2); }
.block--imagecontent .list-icons li:last-child { border: none; }
.block--imagecontent .list-icons li::before { display: none; }
.block--imagecontent .list-icons li img { display: block; height: 20px; width: 20px; object-fit: contain; }
.block--imagecontent.content-reverse .container { flex-direction: row-reverse; }
.block--imagecontent.content-top-padding,
.block--imagecontent:first-of-type { padding-top: 169px; }
.block--imagecontent.content-margin { margin: 70px 0; }
.block--imagecontent.content-large .block--content,
.block--imagecontent.content-large .block--image { width: 100%; }
.block--imagecontent.content-large .block--image { flex: 0 0 375px; }
.block--imagecontent.content-large .block--image img { margin: 0 auto; }
.block--imagecontent.content-full .container { gap: 0; max-width: none; }
.block--imagecontent.content-full .block--image { position: static; z-index: 1; }
.block--imagecontent.content-full .block--content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 635px; padding: 60px; width: 50%; text-align: center; background: var(--primary-color); border-radius: 20px 0 0 20px; }
.block--imagecontent.content-full .block--content .block--title,
.block--imagecontent.content-full .block--content p { color: var(--white-color); max-width: 585px; }
.block--imagecontent.content-full .block--content p { font-weight: 700; }
.block--imagecontent.content-full .block--content .btn-primary { color: var(--primary-color); background: var(--white-color); }
.block--imagecontent.content-full .block--content .btn-primary:hover { color: var(--white-color); background: var(--primary-color); border-color: var(--white-color); }
.block--imagecontent.content-full .block--image img { position: absolute; z-index: 1; top: -25px; left: 0; width: 60vw; height: 685px; border-radius: 0 20px 20px 0; aspect-ratio: 1213.60/682.73; object-fit: cover; }
.block--imagecontent.content-full.content-reverse  .block--image img { left: auto; right: 0; border-radius: 20px 0 0 20px; }
.block--imagecontent.content-full.content-reverse .block--content { border-radius: 0px 20px 20px 0px; }
.block--imagecontent.content-card .container { gap: 58px; background-color: var(--primary-color); border-radius: 33px; }
.block--imagecontent.content-card .block--image { flex: 0 0 470px; padding: 22px 0 22px 22px; }
.block--imagecontent.content-card .block--image img { max-width: 448px; min-height: 410px; border-radius: 23px; object-fit: cover; }
.block--imagecontent.content-card .block--content { padding-right: 80px; width: 100%; }
.block--imagecontent.content-card .block--content .block--title,
.block--imagecontent.content-card .block--content p { color: var(--white-color); }
.block--imagecontent.content-card .block--content .btn-primary { color: var(--primary-color); background: var(--white-color); }
.block--imagecontent.content-card .block--content .btn-primary:hover { color: var(--white-color); background: var(--primary-color); border-color: var(--white-color); }
.block--imagecontent.content-image-background-color .block--image { background-color: var(--background-color); }
.block--imagecontent.background-color { padding: 100px 0; }
.block--imagecontent.background-merge { margin-bottom: 0 !important; }
.block--imagecontent.background-merge .container { position: relative; }
.block--imagecontent.background-merge.content-card .container::before { content: " "; position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 100%; background: var(--primary-color); border-radius: 33px; }
.block--imagecontent.background-merge .container::after { content: " "; position: absolute; z-index: 1; top: 50%; left: 50%; width: 100vw; height: 50%; background: var(--secondary-color); transform: translateX(-50%); }
@media screen and (max-width: 991px) {
    .block--imagecontent .container,
    .block--imagecontent.content-reverse .container { gap: 26px; flex-direction: column; }    
    .block--imagecontent .block--title,
    .block--imagecontent .block--subtitle,
    .block--imagecontent.content-large .block--title { line-height: 32px; }
    .block--imagecontent .block--content,
    .block--imagecontent .block--image { width: 100%; }
    .block--imagecontent .block--image img { max-width: 100%; width: 100%; height: auto; }
    .block--imagecontent .block--image.image--shadow { flex: 1; }
    .block--imagecontent p { font-size: 14px; line-height: 23px; }
    .block--imagecontent .btn { display: block; margin-left: auto; margin-right: auto; width: 100%; text-align: center; }
    .block--imagecontent.content-large .block--image { flex: auto; margin-left: 0; }
    .block--imagecontent.content-large .block--image img { margin: 0 auto; }    
    .block--imagecontent.content-top-padding,
    .block--imagecontent:first-of-type { padding-top: 118px; }
    .block--imagecontent.content-margin { margin: 40px 0; }   
    .block--imagecontent.content-full { margin: 30px 0; }
    .block--imagecontent.content-full .container { gap: 0; padding: 0; }         
    .block--imagecontent.content-full .block--image img { position: relative; top: auto; width: 100%; border-radius: 20px !important; }
    .block--imagecontent.content-full .block--content { margin-top: -30px; padding: 30px; width: 90%; min-height: auto; border-radius: 20px !important; }
    .block--imagecontent.content-card .container { gap: 32px; padding: 12px 12px 32px; }
    .block--imagecontent.content-card .block--image { flex: 1; padding: 0; }
    .block--imagecontent.content-card .block--image img { margin: 0 auto; max-width: 100%; width: 100%; min-height: 320px; }
    .block--imagecontent.content-card .block--content { padding: 0 30px; text-align: center; }
    .block--imagecontent.content-card .block--content p { text-align: left; }
}

/* HERO */
.block--hero { display: flex; align-items: center; justify-content: center; height: 100dvh; min-height: 600px; background: var(--secondary-color); }
.block--hero::before,
.block--hero::after { content: " "; opacity: .7; position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(0deg, var(--secondary-color) 0%, rgba(52, 61, 77, 0.00) 100%); }
.block--hero::after { background: linear-gradient(180deg, var(--secondary-color) 0%, rgba(52, 61, 77, 0.00) 100%); }
.block--hero .container { display: flex; align-items: center; justify-content: center; }
.block--hero .block--title { color: #FFF; font-family: "Hansom FY"; font-size: 61.48px; font-weight: 700; line-height: 70.263px; }
.block--hero .block--content { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; max-width: 860px; height: 100%; text-align: center; }
.block--hero .block--content p { opacity: 1; margin-top: 20px; max-width: 485px; font-size: 19px; font-weight: 500; line-height: 31px; color: var(--white-color); }
.block--hero .block--content .btn-group { margin-top: 32px; }
.block--hero .hero-image { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; mix-blend-mode: overlay; }
.block--hero .hero-image img { position: absolute; display: block; width: 100%; height: 100%; object-fit: cover; }
@media screen and (max-width: 991px) {
    .block--hero { padding: 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; align-items: center; margin-top: 25px; }    
}

/* FAQS */
.block--faq { padding: 80px 0 75px; background-color: var(--background-color); }
.block--faq .block--heading { margin-bottom: 40px; }
.block--faq .faq--list.col-12 { display: flex; gap: 22px; flex-direction: column; }
.block--faq .faq--list.col-6 { columns: 2 280px; column-gap: 20px; flex-direction: unset; }
.block--faq .faq--list.col-6 .faq--item { display: inline-block; break-inside: avoid; width: 100%; margin: 0 0 20px; }
.block--faq .faq--item { cursor: pointer; position: relative; padding: 0 54px 20px 26px; background: var(--white-color); border-radius: 10px; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.05); }
.block--faq .faq--question { margin: 0 !important; padding: 17px 0 0; color: var(--secondary-color); font-size: 15px; font-weight: 700; line-height: 33px; letter-spacing: -0.3px; }
.block--faq .faq--question::after { content: "\e906"; position: absolute; top: 23px; right: 32px; width: 24px; height: 32px; font-family: 'rotoplastyc-icons' !important; font-size: 24px; color: var(--primary-color); transition: .4s; }
.block--faq .faq--question span { display: inline-block; margin-right: 19.51px; color: var(--primary-color); font-family: "Hansom FY"; font-size: 16px; text-transform: uppercase; }
.block--faq .faq--content { margin-top: 4px; padding-left: 35.75px; color: var(--text-light-color); }
.block--faq .faq--content p strong { font-weight: 500; }
.block--faq .faq--content .btn { margin-top: 20px; }
.block--faq .faq--item.open .faq--question::after { transform: rotate(180deg); }
@media screen and (max-width: 991px) {
    .block--faq { margin: 40px 0 10px; }
    .block--faq .faq--list,
    .block--faq .faq--list.col-12,
    .block--faq .faq--list.col-6 { display: flex; gap: 20px; flex-direction: column; }
    .block--faq .faq--list.col-6 .faq--item,
    .block--faq .faq--list .faq--item { display: block; margin: 0; break-inside: auto; }
    .block--faq .faq--item { padding: 0 26px; }
    .block--faq .faq--question { position: relative; padding-left: 35.75px; padding-bottom: 16px; line-height: 1.5em; }
    .block--faq .faq--question::after { right: 0; }
    .block--faq .faq--question span { position: absolute; left: 0; }
    .block--faq .faq--content { padding-bottom: 16px; }
}

/* IMAGE CARROSEL */
.block--imagecarrossel { margin: 100px 0; }
.block--imagecarrossel .container { position: relative; }
.block--imagecarrossel .imagecarrossel-slider { position: relative; overflow: visible; padding-bottom: 60px; }
.block--imagecarrossel .imagecarrossel-slider::after { content: " "; position: absolute; left: -60px; bottom: 0; width: 100%; height: 100%; background: transparent url(../images/rotoplastyc-r.svg) left bottom no-repeat; background-size: 390px; }
.block--imagecarrossel .imagecarrossel-slider .swiper-navigation { left: auto; right: 30px; bottom: 90px; transform: none; background: rgba(52, 61, 77, 0.50); backdrop-filter: blur(3.200000047683716px); }
.block--imagecarrossel .imagecarrossel-image { position: relative; }
.block--imagecarrossel .imagecarrossel-image::before { content: " "; opacity: 0.9; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--secondary-color); mix-blend-mode: lighten; border-radius: 30px; }
.block--imagecarrossel .imagecarrossel-image img { display: block; width: 100%; max-height: 530px; border-radius: 30px; object-fit: cover; }
.block--imagecarrossel.remove-overlay .imagecarrossel-image::before { display: none; }
@media screen and (max-width: 1110px) {
    .block--imagecarrossel { margin: 60px 0; }
    .block--imagecarrossel .imagecarrossel-slider { padding-bottom: 25px; }
    .block--imagecarrossel .imagecarrossel-slider::after { left: -25px; background-size: 35%; }
    .block--imagecarrossel .imagecarrossel-image img { min-height: 180px; }
    .block--imagecarrossel .imagecarrossel-slider .swiper-navigation { left: 50%; right: auto; bottom: 40px; transform: translateX(-50%); }
}

/* IMAGE FULL */
.block--imagefull .block--image img { display: block; width: 100%; max-height: 790px; object-fit: cover; }
.block--imagefull .block--image::before { content: " "; opacity: 0.9; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--secondary-color); mix-blend-mode: lighten; }

/* VÍDEO */
.block--video { position: relative; }
.block--video > a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.block--video img { display: block; width: 100%; max-height: 710px; object-fit: cover; }
.block--video .block--title { color: var(--white-color); max-width: 460px; text-align: center; }
.block--video .video-content { max-width: 460px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.block--video .btn-primary { margin-top: 27px; }
.block--video::before { content: " "; opacity: 0.9; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--secondary-color); mix-blend-mode: lighten; }
@media screen and (max-width: 991px) {
    .block--video img { min-height: 330px; }
}

/* NEWS */
.block--news { margin: 90px 0 140px; }
.block--news .block--title { margin-bottom: 16px; }
.block--news .block--subtitle { margin-bottom: 28px; color: var(--secondary-color); font-size: 27px; font-weight: 700; line-height: 31px; }
.block--news .news-content { display: flex; gap: 26.5px; }
.block--news .news-column { flex: 0 0 350px; }
.block--news .news-post { position: relative; flex: 1; }
.block--news .news-post,
.block--news .news-newsletter { padding: 30px; background: var(--white-color); border-radius: 20px; box-shadow: 16px 20px 134.1px 0px rgba(52, 61, 77, 0.15); }
.block--news .news-post-title { position: relative; display: block; padding: 25px 65px 0 17px; color: var(--secondary-color); font-family: "Hansom FY"; font-size: 27px; font-weight: 700; line-height: 31px; }
.block--news .news-post-title::after { content: "\e916"; position: absolute; top: 50%; right: 0; display: flex; align-items: center; justify-content: center; margin-top: -12.5px; width: 50px; height: 50px; color: var(--white-color); font-family: 'rotoplastyc-icons' !important; font-size: 16px; background: var(--primary-color); border-radius: 100px; transition: .4s; }
.block--news .news-post-category { position: absolute; top: 38.58px; left: 38.58px; display: block; padding: 10px 16px; color: var(--secondary-color); font-size: 12px; font-weight: 700; line-height: 1em; }
.block--news .news-post-category::after { content: " "; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background: var(--white-color); border-radius: 16.306px; }
.block--news .news-post-category strong { opacity: .6; position: relative; z-index: 2; }
.block--news .news-post-image { display: block; }
.block--news .news-post-image img { display: block; max-width: 100%; max-height: 375px; border-radius: 19px; object-fit: cover; transition: ease-in-out .4s; }
.block--news .news-post > a:hover .news-post-title::after { transform: rotate(90deg); }
.block--news .btn-primary { margin-top: 20px; width: 100%; color: var(--primary-color); background: var(--white-color); border-radius: 20px;  box-shadow: 16px 20px 134.1px 0px rgba(52, 61, 77, 0.15); }
.block--news .piotnetforms-fields-wrapper .piotnetforms-column label { display: none !important; }
.block--news .piotnetforms-fields-wrapper .piotnetforms-field-type-acceptance .piotnetforms-field-option label { display: block !important; }
@media screen and (max-width: 991px) {  
    .block--news .block--title,
    .block--news .block--subtitle { text-align: center; }
    .block--news .news-post { padding: 11px 11px 20px; }
    .block--news .news-post-title { padding-top: 20px; font-size: 20px; }
    .block--news .news-post-title::after { margin-top: -4.5px; width: 35px; height: 35px; font-size: 10px; }
    .block--news .news-post-image img { width: 100%; }
    .block--news .news-content { flex-direction: column; }
    .block--news .news-column { display: flex; flex-direction: column-reverse; flex: none; }
    .block--news .btn-primary { margin: 0 0 20px; }
}

/* LOGOS */
.block--logos { margin: 90px 0; }
.block--logos.background-color { padding: 100px 0; }
.block--logos .block--title { margin-bottom: 23px; text-align: center; }
.block--logos .logos-slider.swiper { width: 830px; margin-top: -40px; padding: 40px 0; }
.block--logos .logos--item { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: var(--white-color); border-radius: 20px;  box-shadow: 0px 4px 27.8px 0px rgba(52, 61, 77, 0.10); }
.block--logos .logos--item > a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; transition: .4s; }
.block--logos .logos--item > a:hover { transform: scale(1.1); }
.block--logos .logos--title { color: var(--text-color); font-size: 16px; font-weight: 700; line-height: 20px; letter-spacing: -0.32px; }
.block--logos .swiper-slide { opacity: 0; position: relative; width: 250px; height: 155px; transition: opacity 0.3s ease-in-out; filter: blur(2px); transition: .4s; }
.block--logos .swiper-slide-active { filter: none; }
.block--logos .swiper-slide-active,
.block--logos .swiper-slide-next,
.block--logos .swiper-slide-next + .swiper-slide,
.block--logos .swiper-slide:has( + .swiper-slide-prev ),
.block--logos .swiper-slide-prev { opacity: 1; }
.block--logos .logos-slider.list { display: flex; width: 100%; }
.block--logos:has( .logos-slider.list ) .block--title { margin-bottom: 45px; }
.block--logos .logos-slider.list .swiper-wrapper { gap: 30px; flex-wrap: wrap; }
.block--logos .logos-slider.list .swiper-slide { flex: auto; opacity: 1; filter: none; width: calc(25% - 60px); height: 110px; }
.block--logos .logos-slider.list .logos--item { border-radius: 10px; box-shadow: none; }
.block--logos .logos-slider.list .logos--item img { max-width: 165px; max-height: 40px; object-fit: contain; }
@media screen and (max-width: 991px) {    
    .block--logos .container { padding: 0; }
    .block--logos .logos-slider.swiper { --swiper-navigation-sides-offset: 50px; width: 100%; }
    .block--logos .logos-slider.list { margin: 0 auto; width: calc(100% - 60px ); }
    .block--logos .logos-slider.list .swiper-slide { width: calc(50% - 30px); }
    .block--logos .logos-slider.list .logos--item img { display: block; margin: 0 auto; max-width: 80%; }
}

/* INFO */
.block--info { --color: var(--white-color); margin: 75px 0 90px; background-color: var(--color); }
.block--info .container { position: relative; }
.block--info .block--title { text-align: center; margin-bottom: 45px; }
.block--info .info--item { position: relative; margin: 0 auto; padding-top: 5px; width: fit-content; }
.block--info .info--item::before { content: "+"; position: absolute; left: -10px; top: 18px; color: var(--primary-color); font-family: "Hansom FY"; font-size: 22px; font-weight: 700; line-height: 32px; letter-spacing: -0.66px; -webkit-text-stroke-width: 0; }
.block--info .info--title { opacity: .5; position: relative; color: transparent; font-family: "Hansom FY"; font-size: 85px; font-weight: 700; line-height: 60px; text-align: center; -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: #000; }
.block--info .info--title::after { content: " "; position: absolute; left: 0; bottom: -10px; width: 100%; height: 50px; background: linear-gradient(0deg, var(--color) 15%, transparent 100%); }
.block--info p { opacity: .7; color: var(--secondary-color); font-size: 13px; font-weight: 700; line-height: 32px; text-align: center; }
.block--info .swiper { --swiper-navigation-sides-offset: 0; overflow: visible; }
@media screen and (max-width: 991px) {
    .block--info .swiper-wrapper { padding-bottom: 30px; }    
}

/* ICONS */
.block--icons { margin: 110px 0 70px; }
.block--icons .block--heading { margin: 0 0 40px; text-align: center; }
.block--icons .block--title { font-size: var(--title-size); }
.block--icons .icons-slider { padding: 0 0 65px; }
.block--icons .icons-slider.icons-slider--autospace { overflow: visible; }
.block--icons .icons-slider.icons-slider--column .swiper-slide,
.block--icons .icons-slider.icons-slider--autospace .swiper-slide { width: auto; }
.block--icons .icons-slider:has(.swiper-pagination-lock) { padding-bottom: 8px; }
.block--icons .icons--title { margin: 13px 0 1px; color: var(--secondary-color); font-size: 16px; font-weight: 700; line-height: 26px; letter-spacing: -0.32px; }
.block--icons .icons--title span { color: var(--primary-color); }
.block--icons .icons--image > span { position: relative; display: flex; align-items: center; justify-content: center; width: 45px; height: 45px; font-size: 16px; color: var(--primary-color); border-radius: 100px; }
.block--icons .icons--image > span::after { content: " "; opacity: .2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--primary-color); border-radius: 100px; }
.block--icons .icons--image > .icons--image-text { font-size: 16px; font-weight: 700; line-height: 36px; letter-spacing: -0.16px; }
.block--icons p { color: var(--text-light-color); font-size: 14px; font-weight: 400; line-height: 26px; letter-spacing: -0.28px; }
.block--icons a { color: var(--text-color); }
.block--icons ul { list-style: none; }
.block--icons ul li { position: relative; margin-bottom: 4px; padding-left: 16px; color: var(--text-light-color); font-size: 14px; }
.block--icons ul li::before { content: " "; position: absolute; top: 9px; left: 0; display: block; width: 5px; height: 5px; background: var(--primary-color); border-radius: 100px; }
.block--icons.icons-list .swiper-wrapper { flex-wrap: wrap; }
.block--icons.icons-list .swiper-slide { margin-bottom: 40px; width: calc( 25% - 60px ); }
.block--icons.icons-list .swiper-button-lock { display: none; }
.block--icons.icons-border-top .container { padding-top: 65px; border-top: 1px solid rgb(0, 61, 81, .2); }
.block--icons.icons-boxed .icons--item { display: flex; flex-direction: column; justify-content: space-between; padding: 20px; background: var(--white-color); border-radius: 20px; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.08); transition: .6s; }
.block--icons.icons-boxed a:hover .icons--item { background: rgb(0, 176, 120, .02); }
.block--icons.icons-centered .icons-slider.icons-slider--large .swiper-wrapper { justify-content: center; }
.block--icons.icons-centered .icons--item { display: flex; flex-direction: column; align-items: center; text-align: 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-top: 40px; }    
    .block--icons .icons-slider.icons-slider--autospace .swiper-slide { width: 250px; }    
    .block--icons .icons-texts { padding-top: 25px; }
    .block--icons .icons-texts p { max-width: 310px; font-size: 15px; line-height: 23px; }    
    .block--icons.icons-border-top .container { margin-top: 40px; margin-left: 30px; margin-right: 30px; padding-top: 32px; padding-left: 0; padding-right: 0; width: calc( 100% - 60px ); }
    .block--icons .icons-slider .icons--item { text-align: center; }
    .block--icons .icons--image > span { display: inline-flex; }
    .block--icons.icons-list .swiper-wrapper { flex-wrap: nowrap; }
    .block--icons.icons-list .swiper-slide { margin-bottom: 0; width: 100%; }
    .block--icons.icons-list .swiper-button-lock { display: block; }
    .block--icons.icons-centered .icons-slider { padding-left: 3px; padding-right: 3px; }
    .block--icons.icons-centered .icons-slider.icons-slider--large .swiper-wrapper { justify-content: flex-start; }
}

/* BANNER */
.block--banner { margin: 120px 0 80px; }
.block--banner.background-merge { margin-bottom: 0; }
.block--banner.background-merge .container { position: relative; }
.block--banner.background-merge .container::after { content: " "; position: absolute; z-index: 1; top: 50%; left: 50%; width: 100vw; height: 50%; background: var(--secondary-color); transform: translateX(-50%); }
.block--banner .container { position: relative; width: 100%; height: 310px; border-radius: 33px; }
.block--banner .block--title { color: var(--white-color); font-family: "Hansom FY"; font-size: var(--title-large-size); font-weight: 700; line-height: 48px; }
.block--banner .banner--wrap { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 60px 40px 60px 60px; width: 100%; height: 310px; background: var(--primary-color); border-radius: 33px; }
.block--banner .banner--wrap::before { content: " "; position: absolute; z-index: 3; bottom: 0; left: 0; width: 100%; height: 170px; background: linear-gradient(0deg, var(--primary-color) 0%, rgba(44, 194, 214, 0.00) 100%); border-radius: 0px 0px 33px 33px; }
.block--banner .banner--wrap > img { position: absolute; z-index: 2; left: 50%; bottom: 0; transform: translateX(-50%); }
.block--banner .banner--content { position: relative; z-index: 4; display: flex; flex-direction: column; max-width: 350px; }
.block--banner .banner--content p { color: var(--white-color); font-size: 17px; font-weight: 500; line-height: 26px; }
.block--banner .banner--content p a { color: var(--primary-color); }
.block--banner .banner--content p a[href^="mailto:"] { color: var(--white-color); }
.block--banner .banner--content .btn-primary { margin-top: 22px; color: var(--primary-color); background: var(--white-color); }
.block--banner .banner--content .btn-primary:hover { color: var(--white-color); background: var(--primary-color); border-color: var(--white-color); }
.block--banner.background .container { display: block; overflow: hidden; max-width: 1140px; border-radius: 30px; }
.block--banner.background .banner--wrap::before { content: " "; opacity: .7; position: absolute; z-index: 3; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(0deg, var(--secondary-color) 0%, rgba(52, 61, 77, 0.00) 100%); }
.block--banner.background .banner--wrap { flex-direction: column; align-items: center; justify-content: center; margin: 0 auto; padding: 0; height: 310px; max-width: none; text-align: center; background: transparent; }
.block--banner.background .banner--content:first-child,
.block--banner.background .banner--content { align-items: center; margin: 0; max-width: 600px; }
.block--banner.background .block--title { margin-bottom: 23px; padding: 0 65px; }
.block--banner.background .banner--content p { margin: 0; font-size: 17px; font-weight: 500; line-height: 25px; text-align: center; }
.block--banner.background .banner--content .btn { margin-top: 23px; }
.block--banner.background .banner--content .btn-primary:hover { border-color: var(--primary-color); }
.block--banner.background .banner--wrap > img { z-index: 1; display: block; top: 0; bottom: auto; left: 0; width: 100%; height: 100%; object-fit: cover; transform: none; }
@media screen and (max-width: 991px) {
    .block--banner { margin: 80px 0 40px; }
    .block--banner .container { padding: 200px 0 0; height: auto; }    
    .block--banner .banner--wrap { gap: 17px; flex-direction: column; padding: 40px 30px; margin: 0; width: 100%; height: auto; border-radius: 0; }
    .block--banner .banner--wrap::before { bottom: auto; top: 0; height: 50px; }
    .block--banner .banner--content,
    .block--banner .banner--content:first-child { margin: 0; width: 100%; max-width: 100%; align-items: center; }        
    .block--banner .block--title { margin-bottom: 12px; font-size: 25px; line-height: 43px; letter-spacing: -0.25px; text-align: center; }
    .block--banner .banner--content p,
    .block--banner .banner--content:first-child p { padding: 0; margin: 0; text-align: center; }
    .block--banner .banner--wrap > img { top: -200px; bottom: auto; max-width: 100%; max-height: 250px; }
    .block--banner.background .container { padding: 60px 0; border-radius: 0; }
    .block--banner.background .banner--wrap { position: static; gap: 0; padding: 0; height: auto; }
    .block--banner.background .banner--wrap::before { background: linear-gradient(0deg, #003021 1.49%, rgba(0, 48, 33, 0.49) 100%); border-radius: 0; }
    .block--banner.background .block--title { margin-bottom: 6px; line-height: 31px; }
    .block--banner.background .banner--content p { padding: 0 30px; font-size: 14px; font-weight: 400; line-height: 23px; }
    .block--banner.background .banner--content .btn { margin-top: 16px;}
    .block--banner.background .banner--wrap > img { border-radius: 0; max-height: none; }
}

/* LIST */
.block--list { position: relative; margin: 120px 0; }
.block--list .block--title { margin: 0 auto 80px; padding: 0; max-width: 780px; text-align: center; }
.block--list .list-item { display: flex; align-items: center; justify-content: space-between; padding: 37px 0 44px; border-bottom: 1px solid var(--border-color); }
.block--list .list-item:last-child { border-bottom: none; }
.block--list .list-item-title { color: var(--secondary-color); font-family: "Hansom FY"; font-size: 28px; font-style: normal; font-weight: 700; line-height: 54px; }
.block--list .list-item-title i { margin-right: 20px; color: var(--primary-color); font-size: 16px; }
.block--list .list-item-values { display: flex; gap: 10px; align-items: center; justify-content: flex-end; }
.block--list  .list-item-values span { opacity: .8; position: relative; display: block; padding: 12px 21px; color: var(--secondary-color); font-size: 14px; font-style: normal; font-weight: 700; line-height: 26px; letter-spacing: -0.28px; background: var(--input-color); border-radius: 100px; }
@media screen and (max-width: 991px) {
    .block--list .block--title { margin-bottom: 40px; }
    .block--list .list-item { flex-direction: column; }
    .block--list .list-item-values { flex-direction: column; }
    .block--list .list-item-title { margin-bottom: 20px; line-height: 1.5em; text-align: center; }
}

/* UNITS */
.block--units.background-merge .block--content { position: relative; }
.block--units.background-merge .block--content::after { content: " "; position: absolute; top: 280px; left: 50%; width: 100vw; height: calc( 100% - 280px ); background: var(--secondary-color); transform: translateX(-50%); }
.block--units .block--title { margin-bottom: 40px; }
.block--units .units-slider { overflow: visible; }
.block--units .unit--item { overflow: hidden; background: var(--white-color); border-radius: 20px; box-shadow: 16px -5px 60.3px 0px rgba(52, 61, 77, 0.10); }
.block--units .unit--item img { display: block; width: 100%; height: 280px; object-fit: cover; }
.block--units .unit--item-content { padding: 35px 40px; color: var(--secondary-color); font-size: 15px; font-weight: 500; line-height: 26px; }
.block--units .unit--title { color: var(--secondary-color); font-family: "Hansom FY"; font-size: 24px; font-weight: 700; line-height: 60px; }
.block--units .unit--description { opacity: .8; }
.block--units .unit--subtitle { opacity: .8; margin-top: 20px; font-weight: 700; }
.block--units .unit--list { list-style: none; }
.block--units .unit--list li { opacity: .8; position: relative; display: flex; justify-content: space-between; padding: 15px 0 15px 33px; border-bottom: 1px solid var(--border-color); }
.block--units .unit--list li span { opacity: .8; font-weight: 700; }
.block--units .unit--list li::before { content: "\e900"; position: absolute; left: 0; top: 50%; margin-top: -12px; color: var(--primary-color); font-family: 'rotoplastyc-icons' !important; }
.block--units .unit--list li:last-child { border: none; }
.block--units .btn { display: flex; gap: 16px; align-items: center; margin-top: 27px; color: var(--primary-color); font-size: 16px; font-weight: 800; line-height: 1em; }
.block--units .btn i { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; color: var(--white-color); background: var(--primary-color); border-radius: 100px; }
.block--units .swiper-button-lock { display: none; }
@media screen and (max-width: 991px) {
    .block--units .swiper { --swiper-navigation-sides-offset: -15px; }
}

/* PRODUCTS */
.block--products { margin: 70px 0 100px; }
.block--products .block--heading { margin-bottom: 10px; }
.block--products .products-slider { overflow: visible; padding: 0 0 55px; }
.block--products .product--item { padding: 22px; background: var(--white-color); border-radius: 20px; box-shadow: 16px 20px 134.1px 0px rgba(52, 61, 77, 0.15); }
.block--products .product--item img { display: block; width: 100%; height: 260px; object-fit: contain; }
.block--products .product-category { opacity: .8; position: relative; display: inline-flex; padding: 0 19px; color: var(--secondary-color); font-size: 12px; font-weight: 700; line-height: 32px; letter-spacing: -0.36px; background: var(--input-color); border-radius: 100px; }
.block--products .product-title { display: block; color: var(--secondary-color); font-family: "Hansom FY"; font-size: 24px; font-weight: 700; line-height: 60px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.block--products .product-description { opacity: .6; color: var(--secondary-color); font-size: 15px; font-weight: 500; line-height: 23px; }
.block--products .swiper-slide { opacity: 0; transition: opacity 0.3s ease-in-out; }
.block--products .swiper-slide-active,
.block--products .swiper-slide-next,
.block--products .swiper-slide-next + .swiper-slide { opacity: 1; }
.block--products .swiper-pagination-bullet { width: 70px; height: 4px; border-radius: 10px; }
.block--products .swiper-button-next,
.block--products .swiper-button-prev { top: -53px; left: auto; right: 0; }
.block--products .swiper-button-prev { right: 70px; }
@media screen and (max-width: 991px) {
    .block--products .block--heading { margin-bottom: 30px; text-align: center; }    
    .block--products .product-title { padding: 5px 0; line-height: 36px; }
    .block--products .swiper-pagination-bullet { width: 45px; }
    .block--products .swiper-button-prev,
    .block--products .swiper-button-next { top: 50%; left: -15px; }
    .block--products .swiper-button-next { left: auto; right: -15px; }
}

/* FORMS */
.block--form { padding: 60px 0; }
.block--form .block--heading { color: var(--secondary-color); font-size: 20px; line-height: 37px; letter-spacing: -0.4px; text-align: center; }
.block--form .block--title { margin-bottom: 25px; font-size: var(--title-size); text-align: center; }
.block--form #piotnetforms .piotnet-column__inner > .piotnetforms-fields-wrapper:has( > .piotnetforms-field-type-textarea ) { width: 100% !important; }
.block--form .piotnetforms-button { width: fit-content !important; min-width: 230px; border-radius: 8px; }
.block--form .piotnetforms-field-container { position: relative; display: flex; flex-wrap: wrap; width: 100%; }
.block--form .piotnetforms-field-container .piotnetforms-field,
.block--form .piotnetforms-field-container .piotnetforms-field select,
.block--form .piotnetforms-field-container .piotnetforms-field textarea,
.block--form .piotnetforms-field-container input { flex-basis: 100%; width: 100%; max-width: 100%; }
.block--form.form-column .block--heading { flex: 0 0 335px; text-align: left; }
.block--form.form-column .block--title { margin-bottom: 32px; font-size: 95px; line-height: 90px; text-align: left; }
.block--form.form-column .container { display: flex; gap: 67px; }
.block--form.form-columns-2 .piotnetforms__form,
.block--form.form-columns-3 .piotnetforms__form { display: flex; flex-wrap: wrap; width: 100%; }
.block--form.form-columns-2 .piotnetforms-button { width: 100% !important; }
.block--form.form-columns-2 .piotnetforms-field-type-acceptance { padding-top: 23px !important; }
.block--form.form-columns-2 #piotnetforms .piotnet-column__inner,
.block--form.form-columns-3 #piotnetforms .piotnet-column__inner { display: flex; flex-wrap: wrap; gap: 30px; }
.block--form.form-columns-2 #piotnetforms .piotnet-column__inner > .piotnetforms-fields-wrapper { width: calc(50% - 15px); }
.block--form.form-columns-3 #piotnetforms .piotnet-column__inner > .piotnetforms-fields-wrapper { width: calc(33% - 16.6px); }
.block--form.form-columns-2 .piotnetforms-button-wrapper.piotnetforms-submit,
.block--form.form-columns-3 .piotnetforms-button-wrapper.piotnetforms-submit { padding-right: 30px !important; }
.block--form.form-line .piotnet-section,
.block--form.form-line .piotnet-column,
.block--form.form-line .piotnet-column__inner { position: static !important; }
.block--form.form-line .piotnetforms__form { position: relative; padding-bottom: 20px; }
.block--form.form-line .piotnetforms__form,
.block--form.form-line .piotnet-column__inner { display: flex; gap: 30px; flex-wrap: nowrap; }
.block--form.form-line .piotnetforms-field { height: 65px; }
.block--form.form-line .piotnetforms-button-wrapper.piotnetforms-submit { flex: 0 0 33%; padding: 0 !important; }
.block--form.form-line .piotnetforms-button { margin-top: 0 !important; width: 100% !important; }
.block--form.form-line .piotnetforms-field-label { display: none !important; }
.block--form.form-line .piotnetforms-fields-wrapper:has( > .piotnetforms-field-type-acceptance ) { position: absolute; right: 0; bottom: 0; width: 33% !important; }
.block--form.form-line .piotnetforms-fields-wrapper .piotnetforms-field-type-acceptance { margin: 0 !important; padding: 0 !important; }
.block--form.form-line .piotnetforms-fields-wrapper .piotnetforms-field-type-acceptance .piotnetforms-field { height: auto; }
.block--form.background-color { padding: 120px 0; }
@media screen and (max-width: 991px) {
    .block--form.form-column .container { flex-direction: column; }
    .block--form.form-column .block--heading { flex: none; }
    .block--form.form-column .block--heading,
    .block--form.form-column .block--title { text-align: center; font-size: 18px; line-height: 32px; }
    .block--form.form-column .block--title { text-align: center; font-size: 42px; line-height: 48px; }
    .block--form #piotnetforms .piotnet-column__inner { gap: 16px !important; }
    .block--form #piotnetforms .piotnet-column__inner .piotnetforms-field-label { margin-bottom: 4px !important; }
    .block--form #piotnetforms .piotnet-column__inner > .piotnetforms-fields-wrapper { width: 100% !important; }
    .block--form .piotnetforms-button-wrapper.piotnetforms-submit,
    .block--form.form-columns-2 .piotnetforms-button-wrapper.piotnetforms-submit,
    .block--form.form-columns-3 .piotnetforms-button-wrapper.piotnetforms-submit { padding: 0 !important; }    
}

/* ACCORDION */
.block--accordion { margin: 70px 0; }
.block--accordion .container { display: flex; gap: 67px; align-items: flex-start; justify-content: center; }
.block--accordion .accordion-slider { flex: 0 0 510px; }
.block--accordion .accordion-slider img { display: block; width: 100%; height: 630px; max-height: 630px; border-radius: 20px; object-fit: cover; }
.block--accordion .accordion-slider .swiper-navigation { bottom: 20px; }
.block--accordion .block--heading { display: flex; flex: 405px 0 0; flex-direction: column; }
.block--accordion .block--title { order: 1; margin-bottom: 40px; text-align: center; }
.block--accordion .block--title span { font-size: 88px; color: var(--primary-color); letter-spacing: -0.88px; line-height: 1em; }
.block--accordion .block--headline { order: 2; padding: 1px 3px; font-size: 17px; font-weight: 500; color: var(--text-color); line-height: 20px; letter-spacing: normal; text-transform: none; }
.block--accordion .accordion--image { order: 3; width: 100%; }
.block--accordion .accordion--image img { display: block; width: 100%; height: auto; }
.block--accordion .accordion--content { display: block; width: 100%; }
.block--accordion .accordion--tabs { padding-top: 65px; }
.block--accordion .accordion--tab { padding: 25px 0; font-size: 13px; font-weight: 400; color: var(--text-color); line-height: 25px; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
.block--accordion .accordion--tab h5,
.block--accordion .accordion--tab h6 { margin-bottom: 13px; font-size: 15px; font-weight: 500; line-height: 25px; }
.block--accordion .accordion--tab p { margin-bottom: .75em; }
.block--accordion .accordion--tab p:last-child { margin-bottom: 0; }
.block--accordion .accordion--tab .accordion--tab-title { cursor: pointer; position: relative; padding-right: 40px; padding-left: 50px; color: var(--secondary-color); font-family: "Hansom FY"; font-size: 20px; font-weight: 700; line-height: 31px; transition: .3s; }
.block--accordion .accordion--tab .accordion--tab-title i { position: absolute; left: 12px; top: 50%; display: inline-flex; margin-top: -10px; color: var(--primary-color); }
.block--accordion .accordion--tab .accordion--tab-title::after { content: "\e916"; position: absolute; top: -1px; right: 20px; font-family: 'rotoplastyc-icons' !important; font-size: 10px; color: var(--primary-color); transition: .4s; }
.block--accordion .accordion--tab .accordion--tab-title span { color: var(--primary-color); }
.block--accordion .accordion--tab .accordion--tab-content { display: none; opacity: .8; padding-left: 52px; color: var(--secondary-color); font-size: 15px; font-weight: 500; line-height: 26px; }
.block--accordion .accordion--tab:first-child { margin-top: -25px; }
.block--accordion .accordion--tab:last-child { border-bottom: none; }
.block--accordion .accordion--tab.open .accordion--tab-title { margin-bottom: 18px; }
.block--accordion .accordion--tab.open .accordion--tab-content { display: block; }
.block--accordion .accordion--tab.open .accordion--tab-title::after { content: "\e921"; }
@media screen and (max-width: 991px) {
    .block--accordion { margin: 30px 0; padding: 10px 0 0; }
    .block--accordion .container { display: block; gap: 40px; flex-direction: column; }
    .block--accordion .block--heading { width: 100%; }
    .block--accordion .block--title,
    .block--accordion .block--title span { order: 3; font-size: 25px; line-height: 31px; letter-spacing: -0.25px; text-align: center; }
    .block--accordion .block--headline { order: 2; padding: 0; font-size: 13px; font-weight: 400; line-height: 23px; text-align: center; }
    .block--accordion .accordion-slider img { max-height: 420px; }    
}

/* TIMELINE */
.block--timeline { --color: var(--white-color);  margin: 55px 0; background-color: var(--color); }
.block--timeline .container { padding: 70px 0 0; border-top: 1px solid rgba(0, 0, 0, 0.1); }
.block--timeline .block--heading { margin-bottom: 40px; text-align: center; }
.block--timeline .timeline-container { position: relative; }
.block--timeline .timeline-images { position: relative; z-index: 2; margin: 0 90px; }
.block--timeline .timeline-images img { display: block; width: 325px; height: 245px; border-radius: 10px; object-fit: cover; }
.block--timeline .timeline-slider { position: relative; z-index: 1; margin-top: -245px; padding: 40px 0 80px; }
.block--timeline .timeline--slide { display: flex; gap: 70px; margin: 0 auto; padding-left: 420px; width: 100%; max-width: calc( 100% - 180px ); }
.block--timeline .timeline--label { opacity: .5; position: relative; color: transparent; font-family: "Hansom FY"; font-size: 115px; font-weight: 700; line-height: 60px; -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: #000; }
.block--timeline .timeline--label::after { content: " "; position: absolute; left: 0; bottom: -19px; width: 100%; height: 60px; background: linear-gradient(0deg, var(--color) 15%, transparent 100%); }
.block--timeline .timeline--content p { opacity: .8; color: var(--secondary-color); font-size: 16px; font-weight: 400; line-height: 27px; letter-spacing: -0.32px; }
.block--timeline .timeline--content p.timeline--title { color: var(--secondary-color); font-family: "Hansom FY"; font-size: 28px; font-weight: 700; line-height: 54px; }
.block--timeline .swiper .swiper-button-prev,
.block--timeline .swiper .swiper-button-next { margin-top: -80px; }
.block--timeline .swiper-pagination-numbers { position: absolute; z-index: 2; left: 40px; bottom: 10px; display: flex; overflow-x: auto; overflow-y: hidden; padding-right: 40px; max-width: 100%; white-space: nowrap; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; }
.block--timeline .swiper-pagination-numbers::-webkit-scrollbar { display: none; }
.block--timeline .swiper-pagination-numbers .swiper-pagination-bullet { opacity: .8; cursor: pointer; position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; margin: 0 20px; width: 70px; height: 51px; color: var(--secondary-color); font-family: "Hansom FY"; font-size: 17px; font-weight: 700; line-height: 54px; background: transparent; border: 1px solid transparent; transition: all 0.2s ease; transform: none; }
.block--timeline .swiper-pagination-numbers .swiper-pagination-bullet::after { content: " "; position: absolute; top: 50%; right: -41px; margin-top: -4.5px; width: 40px; height: 9px; background: transparent url('../images/timeline.svg') center center no-repeat; }
.block--timeline .swiper-pagination-numbers .swiper-pagination-bullet:last-child::after { display: none; }
.block--timeline .swiper-pagination-numbers .swiper-pagination-bullet.swiper-pagination-bullet-active { opacity: 1; color: var(--primary-color); font-size: 21px; font-weight: 700; line-height: 54px; border-color: var(--primary-color); border-radius: 100px; }
@media screen and (max-width: 991px) {
    .block--timeline .timeline-images { margin: 0 30px; }
    .block--timeline .timeline-images img { width: 100%; }
    .block--timeline .timeline-slider { margin-top: 0; padding-bottom: 56px; }
    .block--timeline .timeline--slide { gap: 10px; flex-direction: column; padding: 0 50px; max-width: 100%; }
    .block--timeline .timeline--slide img { display: block; margin: 0 auto; width: 180px; height: auto; }
    .block--timeline .timeline--label { font-size: 75px; text-align: center; }
    .block--timeline .timeline--title { font-size: 25px; line-height: 31px; letter-spacing: -0.25px; text-align: center; }
    .block--timeline .timeline--subtitle { display: table; margin-left: auto; margin-right: auto; text-align: center; }
    .block--timeline .timeline--content { display: flex; flex-direction: column; align-items: center; justify-content: center; padding-bottom: 30px; }
    .block--timeline .timeline--content p { text-align: center; }
    .block--timeline .swiper-pagination-numbers { position: relative; left: auto; bottom: auto; text-align: center; }
}

/* TABS */
.block--tabs { --color: var(--white-color);  margin: 140px 0; background-color: var(--color); }
.block--tabs .block--heading { margin-bottom: 40px; }
.block--tabs .block--title { font-size: 37px; text-align: center; }
.block--tabs .tabs-container { position: relative; display: flex; gap: 55px; }
.block--tabs .tabs-tabs { overflow: visible; position: relative; flex: 0; min-width: 210px; }
.block--tabs .tabs-tabs::after { content: " "; position: absolute; top: 20px; right: 28px; width: 1px; height: calc( 100% - 40px ); background: var(--primary-color); }
.block--tabs .tabs-tabs .swiper-slide { height: auto; }
.block--tabs .tabs-tabs .tabs--tab { cursor: pointer; display: flex; gap: 16px; align-items: center; padding: 0 8px; height: 54px; color: var(--secondary-color); font-family: "Hansom FY"; font-size: 17px; font-style: normal; font-weight: 700; line-height: 54px; background: transparent; border-radius: 100px; transition: ease-in-out .4s; }
.block--tabs .tabs-tabs .tabs--tab-title { opacity: .8; flex: 1; display: flex; justify-content: flex-end; align-items: center; width: 100%; height: 100%; transition: ease-in-out .4s; }
.block--tabs .tabs-tabs .tabs--tab-label { display: flex; align-items: center; justify-content: center; width: 42px; height: 38px; color: var(--text-light-color); background: var(--color); border-radius: 100px; transition: ease-in-out .4s; }
.block--tabs .tabs-tabs .swiper-slide-active .tabs--tab { background: var(--white-color); box-shadow: 10px 10px 40px 0px rgba(23, 33, 64, 0.10); }
.block--tabs .tabs-tabs .swiper-slide-active .tabs--tab-title { opacity: 1; color: var(--primary-color); }
.block--tabs .tabs-tabs .swiper-slide-active .tabs--tab-label { opacity: 1; color: var(--white-color); height: 42px; background: var(--primary-color); }
.block--tabs .tabs-slider { flex: 1; width: 100%; }
.block--tabs .tabs-slider .tabs--slide { display: flex; gap: 77px; }
.block--tabs .tabs-slider img { display: block; width: 408.126px; height: 409.2px; object-fit: cover; border-radius: 20px; }
.block--tabs .tabs-slider .tabs--label { opacity: .5; position: relative; margin-bottom: -10px; color: transparent; font-family: "Hansom FY"; font-size: 115px; font-weight: 700; line-height: 60px; -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: var(--primary-color); }
.block--tabs .tabs-slider .tabs--label::after { content: " "; position: absolute; left: 0; bottom: -5px; width: 100%; height: 60px; background: linear-gradient(0deg, var(--color) 15%, transparent 100%); }
.block--tabs .tabs-slider .tabs--title { color: var(--secondary-color); font-family: "Hansom FY"; font-size: 28px; font-weight: 700; line-height: 54px; }
.block--tabs .tabs-slider .tabs--title span { display: none; }
.block--tabs .tabs-slider .tabs--content { display: flex; justify-content: center; flex-direction: column; }
.block--tabs .tabs-slider .tabs--content p { color: var(--text-light-color); font-size: 16px; font-weight: 400; line-height: 27px; letter-spacing: -0.32px; }
.block--tabs .tabs-slider .tabs--content .btn { margin-top: 32px; }
@media screen and (max-width: 991px) {
    .block--tabs .block--title { font-size: var(--title-large-size); line-height: 32px; text-align: left; }
    .block--tabs .tabs-container { gap: 40px; flex-direction: column; }   
    .block--tabs .tabs-container::after,
    .block--tabs .tabs-container::before { content: " "; position: absolute; z-index: 99; top: 0; left: -30px; width: 100px; height: 90px; background: linear-gradient(90deg, #FFF 35.84%, rgba(255, 255, 255, 0.00) 86.21%); }
    .block--tabs .tabs-container::before { left: auto; right: -30px; transform: rotate(180deg); }
    .block--tabs .tabs-tabs::after { left: 0; right: auto; width: 100%; height: 1px; }
    .block--tabs .tabs-tabs { width: 100%; }    
    .block--tabs .tabs-tabs .swiper-slide { width: fit-content; }
    .block--tabs .tabs-tabs .tabs--tab { gap: 0; flex-direction: column-reverse; padding: 0 15px; height: auto; line-height: 1em; background: transparent !important; box-shadow: none !important; }
    .block--tabs .tabs-tabs .tabs--tab-label { margin-bottom: 5px; width: 38px !important; height: 38px !important; }
    .block--tabs .tabs-slider .tabs--slide { flex-direction: column; gap: 30px; }
    .block--tabs .tabs-slider img { display: block; margin: 0 auto; width: 100%; height: 330px; }
    .block--tabs .tabs-slider .tabs--label,
    .block--tabs .tabs-slider .tabs--label::after { display: none; }
    .block--tabs .tabs-slider .tabs--title { margin-bottom: 10px; font-size: 25px; line-height: 31px; letter-spacing: -0.25px; }
    .block--tabs .tabs-slider .tabs--title span { display: inline-block; margin-right: 5px; color: var(--primary-color); }
    .block--tabs .tabs-slider .tabs--subtitle { display: table; margin-left: auto; margin-right: auto; }
    .block--tabs .tabs-slider .tabs--content { display: flex; flex-direction: column; justify-content: center; padding-bottom: 30px; }    
    .block--tabs .tabs-slider .tabs--content .btn { margin-top: 19px; width: 100%; }
}
@media screen and (min-width: 990px) {
    .block--tabs .tabs-tabs .swiper-wrapper { transform: translate3d(0,0,0) !important; }
}

/* BUTTONS */
.block--group-buttons { display: flex; gap: 30px; }

/* BREADCRUMB */
.block--breadcrumb { display: flex; margin: 50px auto; padding: 16px; width: fit-content; background: var(--white-color); border-radius: 10px; box-shadow: 0 4px 14.7px 0px rgba(0, 0, 0, .05); }
.block--breadcrumb + .block:not(.block--page-heading) { margin-top: 56px; padding-top: 0; }
.block--breadcrumb .breadcrumb { list-style: none; display: flex; align-items: center; }
.block--breadcrumb .breadcrumb li,
.block--breadcrumb .breadcrumb li a { display: flex; align-items: center; color: var(--text-color); }
.block--breadcrumb .breadcrumb li:first-child a::before { content: "\e925"; display: block; margin-right: 14px; font-family: 'rotoplastyc-icons' !important; color: var(--text-color); }
.block--breadcrumb .breadcrumb .seperator { opacity: .3; display: block; padding: 0 14px; }
.block--breadcrumb .breadcrumb .item-current { font-weight: bold; }
.block--breadcrumb.style-2 { background: rgba(255, 255, 255, .1); }
.block--breadcrumb.style-2 .breadcrumb li,
.block--breadcrumb.style-2 .breadcrumb li a,
.block--breadcrumb.style-2 .breadcrumb li:first-child a::before,
.block--breadcrumb.style-2 .breadcrumb .seperator { color: var(--white-color); }
.rotoplastyc:has( .block--page-heading.background-color ) { background: var(--background-color); }