/********************
* Utility Classes
********************/
@media (max-width: 767.98px) {	
	.reverse-mobile {
        display: flex;
        flex-direction: column-reverse;
    }
	
	.hide-mobile {
		display: none;
	}
	
	.button-outline.b-large a {
		min-width: 158px;
		padding: 18px 5px !important;
	}
}

/* headings */	
@media (max-width: 1199.98px) {	
	.h1, h1 {
		font-size: 28px !important;
		line-height: 32px !important;    
		font-weight: 500 !important;
	}

	.h2, h2 {
		font-size: 28px !important;    
		line-height: 32px !important;
		font-weight: 500 !important;    
	}

	.h3, h3 {
		font-size: 20px !important;
		line-height: 24px !important;
		font-weight: 500 !important;
	}

	.h4, h4 {
		font-size: 20px !important;
		line-height: 24px !important;
		font-weight: 500 !important;
	}
	
	.h5, h5 {
		font-size: 16px !important;
		line-height: 20px !important;
		font-weight: 400 !important;
	}
	
	/* parliamo insieme */
	.spacer-107 {
		height: 70px !important;
	}
	
	.spacer-176 {
		height: 92px !important;
	}
	
	.spacer-210 {
		height: 89px !important;
	}
	
	.spacer-180 {
		height: 147px !important;
	}
	
	.spacer-50 {
		height: 65px !important;
	}
	
	.spacer-53 {
		height: 91px !important;
	}
	
	.spacer-90 {
		height: 40px !important;
	}
	
	.spacer-94 {
		height: 82px !important;
	}
	
	/* Studio */
	.spacer-43 {
		height: 20px !important;
	}
	
	.spacer-106 {
		height: 70px !important;
	}

	/* Plus */
	.spacer-75 {
		height: 55px !important;
	}
	
	.spacer-59 {
		height: 45px !important;
	}	
	
	.spacer-118 {
		height: 50px !important;
	}
	
	/* News */
	.spacer-88 {
		height: 65px !important;
	}
	
	/* Contatti */
	.spacer-100 {
		height: 57px !important;
	}
		
	.spacer-108 {
		height: 35px !important;
	}
	
	.spacer-215 {
		height: 75px !important;
	}
	
	/* Project */
	.spacer-40 {
		height: 70px !important;
	}
}

/******************************************
* GENERAL LAYOUT
******************************************/
.parliamo-insieme .wpb_wrapper {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 75%;
}

@media (max-width: 991.98px) {	
	/* carousel (studio hero) */
	.carousel-center, .carousel-home {
		width: 100%;
	}
	
	.carousel-center .vc_carousel-control.vc_left,
	.carousel-home .vc_carousel-control.vc_left {
		left: 18px !important;
	}
	
	.carousel-center .vc_carousel-control.vc_right,
	.carousel-home .vc_carousel-control.vc_right {
		right: 18px !important;

	}	
}

/********************
* Hamburger
********************/
/* Remove border from container */
.toggle-bars__bars {
    display: flex;
    flex-direction: column;
    border: none;
    background: transparent;
    padding: 0;
	transform: translateZ(0);
}

/* Hide the middle bar */
.toggle-bars__bar-line--mid {
    display: none !important;
}

/* Both bars - shared styling */
.toggle-bars__bar-line:first-child,
.toggle-bars__bar-line:last-child {
    width: 35px;
    height: 1px;
    background-color: var(--color-black); 
    border-radius: 1px;
    backface-visibility: hidden;
    transform: translateZ(0);
    -webkit-font-smoothing: subpixel-antialiased;
}

/* First bar */
.toggle-bars__bar-line:first-child {
    margin: 3px 0;
}

/* Last bar */
.toggle-bars__bar-line:last-child {
    margin: -3px 0;
}

/* Reset button styling */
button.toggle-bars {
    border: none;
    background: transparent;
    outline: none;
}

/********************
* HAMBURGER MENU
********************/
/* logo top and bottom padding */	
@media (max-width: 991.98px) {
    .header-block {
        padding-bottom: 29px !important;
        padding-top: 29px !important;
    }
	
	/* hamburger right margin */
	.header-block__items-row {
		margin-right: -7px !important;
	}
	
	/* hide default language switcher */
	.nav-container-mobile-menu .wpml-ls-menu-item {
		display: none;
	}
	
	.mobile-menu {
		padding: 40px var(--k-container-spacing) 12px var(--k-container-spacing);
	}
	
	/* mobile menu logo */
	.submenu-logo {
		max-width: 30.66%;
	}
	
	/* mobile menu X button */
	.mobile-menu-close {
		font-size: 1.7rem;
		padding-top: 40px;
	}
	
	/* vertical center menu */
	.header-block__item--mobile-menu {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	
	/* mobile menu font */
	.menu-item {
		font-size: 20px;
		line-height: 24px;
		font-weight: 500;
		padding: 10px 0;
	}
	
	 /***************************
	 * WPML Langage Switcher
	 ***************************/
    .kalium-wpml-language-switcher .menu,
    .kalium-wpml-language-switcher .menu > .menu-item {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 40px;
        padding: 10px 0;
        margin: 0 0 0 20px;
        list-style: none;
        position: static !important;
    }
    
    /* Force submenu always visible */
    .kalium-wpml-language-switcher .sub-menu {
        display: flex !important;
        flex-direction: row !important;
        gap: 40px;
        position: static !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none;
        box-shadow: none !important;
        background: transparent !important;
        visibility: visible !important;
        opacity: 1 !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        pointer-events: auto !important;
    }
    
    /* Hide any dropdown arrows/toggles */
    .kalium-wpml-language-switcher .menu-item > .dropdown-toggle,
    .kalium-wpml-language-switcher .menu-item::before,
    .kalium-wpml-language-switcher .menu-item::after {
        display: none !important;
    }
    
    /* Style the links */
    .kalium-wpml-language-switcher .menu-item a {
		min-width: 53px;
		font-size: 12px;
		color: var(--color-black);
		font-weight: 500;
        display: inline-block !important;
        padding: 15px 18px;
        border: 1px solid var(--color-black);
        border-radius: 10px;
        text-decoration: none !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/********************
* FOOTER
********************/
@media only screen and (max-width: 991.98px) {
	.footer-logo img {
		max-width:67%;
	}	
}

@media only screen and (max-width: 767.98px) {
	#footer h4 {
		padding-top: 35px;
	}
}

/********************
* HOME
********************/
@media only screen and (max-width: 767.98px) {
	/* logo */
	.header-logo.logo-image img {
		max-width: 52%;
	}
	
	/* default padding 
	.vc_column_container>.vc_column-inner {
		padding: 0 var(--k-container-spacing);
	}
	
	.row-stretch .vc_row {
		padding-inline: var(--k-container-spacing) !important;		
	}*/
		
    /* slider button */
	.revolution-button {
        border-width: 1px !important;
    }
	
	/* slider arrows */
	#hero-row .tparrows.custom.tp-rightarrow, #hero-row .tparrows.custom.tp-leftarrow {
		top: unset !important;
		bottom: 5%;	  
	}

	/* project image to caption margin */
	.portfolio-items .portfolio-item--type-1 .portfolio-item__details:not(:first-child) {
		margin-block-start: 10px;
	}

	/* text columns */
	.home-col-text-right,
	.home-col-text-left  {
		padding: 0;
	}
	
	.home-col-text-right .h2,
	.home-col-text-left .h2 {
		padding: 64px 0 37px 0;
	}
	
	#home-specializzati {
		padding-top: 76px;
	}
}



/********************
* STUDIO
********************/
@media (max-width: 991.98px ) {	
	
	#studio-gifs img {
	  max-width: 200px;
	}
}

@media (max-width: 767.98px) {
    #studio-gifs .vc_column_container>.vc_column-inner {
        padding: 0 20vw;
    }
	
	#studio-gif-col-3 {
		margin-top: 80px;
	}
	
	/* team member pic */
	.thumb_team {
		max-width: 50%;
	}
	
	/* team member name */
	.member .accordion-header {
		padding-top: 30px;
		margin-bottom: 8px;
	}
	
	.ex-member {
		max-width: 100%;
		padding-inline: var(--k-container-spacing);
	}
}

/* ex team members */
@media (min-width: 768px) {
  .name-list {
    column-count: 2;
    column-gap: 2rem;
  }
}

/********************
* PLUS
********************/
@media (max-width: 1191.98px ) {
	#plus-corsi .vc_tta-accordion .vc_tta-title-text {
		font-size: 20px !important;
		line-height: 24px !important;
		font-weight: 500 !important;
	}
}

@media (max-width: 767.98px ) {
	/* 1-col per row */
	.plus-ci-occupiamo {
		padding-left: 0;
	}
	
	.plus_col_manuel img {
		max-width: 100%;
	}
	
	/* 75% col */
	#consulenze .wpb_column,
	#conferenze .wpb_column,
	#in-oltre .wpb_column {
		display: flex;
		justify-content: center; 
	}
	
	#consulenze .wpb_column .vc_column-inner,
	#conferenze .wpb_column .vc_column-inner,
	#in-oltre .wpb_column .vc_column-inner {	
		max-width: 75%;
	}
	
	#consulenze .wpb_column {
		margin-bottom: 50px;
	}
	
	#in-oltre .wpb_column {
		margin-bottom: 70px;
	}

	/* corsi */
	.parent--plus-corsi-row {
		max-width: 100%;
	}
	
	/* 3 and 4 cols */
	.plus-cols-3 .wpb_wrapper, 
	.plus-cols-4 .wpb_wrapper {
		max-width: 100%;
	}
}

/********************
* NEWS
********************/
@media (max-width: 991.98px ) {		
	#all-publications-row .center-column {
		max-width: 100%;
	}
}

/********************
* CONTATTI
********************/
@media (max-width: 767.98px) {
	#contatti-ciao .wpb_column:last-of-type .vc_column-inner {
		padding-left: 0 !important;
	}
}

@media (max-width: 991.98px ) {		
	#contatti-ciao img {
		margin-bottom: 68px;
	}
		
	.leaflet-map {
		height: 330px !important;
		margin-top: 50px;
		margin-bottom: 20px;
	}
}

/********************
* PORTFOLIO
********************/

/* Projects Grid */
@media (max-width: 991.98px ) {
    #portfolio-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
	
	.pfg-category-btn { 
		padding: 0 !important;
	}
}

@media (max-width: 767.98px) {
	#portfolio-grid {
        grid-template-columns: 1fr !important;
    }	
	
	.progetti-h2 h2 {
		font-size: 28px !important;
		line-height: 32px !important;    
		font-weight: 500 !important;
	}
	
	.progetti-h3 h3 {
		font-size: 24px !important;
		line-height: 34px !important;    
		font-weight: 500 !important;
	}
	
    
}


/********************
* PROJECT PAGE
********************/
@media (max-width: 1199.98px) {
	/* Project Title */
	.project-title {    
		font-size: 40px !important;
		line-height: 42px !important;    
		font-weight: 500 !important;
	}
}

@media (max-width: 991.98px ) {
	.single-portfolio-wrapper {
        padding-bottom: 70px !important;
    }
	
	#pfg-progress-gallery, #pfg-concept-gallery {
		margin-top: 100px !important;
	}
	
	/* Press & Media */
	.project-downloads-list .publications-title {
		padding: 90px 0 60px 0 !important;		
	}
	
	.similar_projects_title {
		padding-top: 90px !important;		
	}
	
	/*hero arrows, lightgallery slideshow arrows */
	.carousel-home .vc_images_carousel .vc_carousel-control,
	.hero-slider .vc_images_carousel .vc_carousel-control,
	#studio-hero .vc_images_carousel .vc_carousel-control,
	#squadra .vc_images_carousel .vc_carousel-control,
	.lg-actions .lg-prev,
	.lg-actions .lg-next {
		width: 28px !important;
		height: 44px !important;
	}
	
	/* Project Title */
	.project-title {
        margin: 55px 0 40px 0 !important;		
    }
	
	/* Similar Projects */
	#similar-projects-grid,
	#pfg-progress-gallery,
	#pfg-concept-gallery,
	#project-completed-grid	{
        grid-template-columns: repeat(2, 1fr) !important;
		gap: var(--k-container-spacing) !important;
    }
	
}

/* Default Portfolio Single Layout */
@media (max-width: 767.98px) {    
    .project-gallery.gallery-columns-2 {
        grid-template-columns: 1fr;
    }
	
	/*hero arrows, lightgallery slideshow arrows */	
	.carousel-home .vc_images_carousel .vc_carousel-control,
	.hero-slider .vc_images_carousel .vc_carousel-control,
	#studio-hero .vc_images_carousel .vc_carousel-control,
	#squadra .vc_images_carousel .vc_carousel-control,
	.lg-actions .lg-prev,
	.lg-actions .lg-next {
		width: 20px !important;
		height: 32px !important;
	}
	
	.field-project_introduction {
		margin-bottom: 35px !important;
	}
	
	.field-client {
		margin-top: 35px;
	}
	
	/* reversed sections - image -> text */	
	.pfg-section-header,
	.pfg-section-header.layout-reversed {
		flex-direction: column-reverse !important;
	}
		
	.pfg-project-section {
		margin-top: 100px !important;
	}
	
	.pfg-section-image {
		margin-bottom: 70px !important;
		max-width: 100% !important;
	}
	
	
	/* Press & Media */
	.project-downloads-list .publications-title {
        padding: 30px 0 60px 0 !important;
    }
	
	/* Similar projects */
	#similar-projects-grid	
	 {
        grid-template-columns: 1fr !important;
    }
}


/**********************
* Completed Project
***********************/
@media (max-width: 767.98px) {
    .pfg-section-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .pfg-section-text {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 20px;
    }
    
    .pfg-section-image {
        max-width: 100%;
        width: 100%;
    }
    
    .pfg-section-image img {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/********************************
* Project highlights (old design)
********************************/
@media (min-width: 768px) {
    .pfg-highlight-columns {
        flex-direction: row;
    }
    
    .pfg-highlight-columns .highlight-col {
        flex: 1;
    }
}