/*!
Theme Name: Curamy
Author: Netizens s.r.l.
Author URI: https://www.netizens.it/
Description: Description
Version: 1.0.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: curamy
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.
*/
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&display=swap');
/*####################################################################
############################## GENERAL ###############################
####################################################################*/
*{
	font-family: 'Raleway', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	background-repeat: no-repeat;
	box-sizing: border-box;
}
body{
	margin: 0;
	overflow-x: hidden;
}
h1, h2, h3, p{
	margin-top: 0;
	line-height: 1.2;
	color: #272827;
}
.internal-container{
	padding-left: 30px;
	padding-right: 30px;
}
.text-left *{
	text-align: left !important;
}
.text-primary, .text-primary *{
    color: #ED7823 !important;
}
.text-secondary, .text-secondary *{
	color: #1C2E44 !important;
}
.text-white *{
	color: inherit;
}
.bg-primary{
    background-color: #ED7823 !important;
}
.bg-secondary{
	background-color: #1C2E44 !important;
}

.fw-medium, .fw-medium *{
	font-weight:500 !important;
}
.fw-semibold, .fw-semibold *{
	font-weight: 600 !important;
}
strong{
	font-weight: bold !important;
}
.font-size-20, .font-size-20 *{
	font-size: 15px;
}
.font-size-25{
	font-size: 25px;
}
.font-size-40{
	font-size: 20px;
}
.font-size-50{
	font-size: 30px;
}
.font-size-60{
	font-size: 42px;
}
.font-size-200{
	font-size: 200px;
}
.w-60{
	width: 60% !important;
}
h1, h2, .page-template-template-internal-pages-child h3{
	font-size: 25px;
	font-weight: 600;
}
.hr-white{
	background-color: #FFF;
	height: 1px;
	border: 0;
}
.hr-grey{
	background-color: #272827;
	height: 1px;
	border: 0;
}
.default-link, .default-link:hover{
	text-decoration: underline;
	font-weight: 600;
	color: #1C2E44;
}

.content-min-height{
	min-height: calc(100vh - 119px);
}
.admin-bar .content-min-height{
	min-height: calc(100vh - 151px);
}
.banner-img{
	height: 400px;
	background-position: center top;
	background-size: cover;
}
.btn-answer{
	display: grid !important;
	margin-bottom: 15px;
}
.btn-answer button, .btn-answer a, .btn-answer input{
	background-color: #1C2E44 !important;
	color: #FFF !important;
	font-weight: 700;
	text-align: center;
	min-width: 250px;
	display: block;
	padding-top: 14px;
    padding-bottom: 14px;
    padding-left: 20px;
    padding-right: 20px;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	border: 0;
	outline: none;
}
.input-text-field, .input-text-field:focus{
	border: 1px solid #1C2E44;
	display: block;
	width: 100%;
	font-size: 20px;
	line-height: 1.2px;
	text-align: center;
	-moz-appearance: textfield;
	box-sizing: border-box;
	color: #1C2E44;
	padding-top: 14px;
    padding-bottom: 14px;
    padding-left: 20px;
    padding-right: 20px;
	outline: none;
}
.input-text-field::-webkit-outer-spin-button,
.input-text-field::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.selectchoice{
	position: relative;
}
.selectchoice select{
	border: 1px solid #1C2E44;
	display: block;
	width: 100%;
	cursor: pointer;
	color: #1C2E44;
	padding-top: 14px;
    padding-bottom: 14px;
    padding-left: 20px;
    padding-right: 20px;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
	
}
.selectchoice:after{
	content: '▼';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	display: table;
	font-size: 14px;
	color: #1C2E44;
}
.selectchoice option{
	display: block;
	font-size: 20px;
	line-height: 1.2px;
}
.breadcrumbs-container, .bg-superlight-grey{
	background-color: rgba(237, 237, 227, 0.4);
}
.breadcrumbs-container a{
	color: #ED7823;
	font-weight: 600;
	text-decoration: none;
}
.breadcrumbs-container *{
	font-size: 15px !important;
}
/*####################################################################
############################### HEADER ###############################
####################################################################*/
.site-main{
	padding-top: 0px;
}
.site-header{
	position: fixed;
	left: 0;
	right: 0;
	z-index: 9;
	top: 0;
}
.logo-container{
	position: relative;
	display: table;
	padding: 1.5rem;
}
.custom-logo{
	max-width: 120px;
	height: auto;
	display: block;
}
.menu-btn-container{
	/* position: absolute;
	padding: 0;
	right: 30px;
	top: 50px;
	bottom: 0;
	margin: auto;
	display: table; */
	position: relative;
    padding: 20px 30px;
    top: 0;
}
.admin-bar .menu-btn-container{
	top: 32px;
}
.menu-btn{
	width: 40px;
    cursor: pointer;
	border: 0;
    background-color: transparent;
    padding: 0;
    outline: none;
    -webkit-tap-highlight-color: transparent;
	display: block;
	margin-left: auto;
	z-index: 9;
}
.menu-btn span{
	display: block;
    margin: 8px 0;
    background-color: #FFF;
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
    -webkit-transition: all .3s ease-in-out;
    transition: all .2s ease-in-out;
    height: 3px;
}
.menu-btn span:nth-child(3){
	max-width: 33%;
	margin-left: auto;
}
.menu-btn:hover span:nth-child(3){
	max-width: 100%;
}
.menu-btn.opened span:nth-child(1) {
    -webkit-transform: rotateZ(45deg) translate3d(7px, 5px, 0);
    transform: rotateZ(45deg) translate3d(7px, 5px, 0);
}
.menu-btn.opened span:nth-child(2) {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
    opacity: 0;
}
.menu-btn.opened span:nth-child(3) {
    -webkit-transform: rotateZ(-45deg) translate3d(9px, -9px, 0);
    transform: rotateZ(-45deg) translate3d(9px, -9px, 0);
	max-width: 100%;
}

.menu-main-menu-container{
	transform: translateX(calc(100vw + 300px));
	position: fixed;
	top: 0px;
	bottom: 0;
	right: 0;
	transition: transform .3s ease-in-out;
	padding: 30px;
}

.menu-main-menu-container.opened{
	transform: translateX(0);
}
#menu-menu-pubblico,
#menu-menu-medico{
	list-style: none;
	padding-left: 0;
	padding-top: 30px;
}
#menu-menu-pubblico .menu-item a, #menu-menu-pubblico .menu-item a:hover,
#menu-menu-medico .menu-item a, #menu-menu-medico .menu-item a:hover{
	text-decoration: none;
	color: #FFF;
	padding: 5px 0;
	font-size: 18px;
	display: block;
	text-align: right;
	font-weight: 500;
	border-right: 3px solid transparent;
	padding-right: 8px;
	transition: all .3s ease-in-out;
	transform: translateX(8px);
}
#menu-menu-pubblico .current-menu-item a, #menu-menu-pubblico .current-menu-item a:hover,
#menu-menu-medico .current-menu-item a, #menu-menu-medico .current-menu-item a:hover{
	font-weight: 700;
}
#menu-menu-pubblico .menu-item:not(.current-menu-item) a:hover, 
#menu-menu-medico .menu-item:not(.current-menu-item) a:hover{
	border-color: #FFF;
	transform: translateX(0px);
}

/*####################################################################
############################## HOMEPAGE ###############################
####################################################################*/

.hp-page-element-container:nth-of-type(n), .bg-light-grey{
	background-color: #EDEDE3;
}
.hp-page-element-container:nth-of-type(2n), .bg-grey{
	background-color: #E6DCD2;
}
.hp-page-element-container.featured{
	background-color: #FFF;
}
.hp-page-element-container.featured .hp-page-element-content{
	padding-top: 50px;
	padding-bottom: 50px;
	background-color: #ED7823;
}
.hp-page-element-container.featured *{
	color: #FFF;
}
.hp-page-element-icon{
	max-width: 3rem;
	padding: 10px;
	display: block;
	height: auto;
	box-sizing: border-box;
}
.hp-page-element-content{
	padding: 30px;
	background-color: #FFF;
	border-bottom: 1px solid rgba(28, 46, 68, 0.13);
}
.hp-page-element-content .font-size-20{
	font-size: 20px;
}
.hp-page-element-btn, .hp-page-element-btn:hover{
	font-size: 20px;
	color: #FFF;
	font-weight: 500;
	display: block;
	min-width:  230px;
	background-image: url("assets/img/icon-arrow-right-white.png");
	background-size: 67px auto;
	padding: 12px 80px 12px 20px;
	background-position: calc(100% - 12px) 50%;
	text-decoration: none;
	background-color: #1C2E44;
	box-sizing: border-box;
}
.hp-page-element-container.featured .hp-page-element-btn{
	background-color: #1C2E44;
}

/*####################################################################
############################### FILTER ###############################
####################################################################*/
.filters-box{
	display: none;
}
.filters-box.visible{
	display: block;
}
.filter-toggle-btn{
	cursor: pointer;
	display: table;
}
.filter-container{
	max-width: calc(100% - 60px);
	margin-left: auto;
	margin-right: auto;
}
.filter-container p{
	margin-bottom: 0;
	text-transform: uppercase;
}
.icon-filter{
	max-width: 30px;
	display: block;
}
.filter-btn, .filter-btn:focus, .filter-label{
	box-sizing: border-box;
	display: block;
	width: 100%;
	outline: none;
	background-color: transparent;
	color: #1C2E44;
	border: 1px solid #1C2E44;
	text-align: center;
	text-decoration: none;
}
.filter-btn, .filter-btn:focus{
	padding: 10px;
	font-weight: bold;

}
.filter-label{
	text-transform: uppercase;
	padding: 4px 8px;
	line-height: 1.5;
	display: block;
}
.filter-btn.active, .filter-label.active{
	background-color: #1C2E44;
	color: #FFF;
}

/*################################################################################
############################### RESULTS AND CENTRES ##############################
#################################################################################*/
.single-study:nth-of-type(n), .single-centre:nth-of-type(n){
	background-color: rgba(230, 220, 210, 0.2);
}
.single-study:nth-of-type(n) .result-study-iconbox, .single-centre:nth-of-type(n) .single-centre-iconbox{
	background-color: rgb(230, 220, 210);
}
.single-study:nth-of-type(2n), .single-centre:nth-of-type(2n){
	background-color: rgba(237, 237, 227, 0.2);
}
.single-study:nth-of-type(2n) .result-study-iconbox, .single-centre:nth-of-type(2n) .single-centre-iconbox{
	background-color: rgb(237, 237, 227);
}
.result-study-iconbox, .single-centre-iconbox{
	display: block;
	width: 60px;
	height: auto;
	background-position: center;
	background-size: 30px auto;
	background-image: url("assets/img/icon-magnifying-glass-orange.png");
	transition: all .2s ease-in-out;
}
.single-centre-iconbox{
	background-image: url("assets/img/icon-centri-sperimentali-orange.png");
}
.single-study.selected .result-study-iconbox, .single-centre.selected .single-centre-iconbox{
	background-color: #ED7823 !important;
	background-image: url("assets/img/icon-magnifying-glass-white.png");
}
.single-centre.selected .single-centre-iconbox{
	background-image: url("assets/img/icon-centri-sperimentali-white.png");
}

.result-study-title, .single-centre-title{
	color: #1C2E44;
	transition: all .2s ease-in-out;
}
.single-study.selected .result-study-title{
	color: #ED7823;
}
.single-study .result-study-description div{
	
}
.result-study-description{
	word-break: break-word;
	text-align: justify;
}
.single-study .result-study-description h2{
	font-size: 18px;
	margin-bottom: 10px;
}
.result-study-readmore, .single-centre-readmore{
	padding-right: 70px;
	background-image: url("assets/img/icon-arrow-right-blue.png");
	background-size: 60px auto;
	background-position: 100% calc(50% + 1px);
	line-height: 25px;
	display: inline-block;
	text-decoration: none;
}
.result-study-findcentres, .single-centre-find{
	padding-right: 30px;
	background-image: url("assets/img/icon-marker.png");
	background-position: right center;
	background-size: contain;
	line-height: 25px;
	cursor: pointer;
}
#gmap-box{
	min-height: 400px;
	height: 100%;
}
.centres-list-scrollable, .study-list-scrollable{
	max-height: 600px;
	overflow-y: auto;
}
.back-btn, .back-btn:hover{
	padding-left: 30px;
	background-position: left center;
	background-image: url("assets/img/icon-arrow-left-blue.png");
	background-size: auto 10px;
	color: #1C2E44;
	text-decoration: none;
	display: inline-block;
	text-transform: uppercase;
	font-size: 14px;
}

/*####################################################################
############################## REGISTRATION ##########################
####################################################################*/

.registration-form ul{
	padding-left: 0;
}
.page-template-template-registration-login a{
	text-decoration: underline;
	color: inherit;
}
.registration-form .input-text, .user-registration-form-login .input-text{
	border: 0;
	background-color: #EAEAEA;
	color: #1B1B25;
	font-size: 16px !important;
	line-height: 2 !important;
}
.registration-form .ur-label, .user-registration-form-login label{
	font-weight: 500 !important;
	font-size: 16px !important;
	color: #1B1B25;
}
.page-template-template-registration-login .page-title{
	font-size: 40px;
	font-weight: 700;
	line-height: 130px;
	margin-bottom: 0;
}
.registration-form, .ur-frontend-form.login{
	border: 0 !important;
	padding: 0 !important;
}
#user-registration{
	box-shadow: none;
	margin: 0;
}
.ur-submit-button{
	background-color: #1C2E44;
	background-image: url("assets/img/icon-arrow-right-white.png");
	background-position: calc(100% - 20px) 50%;
	padding-right: 95px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	color: #FFF;
	background-size: 55px auto;
	outline: none;
	font-size: 20px;
	font-weight: 500;
	float: none !important;
	display: block;
}
#privacy_policy_field .ur-label{
	display: none;
}

/*####################################################################
####################### INTERNAL PAGES CHILD #########################
####################################################################*/
.content-category-label{
	text-transform: uppercase;
}
p.reading-minutes{
	padding-left: 35px;
	font-weight: bold;
	background-image: url("assets/img/icon-clock.png");
	background-size: contain;
	background-position: left center;
	margin-bottom: 0;
}

.intro-text p{
	font-size: 16px;
	margin-bottom: 0;
}
.applause-icon{
	max-width: 60px;
	height: auto;
	display: block;
	cursor: pointer;
}
.biografia *, .biografia a{
	font-size: 95%;
	text-decoration: none;
	color: inherit;
}
.biografia a{
	word-break: break-all;
}
.box-orange{
	padding: 20px;
	border: 3px solid #ED7823;
	height: 100%;
	display: flex;
    align-items: center;
    justify-content: center;
}
.box-orange.equal-height{
	min-height: 280px;
}
.box-orange h4{
	color: #ED7823;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.1;
	margin-bottom: 15px;
	margin-top: 0;
}
.fase-text *{
	font-size: 16px;
	font-weight: bold;
}
.fase-text strong{
	font-size: 40px;
	line-height: 1;
}
.btn-like{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 0;
	background-color: transparent;
}
/*####################################################################
############################## FOOTER ###############################
####################################################################*/
.site-footer{
	background-color: #1C2E44;
	padding: 50px 0;
}
.site-footer a{
	text-decoration: none;
}
/*####################################################################
############################ MEDIA QUERY #############################
####################################################################*/
@media (min-width:576px){

}
@media (min-width:768px){
	.hp-page-element-btn, .hp-page-element-btn:hover{
		display: table;
	}
}
@media (min-width:992px){
	*{
		font-size: 16px;
	}
	.font-size-20, .font-size-20 *{
		font-size: 18px;
	}
	.font-size-lg-20, .font-size-lg-20 *{
		font-size: 20px;
	}
	.bg-primary-lg{
		background-color: #ED7823 !important;
	}
	.fw-lg-bold{
		font-weight: bold !important;
	}
	/*####################################################################
	############################### HEADER ###############################
	####################################################################*/
	.site-header{
		position: relative;
		padding: 0 0 0 80px;
	}
	.site-main{
		padding-top: 0;
		padding-left: 80px;	
	}
	.menu-btn-container{
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		padding: 30px 20px;
		margin: 0;
		display: block;
		right: auto;
	}
	.logo-container{
		padding: 35px 25px;
	}
	.menu-main-menu-container{
		padding: 30px 41px;
		left: 0;
		right: auto;
		transform: translateX(-300px);
	}
	.admin-bar .menu-main-menu-container{
		top: 32px;
	}
	#menu-menu-pubblico,
	#menu-menu-medico{
		width: 188px;
	}
	#menu-menu-pubblico .menu-item a, #menu-menu-pubblico .menu-item a:hover, #menu-menu-medico .menu-item a, #menu-menu-medico .menu-item a:hover{
		font-size: 20px;
	}

	/*####################################################################
	############################### PAGES ################################
	####################################################################*/
	.hp-page-element-content{
		padding: 25px 90px;
	}
	.hp-page-element-icon{
		max-width: 190px;
		padding: 70px;
	}


	.filter-btn, .filter-btn:focus{
		font-size: 18px;
		min-width: 120px;
	}
	.filter-label{
		padding: 3px;
		font-size: 16px;
		min-width: 85px;
	}
	.filter-container{
		max-width: calc(100% - 120px);
	}
	.site-footer{
		padding-left: 75px;
	}
}
@media (min-width:1200px){
	.internal-container{
		max-width: 1300px;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.px-xl-6{
		padding-left: 6rem !important;
		padding-right: 6rem !important;
	}
	.py-xl-6{
		padding-top: 5rem !important;
		padding-bottom: 5rem !important;
	}
	h1, h2, .page-template-template-internal-pages-child h3{
		font-size: 30px;
	}
	.intro-text p{
		font-size: 18px;
	}
	
	.font-size-xl-20, .font-size-xl-20 *{
		font-size: 20px;
	}
	.font-size-xl-25, .font-size-xl-25 *{
		font-size: 25px;
	}
	.font-size-xl-30, .font-size-xl-30 *{
		font-size: 30px !important;
	}
	.font-size-xl-40, .font-size-xl-40 *{
		font-size: 40px;
	}
	.font-size-50{
		font-size: 40px;
	}
	.font-size-60{
		font-size: 60px;
	}

	.page-template-template-registration-login .page-title{
		font-size: 60px;
	}
	.box-orange{
		padding: 40px;
	}
	#gmap-box{
		min-height: 600px;
	}
}
@media (min-width:1600px){
	.font-size-50{
		font-size: 45px;
	}
	/*####################################################################
	############################### PAGES ################################
	####################################################################*/
	.font-size-xxl-20, .font-size-xxl-20 *{
		font-size: 20px;
	}
	.py-xxl-8{
		padding-top: 80px !important;
		padding-bottom: 80px !important;
	}
}
@media (min-width:2000px){
	.font-size-50{
		font-size: 50px;
	}
	/*####################################################################
	############################### PAGES ################################
	####################################################################*/
    .filter-btn, .filter-btn:focus{
		font-size: 20px;
		min-width: 160px;
	}
	.filter-label{
		padding: 4px 8px;
		font-size: 18px;
		min-width: 100px;
	}
}
