.only_desktop{
    display: none;    
}

.title{
    font-size: 30px;
    text-align: center;
    letter-spacing: 1px;
}
.page_title{
    font-size: 30px;
}
.subtitle{
    font-size: 18px;
    text-align: center;
    color: var(--darkblue);
    letter-spacing: 1px;
}
h2.s{
    font-size: 21px;
}

.xxl{
    font-size: 30px;
}
.ico{
    width: 20px;
    align-self: center;
}
.large_btn{
    padding: 15px 0;
}
.pre_header .ico{
    width: 20px;
    margin-right: 10px;
}

.grid.cols2{
    grid-template-columns: 1fr;
}
.rectangle_129{
    max-width: 600px;
}

/******* HEADER **********/
.website header .logo{
    width: 270px;
}
.website header .wrap_menu{
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    z-index: 50;
    background-color: white;
    padding: 10px;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    transform-origin: top;
    transition: 400ms ease;
}
.website.menu_opened header .wrap_menu{
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
}
.website header .menu li {
    padding: 5px 0;
    margin: 5px 0;
    border-bottom: 1px solid #cbcbcb;
}
/******* END HEADER *********/

/******* ICO_MENU ********/
.wrap_ico_menu{
    width: 35px;
    height: 20px;
}
#ico_menu{
	position: absolute;
	z-index: 70;
	cursor: pointer;
    height: 20px;
    width: 35px;
    right: 0;
}
#ico_menu .line, #ico_menu:before, #ico_menu:after{
	background-color: var(--darkblue);
}
#ico_menu .line{
	width: 100%;
	height: 2px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: 400ms ease;
}
#ico_menu:before, #ico_menu:after{
	content: ' ';
	position: absolute;
	right: 0;
	height: 2px;
	transition: 400ms ease;
}
#ico_menu:before{
	top: 0;
	width: 100%;
}
#ico_menu:after{
	bottom: 0;
	width: 100%;
}
.menu_opened #ico_menu .line{
	opacity: 0;
} 
.menu_opened #ico_menu:before{
	transform: rotate(45deg);
	top: 50%;
}
.menu_opened #ico_menu:after{
	transform: rotate(-45deg);
	width: 100% !important;
	top: 50%;
}
/******* END ICO_MENU ********/

.search_btn{
    padding: 10px 0;
    border-radius: var(--radius);
}

/*********** ADVANCED SEARCH *************/
.advanced_search .grid_form{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 20px;
    row-gap: 20px;
}
.advanced_search .search_btn, .advanced_search .reset_btn{
    width: 100%;
    text-align: center;
}
.advanced_search .gap_btns{
    gap: 40px;
}
.advanced_search .ico_close{
    width: 20px;
    position: absolute;
    top: 15px;
    right: 10px;
    cursor: pointer;
}
/*********** END ADVANCED SEARCH *************/

/******* CONTACT FORM *******/
.grid.contact_form{
    grid-template-rows: 1fr;
    gap: 15px;
}
/******* END CONTACT FORM *******/

#map{
    min-height: 400px;
}

/******** FILTERS WRAP ********/
.filters_wrap{
    font-size: 12px;
    padding: 5px;
}
.filters_wrap select{
    font-size: inherit;
    font-family: inherit;
    color: inherit;
    outline: none;
    padding: 1px;
}
.filters_wrap .s{
    font-size: 12px;
}
.filters_wrap .wrap_options{
    gap: 15px;
}
/******** END FILTERS WRAP ********/

/******** SMALL CARD **********/
.small_card .grid.details{
    grid-template-columns: repeat(4,1fr);
    color: black;
    gap: 2px;
}
/******** END SMALL CARD **********/

.grid.immobili{
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
}

/********* CARD ***********/
.card_header{
    padding: 5px;
}
.card_header .price{
    font-size: 18px;
}
.contact_icons{
    margin-top: 20px;
    display: none;
}
.contact_icons .list{
    gap: 25px;
}
.contact_icons .ico{
    width: 21px;
    cursor: pointer;
}
.card_header .s{
    font-size: 14px;
}
.card_title{
    font-size: 25px;
}
.card .rectangle_129{
    max-width: 600px;
}

/********* END CARD ***********/

/******* GRIGLIA DETTAGLI IMMOBILE **********/
.grid.all_details{
    grid-template-columns: 1fr;
}
/******* END GRIGLIA DETTAGLI IMMOBILE **********/

.contacts p{
    font-size: 14px;
}
.wrap_contactsmap .contacts{
    margin-bottom: 30px;
}
.wrap_contactsmap .wrap_map{
    height: 400px;
}
