/*
Theme Name: Versaproject.eu
Author: KMSTUDIO
Version: 1.0
*/

:root {
    --site--first--color: #ffcc00;
    --site--second--color: #003399;
}

html { font-size: 22px; }
body {
	background-color: #fff;
	color: #333;
	font-family: "Ubuntu", sans-serif;
	font-weight: 400;
	padding: 0;
	margin: 0;
    line-height: 1.4;
}
body.no-scroll {
	overflow: hidden;
}

a {
    color: var(--site--first--color);
    text-decoration: none;
    transition: color ease-in-out 400ms,
                background ease-in-out 400ms,
                border ease-in-out 400ms;
}
a:hover {
    color: var(--site--second--color); 
}
svg {
    max-width: 100%;
    height: auto;
}
strong, b {
    font-weight: 700;
}
hr.separator {
    margin: 2rem 0 3rem;
    opacity: 1;
    border-top: 3px solid var(--site--first--color);
}

main {
    padding-top: var(--site--header--height);
}

.button-link {
    margin-bottom: 2rem;
}
.button-link a {
    position: relative;
    color: #000;
    font-size: 0.7rem;
    text-transform: uppercase;
    white-space: nowrap;
    margin-left: 3.5rem;
    transition: padding 300ms ease-in-out;
}
.button-link a:hover {
	padding-left: 1.2rem;
}
.button-link a::before {
    content: "";
    position: absolute;
    width: 2.8rem;
    height: 3px;
    background-color: #000;
    left: -3.5rem;
    top: calc(50%);
    transform: translateY(-50%);
    transition: width 300ms ease-in-out;
}
.button-link a:hover::before {
    width: 4rem;
}

.button {
    margin: 2rem 0;
}
.button a {
    position: relative;
    color: #fff;
	background-color: var(--site--second--color);
    font-size: 1rem;
    text-transform: uppercase;
	padding: 0.8rem 1rem;
	border-radius: 1rem;
}
.button a:hover {
	background-color: var(--site--first--color);
}


/*--- MENU RESPONSIVE */
.menu-responsive {
    position: fixed;
	top: 0;
    padding: 0.5rem 0.5rem;
    width: 100%;
    height: 100%;
    z-index: 99999;
    overflow-y: auto;
    background-color: #fff;
    transform: translateY(-100%);
    transition: transform 300ms ease-in-out,
                opacity 300ms ease-in-out;
    opacity: 0;
}
.menu-responsive.expanded {
    transform: translateY(0);
    opacity: 1;
}
.menu-responsive figure.logo {
	margin: 0;
	width: 400px;
    transition: opacity 400ms ease-in-out;
}
.menu-responsive figure.logo:hover {
	opacity: 0.7;
}
.menu-responsive figure.logo svg path.letter {
	fill: #fff;
}
.menu-responsive .header-right .menu-close-responsive {
	margin-right: 1.3rem;
}
.menu-responsive .header-right .menu-close-responsive span {
	color: var(--site--second--color);
    font-size: 1.1rem;
    transition: color 400ms ease-in-out;
}
.menu-responsive .header-right .menu-close-responsive span[class^="icon-"]::before {
	width: auto;
	margin: 0;
    line-height: 2;
}
.menu-responsive .header-right .menu-close-responsive span:hover {
	cursor: pointer;
    color: var(--site--first--color);
}
.menu-responsive .header-right .own-socials {
	
}
.menu-responsive .header-right .own-socials ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.menu-responsive .header-right .own-socials ul li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 1.3rem;
}
.menu-responsive .header-right .own-socials ul li span[class^="icon-"]::before {
	line-height: 2;
}
.menu-responsive .header-right .own-socials ul li a {
	color: var(--site--first--color);
}
.menu-responsive .header-right .own-socials ul li a:hover {
	color: var(--site--second--color);
}
.menu-responsive nav.main {
	margin-top: 2rem;
}
.menu-responsive nav.main ul {
	margin: 0;
    padding: 0;
    list-style-type: none;
	text-align: right;
}
.menu-responsive nav.main ul li {
	margin: 0 0 0.8rem 0;
    padding: 0;
    list-style-type: none;
    font-size: 1.2rem;
	font-weight: 700;
}
.menu-responsive nav.main ul li a {
	color: var(--site--second--color);
}
.menu-responsive nav.main ul li a:hover {
	color: var(--site--first--color);
}


/*--- HEADER */
header.layout-row {
    position: fixed;
    width: 100%;
    z-index: 10;
	background-color: #fbfbfb;
	padding: 0.5rem 1rem;
}
header.layout-row figure.logo {
	margin: 0;
	width: 680px;
    transition: opacity 400ms ease-in-out;
}
header.layout-row figure.logo:hover {
	opacity: 0.7;
}
header.layout-row figure.logo svg path.letter {
	fill: #fff;
}
header.layout-row .header-right .hamburger {
	margin-right: 1.5rem;
    transform: rotateY(-180deg) scale(1.1);
}
header.layout-row .header-right .hamburger span {
    display: block;
    width: 1.3rem;
    height: 0.14rem;
    background-color: var(--site--second--color);
    margin-bottom: 0.3rem;
    transition: width 200ms ease-in-out;
    border-radius: 1rem;
}
header.layout-row .header-right .hamburger span:last-child {
	margin-bottom: 0;
}
header.layout-row .header-right .hamburger:hover {
	cursor: pointer;
}
header.layout-row .header-right .hamburger:hover span:first-child {
	width: 0.8rem;
}
header.layout-row .header-right .own-socials {
	
}
header.layout-row .header-right .own-socials ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
header.layout-row .header-right .own-socials ul li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 1.3rem;
}
header.layout-row .header-right .own-socials ul li span[class^="icon-"]::before {
	line-height: 2;
}
header.layout-row .header-right .own-socials ul li a {
	color: var(--site--first--color);
}
header.layout-row .header-right .own-socials ul li a:hover {
	color: var(--site--second--color);
}

.image-header-full {
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 400px;
    margin-bottom: 2rem;
}
.image-header-full .overlay-text {
    /*width: 70vw;
    padding: 14vh 7vw 1rem 1.7rem;*/
	padding: 0 2rem;
	text-align: center;
}
.image-header-full .overlay-text figure.icon-ciak {
	width: 28vh;
	margin: 0 0 2rem 0;
	display: none;
}
.image-header-full .overlay-text figure.icon-ciak svg path,
.image-header-full .overlay-text figure.icon-ciak svg polygon,
.image-header-full .overlay-text figure.icon-ciak svg rect {
	fill: #fff;
}
.image-header-full .overlay-text p {
    color: #fff;
    font-size: 5vh;
    font-weight: 400;
    line-height: 1.3;
}
.image-header-full .overlay-text .button-group {
    margin-top: 10vh;
}
.image-header-full .overlay-text .button-group .button-link {
    width: 50%;
}
.image-header-full .overlay-text .button-group .button-link:last-child {
    margin-right: 0;
}
.image-header-full .overlay-text .button-group .button-link a {
    position: relative;
    color: #fff;
    font-size: 2.2vh;
    text-transform: uppercase;
    white-space: nowrap;
    margin-left: 13vh;
    transition: padding 300ms ease-in-out;
}
.image-header-full .overlay-text .button-group .button-link a:hover {
	padding-left: 3vh;
}
.image-header-full .overlay-text .button-group .button-link a::before {
    content: "";
    position: absolute;
    width: 10vh;
    height: 3px;
    background-color: #fff;
    margin-right: 1.3vw;
    left: -13vh;
    top: calc(50%);
    transform: translateY(-50%);
    transition: width 300ms ease-in-out;
}
.image-header-full .overlay-text .button-group .button-link a:hover::before {
    width: 13vh;
}
.image-header-full .overlay-bg {
    width: 40vw;
	margin-right: 3vw;
}
.image-header-full .overlay-bg img {
    object-fit: cover;
    height: 100%;
}
.image-header-full .arrow {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2rem;
    width: 100%;
	z-index: 1;
	overflow: hidden;
    display: none;
}
.image-header {
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 60vh;
    overflow: hidden;
}
.image-header .arrow {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2rem;
    width: 100%;
    display: none;
}
.image-header .overlay-bg {
    width: 80%;
    margin: 0 auto 2rem;
    padding: 2rem 0;
}
.image-header.align-bottom .overlay-bg {
    padding: 3rem 0 0 0;
}
.image-header .overlay-bg img {
    object-fit: contain;
    height: 100%;
}
.image-header.align-bottom .overlay-bg img {
    
}


/*--- STILI GENERALI */
.section {
    position: relative;
}
.section.block-what-we-do {
    margin-bottom: 4rem;
}
.section.block-what-we-do .big-text {
    margin-bottom: 5rem;
}
.section.block-what-we-do .big-text p {
    font-size: 1rem;
}
.section.block-what-we-do .article {
    
}
.section.block-what-we-do .article figure {
	padding: 0 1rem 0 0;
	margin: 0;
}
.section.block-what-we-do .article .inner-text {
    /*padding-left: 2rem;*/
}
.section.block-what-we-do .article .inner-text h2 {
    font-size: 1.7rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--site--second--color);
    margin: 0 0 0.2rem 0;
    padding: 0;
}
.section.block-what-we-do .article .inner-text p {
	line-height: 1.2;
}
.section.block-what-we-do .article .inner-text h2.second {
	color: var(--site--first--color);
    margin: 2rem 0 0.2rem 0;
}
.section.block-what-we-do .article .inner-text .button-link {
    
}
.section.block-what-we-do .article .inner-text .button-link:last-child {
    margin-right: 0;
}
.section.block-what-we-do .article .inner-text .button-link a {
    position: relative;
    color: #000;
    font-size: 0.7rem;
    text-transform: uppercase;
    white-space: nowrap;
    margin-left: 3.5rem;
    transition: padding 300ms ease-in-out;
}
.section.block-what-we-do .article .inner-text .button-link a:hover {
	padding-left: 1.2rem;
}
.section.block-what-we-do .article .inner-text .button-link a::before {
    content: "";
    position: absolute;
    width: 2.8rem;
    height: 3px;
    background-color: #000;
    left: -3.5rem;
    top: calc(50%);
    transform: translateY(-50%);
    transition: width 300ms ease-in-out;
}
.section.block-what-we-do .article .inner-text .button-link a:hover::before {
    width: 4rem;
}
.section.block-what-we-do .article .inner-text .listen-on-radio {
    margin-top: 2rem;
}
.section.block-what-we-do .article .inner-text .listen-on-radio div img {
    width: 120px;
}
.section.block-what-we-do .article .inner-text .listen-on-radio div.logo-tele-radio-stereo {
    margin: 0 1rem 0 0;
}
.section.block-what-we-do .article .inner-text .listen-on-radio div.logo-teladoiotokyo {
    margin: 0 0 0 1rem;
}
.section.block-what-we-do .article .inner-text .listen-on-radio div p {
    font-size: 0.8rem;
    color: var(--site--second--color);
    margin: 0;
}
.section.block-our-strengths {
    position: relative;
    margin: 0;
    padding: 3rem 0 0;
}
.section.block-our-strengths::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-image: url("assets/img/section-block/bg002.png");
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.section.block-our-strengths .baloon-sf {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -1.8rem;
}
.section.block-our-strengths .baloon-sf .rettangle {
	font-size: 1.2rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	background-color: var(--site--first--color);
	border-radius: 1rem;
	padding: 1rem 1rem;
	text-align: center;
	line-height: 1.2;
}
.section.block-our-strengths .points-group {
    
}
.section.block-our-strengths .points-group .row > div {
    margin-bottom: 2rem;
}
.section.block-our-strengths .points-group .point {
    background-color: #fff;
    padding: 1rem;
    border-radius: 1.5rem;
    height: 100%;
}
.section.block-our-strengths .points-group .point figure {
    text-align: center;
    margin: 0 0 0.5rem 0;
}
.section.block-our-strengths .points-group .point figure svg {
	width: 4rem;
	height: 4rem;
}
.section.block-our-strengths .points-group .point figure img {
	width: 5rem;
}
.section.block-our-strengths .points-group .point hr {
    border: 0.5px solid var(--site--first--color);
    opacity: 1;
    border-radius: 1rem;
    width: 6rem;
    margin: 0 auto 1.5rem;
}
.section.block-our-strengths .points-group .point .text {
    font-size: 0.6rem;
}
.section.block-our-strengths .points-group .point .text ul {
    margin: 0;
	padding: 0;
}
.section.block-our-strengths .points-group .point .text ul li {
    margin: 0 0 0 0.5rem;
	padding: 0;
}
/*
.section.block-our-strengths .points-group .point p {
    font-size: 0.85rem;
	font-weight: 700;
    text-align: center;
}
*/
.section.block-our-strengths .arrow {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2rem;
    width: 100%;
    display: none;
}
.section.block-our-results {
    padding-bottom: 1rem;
}
.section.block-our-results .big-text {
    margin-bottom: 3rem;
}
.section.block-our-results .big-text p {
    font-size: 1.2rem;
	font-weight: 500;
	color: var(--site--first--color);
}
.section.block-our-results .big-text p span {
	color: var(--site--second--color);
}
.section.block-our-results .button-link {
    
}
.section.block-our-results .button-link:last-child {
    margin-right: 0;
}
.section.block-our-results .button-link a {
    position: relative;
    color: #000;
    font-size: 0.7rem;
    text-transform: uppercase;
    white-space: nowrap;
    margin-left: 3.5rem;
    transition: padding 300ms ease-in-out;
}
.section.block-our-results .button-link a:hover {
	padding-left: 1.2rem;
}
.section.block-our-results .button-link a::before {
    content: "";
    position: absolute;
    width: 2.8rem;
    height: 3px;
    background-color: #000;
    left: -3.5rem;
    top: calc(50%);
    transform: translateY(-50%);
    transition: width 300ms ease-in-out;
}
.section.block-our-results .button-link a:hover::before {
    width: 4rem;
}
.section.block-form-registration {
	padding: 2rem 0 3rem;
	background-color: #fbfbfb;
	margin: 0;
}
.section.block-form-registration h2 {
	font-size: 1.7rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--site--second--color);
	margin: 0 0 1.5rem 0;
	padding: 0;
}
.section.block-text {
	padding: 3rem 0 3rem;
	background-color: #fbfbfb;
	margin: 0;
}
.section.block-text h2 {
	font-size: 1.7rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--site--second--color);
	margin: 0 0 1.5rem 0;
	padding: 0;
}
.inner-padding {
    padding: 0 1rem;
    overflow: hidden;
}
.inner-page {
    width: 80%;
}


/*--- PAGE */
.default-page {
    margin-bottom: 2rem;
}
.default-page h1 {
    font-size: 1.8rem;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--site--second--color);
    margin: 3rem 0 2rem 0;
    padding: 0;
}
.default-page h2.page-title {
    font-size: 1.8rem;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--site--first--color);
    margin: 3rem 0 2rem 0;
    padding: 0;
}
.default-page .wordpress-container-editor h2 {
    font-size: 1.6rem;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--site--second--color);
    margin: 2rem 0 2rem 0;
    padding: 0;
}
.default-page .wordpress-container-editor h3 {
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--site--second--color);
    margin: 1.5rem 0 1rem 0;
    padding: 0;
}
.default-page .wordpress-container-editor hr {
    margin: 2rem 0;
    opacity: 1;
    border-top: 3px solid var(--site--first--color);
}
.default-page .wordpress-container-editor .wp-block-quote p {
    font-weight: 700;
}
.default-page .wordpress-container-editor p {
    margin-bottom: 1.5rem;
}


/*--- I NOSTRI RISULTATI (PAGE) */
.list-results {
    
}
.list-results .single {
    margin-bottom: 3rem;
    padding-right: 3rem;
}
.list-results .single figure {
    margin: 0 0 2rem 0;
}
.list-results .single figure svg {
    width: 25%;
}
.list-results .single figure.icon-transport svg {
    width: 7rem;
}
.list-results .single hr {
    border: 2px solid var(--site--first--color);
    opacity: 1;
    border-radius: 1rem;
    width: 10rem;
    margin: 2rem 0;
}
.list-results .single h2 {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--site--second--color);
    text-transform: uppercase;
    margin: 0 0 1.2rem 0;
    padding: 0;
}
.list-results .single p {
    font-size: 0.9rem;
}


/*--- PRODUCTION (SINGLE) */
.single-production {
    margin-bottom: 10rem;
}
.single-production .production-details {
    
}
.single-production .production-details figure {
    padding-right: 2rem;
}
.single-production .production-details figure img {
    border-radius: 1rem;
}
.single-production .production-details h1 {
    margin: 0;
    padding: 0;
    font-size: 1.8rem;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--site--second--color);
}
.single-production .production-details ul {
    margin: 0 0 1rem 0;
    padding: 0;
    list-style-type: none;
}
.single-production .production-details ul li {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
.single-production .production-details .section-title {
    margin: 0 0 0.2rem 0;
    padding: 0;
    font-size: 1.3rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--site--second--color);
}


/*--- FOOTER */
footer.layout-row {
    position: relative;
    background-color: #333;
    padding: 2rem 0;
    margin-top: 0;
    color: #fff;
}
footer.layout-row .arrow {
    position: relative;
    top: 0;
    height: 2rem;
    z-index: 1;
    overflow: hidden;
    background-color: #fff;
    margin-bottom: 0;
    display: none;
}
footer.layout-row .arrow svg path {
	fill: var(--site--second--color);
}
footer.layout-row figure.logo {
	text-align: center;
    margin-bottom: 1.5rem;
}
footer.layout-row figure.logo img {
	width: 320px;
}
footer.layout-row p {
	text-align: center;
    font-size: 0.4rem;
}
footer.layout-row p a {
    color: var(--site--first--color);
}
footer.layout-row p a:hover {
    color: #fff;
}
footer.layout-row ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
footer.layout-row ul li {
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 0.7rem;
}
footer.layout-row ul li a {
    color: var(--site--first--color);
}
footer.layout-row ul li a:hover {
    color: #fff;
}
footer.layout-row ul li::before {
    content: "-";
    margin: 0 0.4rem;
}
footer.layout-row ul li:first-child::before {
    content: none;
}