/*
Theme Name: Und3fined custom theme
Theme URI: https://und3fined.it/
Template: generatepress
Author: Gabriele Visconti
Author URI: https://und3fined.it/
Description: Questo tema è stato realizzato dal developer. G.V
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 1.72
Updated: 2026-09-22

*/



/* --------------------------------------------
   Typografy
-------------------------------------------- */
body{
    font-size: clamp(14px, 0.83vw, 16px);
    line-height: clamp(24px,1.35vw, 26px);
    }
.block--title__24{
    font-size: clamp(22px, 1.249vw, 24px);
    line-height: clamp(30px, 1.66vw, 32px);
}
.block--title__30{
   font-size: clamp(22px, 1.562vw, 30px);
   line-height: clamp(27px, 1.822vw, 35px);
}
.block--title__40{
   font-size: clamp(24px, 2.082vw, 35px);
   line-height: clamp(29px, 2.082vw, 40px);
}
.block--title__50{
   font-size: clamp(28px, 2.603vw, 50px);
   line-height: clamp(33px, 2.864vw, 55px);
}
.block--title__60{
   font-size: clamp(30px, 3.124vw, 60px);
   line-height: clamp(35px, 3.384vw, 65px);
}
.block--title__70{
   font-size: clamp(32px, 3.645vw, 70px);
   line-height: clamp(32px, 3.645vw, 70px);
}
.block--title__80{
   font-size: clamp(32px, 4.16vw, 80px);
   line-height: clamp(38px, 4.68vw, 90px);
}
h1,h2,h3,h4,h5,h6{
    font-weight: bold;
}

/* --------------------------------------------
   Global
-------------------------------------------- */
#to-the-top {
    display: flex;
    background-color: #11111173;
    width: 50px;
    height: 50px;
    border-radius: 25px 0 0 25px;
    position: fixed;
    bottom: 30px;
    right: 0;
    transition: background-color .3s, opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
    justify-content: center;
    align-items: center;
}
a#to-the-top svg {
    width: 20px;
    height: 20px;
    fill: #fff;
    transition: 300ms;
}

#to-the-top:hover {
	cursor: pointer;
	background-color: #333;
}

#to-the-top:active {
	background-color: #555;
}

#to-the-top.show {
	opacity: 1;
	visibility: visible;
}
html,body{
    scroll-behavior: smooth;
}
.grecaptcha-badge{visibility:hidden!important}
/* --------------------------------------------
   General
-------------------------------------------- */
/* shortcode social */
.social-link-wrapper{
   display: flex;
   align-items: center;
   gap: 8px;
}
.social-link-wrapper a{
   display: flex;
   transition: 300ms;
}
.social-link-wrapper svg{
   width: 20px;
   height: 20px;
   transition: 300ms;
}
/* shortcode contact */
.company-contacts-main-wrapper,.company-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.company-contacts-main-wrapper .company-contact svg {
    width: 20px;
    height: 20px;
}
.company-contacts-main-wrapper .company-contact a {
    display: flex;
    gap: 8px;
    align-items: center;
}


/* --------------------------------------------
   Animation
-------------------------------------------- */
.text-reveal-animations-active .text-reveal-left .block--subtitle,
.text-reveal-animations-active .text-reveal-left .block--title,
.text-reveal-animations-active .text-reveal-left .block--paragraph,
.text-reveal-animations-active .text-reveal-left .block--button {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.text-reveal-animations-active .text-reveal-left.is-visible .block--subtitle,
.text-reveal-animations-active .text-reveal-left.is-visible .block--title,
.text-reveal-animations-active .text-reveal-left.is-visible .block--paragraph,
.text-reveal-animations-active .text-reveal-left.is-visible .block--button {
    opacity: 1;
    transform: translateX(0);
}

.text-reveal-animations-active .text-reveal-left .block--subtitle {
    transition-delay: 0s;
}

.text-reveal-animations-active .text-reveal-left .block--title {
    transition-delay: 0.12s;
}

.text-reveal-animations-active .text-reveal-left .block--paragraph {
    transition-delay: 0.24s;
}

.text-reveal-animations-active .text-reveal-left .block--button {
    transition-delay: 0.36s;
}

.text-reveal-animations-active .text-reveal-right .block--subtitle,
.text-reveal-animations-active .text-reveal-right .block--title,
.text-reveal-animations-active .text-reveal-right .block--paragraph,
.text-reveal-animations-active .text-reveal-right .block--button {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.text-reveal-animations-active .text-reveal-right.is-visible .block--subtitle,
.text-reveal-animations-active .text-reveal-right.is-visible .block--title,
.text-reveal-animations-active .text-reveal-right.is-visible .block--paragraph,
.text-reveal-animations-active .text-reveal-right.is-visible .block--button {
    opacity: 1;
    transform: translateX(0);
}

.text-reveal-animations-active .text-reveal-right .block--subtitle {
    transition-delay: 0s;
}

.text-reveal-animations-active .text-reveal-right .block--title {
    transition-delay: 0.12s;
}

.text-reveal-animations-active .text-reveal-right .block--paragraph {
    transition-delay: 0.24s;
}

.text-reveal-animations-active .text-reveal-right .block--button {
    transition-delay: 0.36s;
}

/* --------------------------------------------
   Header
-------------------------------------------- */


/* --------------------------------------------
   Layout
-------------------------------------------- */

.section-page-header {
    padding: clamp(60px, 4.16vw, 80px) 0 20px;
}

.section-page-header .block--title {
    border-bottom: 1px solid #172B42;
    padding-bottom: 29px;
}

/* --------------------------------------------
   Certifications
-------------------------------------------- */
.certification-item-wrapper a {
    border: 1px solid #0099CC;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    text-wrap: balance;
    width: 100%;
    border-radius: 100px;
    padding: clamp(20px, 1.55vw, 30px) clamp(30px, 2.59vw, 50px);
    text-decoration: none;
    color: #0099CC;
    transition: 300ms;
}

.certification-item-wrapper a:hover {
    transition: 300ms;
    color: #fff;
    background: #336699;
    border: 1px solid #336699;
}
.block--icon svg {
    width: 100%;
    height: 100%;
}
.block--icon {
    display: flex;
}
.certification-item-wrapper svg {
    fill: #0099CC;
    transition: 300ms;
    height: 100%;
    max-height: clamp(25px, 2.59vw, 50px);
    min-width: 25px;
}

.certification-item-wrapper a:hover svg{
    transition: 300ms;
    fill: #fff;
}

.certification-loop {
    display: flex;
    flex-direction: column;
    gap: clamp(25px, 1.55vw, 30px);
}
.custom-padding{
    padding-top: clamp(60px, 6.24vw, 120px);
    padding-bottom: clamp(80px, 10.40vw, 200px);
}

/* --------------------------------------------
   Company
-------------------------------------------- */
.border-radius .block--media-wrapper {
    overflow: hidden;
    border-radius: 20px;
}

@media(min-width: 1025px){
    .border-radius .block--media-wrapper {
        overflow: hidden;
        border-radius: 30px;
    }
}