/*
Theme Name: Dott. Randazzo
Author: Alessandro Giovagnoli
Version: 1.0
*/

@import url("font-awesome/css/font-awesome.min.css");
@import url("https://fonts.googleapis.com/css?family=Lato:400,400i|Open+Sans:400,700,700i");

html {
	margin: 0;
	padding: 0;
	font-size: 14px;
	width: 100%;
	height: 100%;
}
body {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	font-size: 1rem;
	background-color: #f2f2f2;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	transition: all 0.2s ease-in-out;
	backface-visibility: hidden;
}
div, a, section {
	box-sizing: border-box;
}
h1 {
	font-family: 'Open Sans', sans-serif !important;
}
h2 {
	font-family: 'Open Sans', sans-serif !important;
}
h3 {
	font-family: 'Open Sans', sans-serif !important;
	font-size: 1.5rem;
	margin-bottom: 2rem;
    font-weight: 700;
    text-transform: uppercase;
}
p, li {
	font-size: 1.2rem;
	font-family: 'Lato', sans-serif;
	color: #686766;
	line-height: 2rem;
}
a {
	text-decoration: none;
	color: #686766;
	font-family: 'Lato', sans-serif;
	transition: color 0.3s ease-in-out;
}
a:hover {
	color: #385888;
}
hr {
	border-top: 0.5rem solid #385888;
	margin: 0;
}
.pat-section strong {
	color: #385888;
}
/* Navigation */
#nav-container {
	display: flex;
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 3rem 0;
}
#menu-icon {
	display: inline-block;
	position: relative;
	width: 20%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	cursor: pointer;
	z-index: 10;
	transition: all 0.2s ease-in-out;
}
#menu-icon {
	display: inline-block;
	position: relative;
	width: 20%;
	height: 7rem;
	display: flex;
	padding: 1rem 0;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	cursor: pointer;
	z-index: 10;
}
.menu-icon-open {
	position: fixed !important;
}
.menu-bar {
	color: #385888;
}
.menu-bar-open {
	color: #fff;
}
#logo-container {
	display: inline-block;
	position: relative;
	width: 60%;
	text-align: center;
}
.logo-container-offset {
	margin-left: 20%;
}
#logo-container img {
	position: relative;
	height: 8rem;
}
/* Menu Open */
#menu-open {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 9;
	background: linear-gradient(to right, #385888 0, #385888 35%, transparent 35%);
	transition: all 0.3s ease-in-out;
	overflow: hidden;
	transform: translateX(-100%);
}
#menu-open .boxed-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding-top: 14rem;
	height: 100%;
}
#menu-open .boxed-container a {
	padding: 1rem 0;
	transition: all 0.2s ease-in-out;
	opacity: 0;
	display: block;
}
#menu-open .boxed-container h1 {
	font-size: 1.8rem;
	line-height: 1.8rem;
	text-transform: uppercase;
	color: #fff;
	margin: 0;
}
.menu-link-open {
	opacity: 1 !important;
}
.show-menu {
	transform: translateX(0) !important;
}
/* Page Layout */
#page-container {
	width: 100%;
	min-height: 100vh;
}
#home-slider {
	width: 100%;
	min-height: calc(100vh - 178px);
}
.pat-section {
	display: none;
}
.section-translate {
	display: block !important;
}
.boxed-container {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
    flex-direction: column;
}
#info-box-container {
	position: relative;
	padding: 0 2rem;
	display: flex;
	margin-top: -10rem;
}
.info-box {
	position: relative;
	display: flex;
	width: calc(20% - 1rem);
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	min-height: 36rem;
	overflow: hidden;
	margin: 0 0.5rem;
	padding: 2rem;
	background-color: #385888;
	color: #fff;
	box-shadow: 0 0.3rem 10px rgba(0,0,0,0.3);
	transition: margin 0.1s ease-in-out;
}
.info-box:hover {
	margin-top: -2rem;
	margin-bottom: 2rem;
}
.info-box h3 {
	display: inline-block;
	margin-top: 0;
	min-height: 7rem;
	margin-bottom: 1rem;
	font-size: 1.5rem;
	text-align: center;
}
.blue-boxes-title h3 {
		width: 100%;
		display: inline-block;
		text-align: center;
	}
.info-box p {
	display: inline-block;
	position: relative;
	text-align: center;
	color: #fff;
	margin: 0;
}
.blue-boxes-content {
	flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.info-box .blue-boxes-content a {
	display: flex;
	width: 100%;
	padding-top: 1rem;
	justify-content: center;
	text-transform: uppercase;
	font-size: 1rem;
	color: #fff;
}
.blue-boxes-content p {
	font-size: 1rem;
	line-height: 1.4rem;
}
.text-box {
	display: block;
	width: 100%;
	padding: 6rem 3rem;
	text-align: center;
}
.buttons-container {
	width: calc(100% + 2rem);
	margin-left: -1rem;
	margin-right: -1rem;
	display: flex;
	margin-bottom: 6rem;
}
.button-box {
	display: flex;
	width: 33.33333333333%;
}
.button-box h3 {
	width: 100%;
	display: inline-block;
	margin: 1rem;
	padding:1.5rem;
	text-align: center;
	text-transform: uppercase;
	font-size: 1.5rem;
	color: #fff;
	background-color: #686766;
	transition: background-color 0.2s ease-in-out;
}
.button-box a {
	padding:1.5rem;
	color: #fff;
	transition: color 0.2s ease-in-out;
}
.button-box a:hover .button-box h3 {
	background-color: #686766;
}
.button-box h3:hover {
	background-color: #385888;
}
#patology-title-box {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
}
#patology-title-box h2 {
	display: inline-block;
	width: 30.5%;
	padding: 1rem 0;
	margin: 0;
	text-align: center;
	text-transform: uppercase;
	font-size: 1.8rem;
	color: #fff;
	background-color: #385888;
}
#patology-title-box h2:before {
	content:"";
	width: 100%;
	height: 0.5rem;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #385888;
	transition: all 0.2s ease-in-out;
}
#patology-box {
	width: 100%;
	display: inline-block;
	text-align: center;
	padding: 3rem 0;
}
#patology-box a {
	display: block;
	font-size: 1.5rem;
	padding: 0.3rem;
	transition: all 0.3s ease-in-out;
}
#patology-box a:hover, #patology-box a:focus {
	color: #385888;
}
#explain-box-container {
	width: 100%;
	min-height: 20vh;
	display: flex;
}
.explain-box {
	display: flex;
	flex-direction: column;
	padding: 0 2rem 2rem 2rem;
	width: 33.3333333333%;
	margin-top: 3rem;
	position: relative;
	overflow: hidden;
}
#explain-box-container .explain-box:first-child {
	padding-left: 0;
}
#explain-box-container .explain-box:nth-child(2) {
	padding-left: 1rem;
	padding-right: 1rem;
}
#explain-box-container .explain-box:last-child {
	padding-right: 0;
}
.pato-menu-item-visited {
	color: #385888;
}
#pubblicazioni-section .col-text-box-title:first-child h3 {
	display: none;
}
#pubblicazioni-section #patology-title-box {
	margin-bottom: 3rem;
}
#pubblicazioni-section .col-text-box p {
	width: 100%;
	margin: 0;
}
iframe {
	width: 100%;
	height: 14rem;
}
/*
.explain-box:before {
	content: "";
	height: 40%;
	width: 0.2rem;
	background-color: #385888;
	position: absolute;
	left: 0;
	top: calc(50% - 20%);
	transition: all 0.2s ease-in-out;
}
*/
.explain-box h3 {
	width: 100%;
	display: inline-block;
	margin: 0 0 1rem 0;
	text-transform: uppercase;
	font-size: 1.5rem;
	line-height: 1.5REM;
	color: #385888;
	min-height: 4rem;
}
.explain-box p {
	display: inline-block;
	text-align: justify;
}
.explain-box-text {
	-webkit-mask-image: linear-gradient(rgba(0,0,0,1) 80%, transparent 100%);
	mask-image: linear-gradient(rgba(0,0,0,1) 80%, transparent 100%);
	overflow: hidden;
	max-height: 12rem;
}
.explain-box-p-open {
	max-height: 500vh !important;
	-webkit-mask-image: linear-gradient(rgba(0,0,0,1) 99%, transparent 100%) !important;
}
.explain-img {
	position: relative;
	width: 100%;
	padding-top: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	margin-top: 2rem;
}
#col-text-box-container {
	width: calc(100% + 4rem);
	min-height: 20vh;
	display: flex;
	margin-left: -2rem;
	margin-right: -2rem;
}
.col-text-box {
	display: flex;
	flex-direction: column;
	width: 33.3333333333%;
	margin-top: 3rem;
	position: relative;
}
.col-text-box:first-child {
	margin-right: 1.5rem;
}
.col-text-box:nth-child(2) {
	margin: 0 1.5rem;
}
.col-text-box:last-child {
	margin-left: 1.5rem;
}
.col-text-box h3 {
	width: 100%;
	display: inline-block;
	margin: 0 0 1rem 0;
	text-align: center;
	text-transform: uppercase;
	font-size: 1.5rem;
	color: #385888;
}
.col-text-box p {
	display: inline-block;
	text-align: justify;
	
}
.col-text-box-container {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(rgba(0,0,0,1) 80%, transparent 100%);
	mask-image: linear-gradient(rgba(0,0,0,1) 80%, transparent 100%);
	max-height: 12rem;
}
.pubblicazioni-section-container {
	display: flex;
	flex-direction: row;
}
.pubblicazioni-section-container .col-text-box-container {
    -webkit-mask-image: none;
    mask-image: none;
    max-height: 100%;
}
.pubblicazioni-section-container h2 {
	text-align: left;
	font-weight: normal;
	text-transform: uppercase;
	font-size: 1.3rem;
	color: #385888;
}
#pubblicazioni-section h3 {
	margin-bottom: 2rem;
	text-transform: uppercase;
	font-size: 1.5rem;
	color: #385888;
}
#pubblicazioni-section .col-text-box {
	margin-top: 0;
}
.text-box-p-open {
	max-height: 500vh !important;
	-webkit-mask-image: linear-gradient(rgba(0,0,0,1) 99%, transparent 100%) !important;
}
.randazzo-button, .randazzo-accordion-readmore {
	position: relative;
	display: inline-block;
	padding: 2rem 0;
	margin-bottom: 3rem;
	width: 100%;
	text-align: right;
	text-transform: uppercase;
	color: #385888;
	font-size: 1.1rem;
	transition: color 0.2s ease-in-out;
	transition: letter-spacing 0.2s ease-in-out;
}
.randazzo-button:hover, .randazzo-accordion-readmore:hover {
	color: #686766;
}
/* Image Row */
.image-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.img-one-col {
	width: calc(33.333333333333333% - 2rem);
	padding-top: calc(33.333333333333333% - 3rem);
	margin-bottom: 3rem;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	min-height: 30rem;
}
.img-two-col {
	width: calc(66.666666666666666% - 1rem);
	padding-top: calc(33.333333333333333% - 3rem);
	margin-bottom: 3rem;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	min-height: 30rem;
}
.img-three-col {
	width: 100%;
	padding-top: calc(33.333333333333333% - 3rem);
	margin-bottom: 3rem;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	min-height: 30rem;
}
/* Footer */
#footer {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	min-height: 20vh;
}
.footer-col {
	position: relative;
	display: flex;
	flex-direction: column;
	width: calc(33.33333% - 2rem);
	margin: 3rem 0;
	padding: 2rem 0;
}
.footer-col img {
	max-width: 100%;
	max-height: 4rem;
	width: auto;
}
.footer-col h3 {
	color: #385888;
}
.footer-col a {
	padding: 1rem 0;
}
/* Accordion */
.randazzo-accordion {
	max-height: 20rem;
	display: none;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(rgba(0,0,0,1) 80%, transparent 100%);
    mask-image: linear-gradient(rgba(0,0,0,1) 80%, transparent 100%);
}
.randazzo-accordion .explain-box-text {
	max-height: 100%;
	-webkit-mask-image: none;
    mask-image: none;
}
.randazzo-accordion-display {
	display: block !important;
}
.randazzo-accordion-open {
	max-height: 1000vh !important;
    -webkit-mask-image: linear-gradient(rgba(0,0,0,1) 99%, transparent 100%) !important;
}
#randazzo-accordion-menu h3 {
    margin-bottom: 1rem;
	font-weight: normal;
    color: #385888;
}
span {
	color: #385888 !important;
}
.accordion-menu-container {
	display: flex;
	flex-wrap: wrap;
}
.accordion-nav {
	flex-grow: 3;
	max-width: calc(33.3333333333333333333333333% - 1.5rem);
}
.accordion-nav:first-child {
	margin-right: 1.5rem;
}
.accordion-nav:nth-child(2) {
	margin: 0 1.5rem;
}
.accordion-nav:nth-child(3) {
	margin-left: 1.5rem;
}
.accordion-nav ul {
	margin: 0;
	padding: 0;
	padding-left: 1.5rem;
}
.accordion-visited a {
	color: #385888 !important;
}
.accordion-nav h3 {
	font-weight: 400;
}
.patology-toggle {
	-webkit-mask-image: linear-gradient(rgba(0,0,0,1) 80%, transparent 100%);
    mask-image: linear-gradient(rgba(0,0,0,1) 80%, transparent 100%);
    overflow: hidden;
    max-height: 20rem;
}
.patology-toggle-display {
	max-height: 1000vh !important;
    -webkit-mask-image: linear-gradient(rgba(0,0,0,1) 99%, transparent 100%) !important;
}
.randazzo-toggle-button {
	display: block !important;
}
#go-up {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    color: #fff;
    background-color: rgba(0,0,0,0.7);
    border-radius: 5px;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.3s;
    z-index: 300;
}
#go-up.showed {
    opacity: 1;
}
/* Media Query */
@media screen and (max-width: 10240px) {
	.pubblicazioni-section-container {
		margin-left: 2rem;
		margin-right: 2rem;
	}
	.col-text-box-title {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}
@media screen and (max-width: 1200px) {
	.info-box {
		min-height: 34rem;
	}
	.blue-boxes-content p {
		font-size: 1.2rem;
		line-height: 2rem;
	}
	.blue-boxes-title h3 {
		font-size: 1rem;
		line-height: 1.5rem;
		min-height: 5rem;
	}
}
@media screen and (max-width: 1200px) {
	#nav-container {
		width: 100%;
		max-width: 100%;
		padding: 2rem;
	}
	#menu-open .boxed-container a {
		margin-left: 2rem;
	}
	#to-top {
		display: none;
	}
	.boxed-container {
		width: 100%;
	}
	#home-slider {
		height: 100vh;
	}
	.text-box {
		padding: 3rem 2rem;
	}
	.button-box h3 {
		margin-left: 2rem;
		margin-right: 2rem;
	}
	.buttons-container {
		width: 100%;
		margin: 1rem auto;
	}
	#col-text-box-container {
		width: 100%;
		margin: 1rem auto;
	}
	#footer {
		width: 100%;
		margin: 1rem 2rem;
	}
	#explain-box-container {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}
	.pat-section {
		margin: 0 2rem;
	}
}
@media screen and (max-width: 1100px) {
	.img-two-col, .img-three-col, .img-one-col {
		min-height: 20rem;
	}
}
@media screen and (max-width: 992px) {
	#nav-container {
		width: 100%;
		max-width: 100%;
		padding: 2rem;
		justify-content: space-between;
	}
	#logo-container {
		text-align: right;
		height: unset !important;
	}
	#logo-container img {
		width: 100%;
	}
	#info-box-container {
		display: block;
		margin-top: 0;
		padding: 0;
		min-height: auto;
	}
	.info-box {
		flex-grow: unset;
		width: 100%;
		margin: 1rem 0;
		min-height: auto;
		min-height: unset;
		height: -moz-fit-content;
	}
	.info-box:hover {
		margin: 1rem 0;
	}
	.info-box h3 {
		min-height: auto;
	}
}
@media screen and (max-width: 768px) {
	#nav-container {
		position: relative;
		align-items: center;
		height: 5rem;
		width: 100%;
		max-width: 100%;
		padding: 1rem;
	}
	#menu-open {
		background: linear-gradient(to right, #385888 0, #385888 50%, #385888 100%);
	}
	#menu-icon {
		position: absolute;
		width: 10%;
		height: 100%;
	}
	#logo-container {
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		left: 0;
		height: 100% !important;
		width: 100%;
		text-align: right;
		padding: 1rem 0;
	}
	#logo-container a {
		text-align: center;
	}
	.logo-container-offset {
		margin-left: 0;
	}
	#logo-container img {
		height: 4rem;
		padding: 0;
	}
	.buttons-container {
		display: block;
		width: 100%;
		margin: 1rem auto;
	}
	.button-box {
		width: 100%;
	}
	#explain-box-container {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}
	.explain-box {
		width: 100%;
	}
	#patology-title-box h2 {
		width: 100%;
	}
	#col-text-box-container {
		display: block;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.col-text-box {
		width: auto;
		margin-top: 0;
		margin-left: 2rem !important;
		margin-right: 2rem !important;
	}
	.randazzo-button {
		display: none;
	}
	#footer {
		display: block;
		margin-left: 2rem;
		margin-right: 2rem;
	}
	.footer-col {
		width: auto;
	}
	.explain-box-text, .col-text-box-container {
		max-height: 100%;
		-webkit-mask-image: none;
		mask-image: none;
	}
	#footer {
		width: calc(100% - 4rem);
	}
	#patology-box a {
		font-size: 1.2rem;
	}
	.pat-section {
		margin-bottom: 2rem;
	}
	.explain-box {
		padding: 0 !important;
	}
	.explain-box-text p {
		padding: 0;
	}
	.image-row {
		margin: 0;
		display: block;
	}
	.img-one-col, .img-two-col, .img-three-col {
		width: 100%;
		padding-top: 100%;
		margin: 2rem 0;
	}
	.pubblicazioni-section-container {
		display: block;
	}
	#patology-title-box h2 {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
	}
	#patology-title-box h2:after {
		content: "\f078";
		position: absolute;
		top: 35%;
		width: 4rem;
		right: 0rem;
		font-family: FontAwesome;
		color: #fff;
		font-size: 1rem;
		cursor: pointer;
	}
	.footer-box-title h2:after {
		display: none;
	}
	#patologie:after {
		display: none;
	}
	.col-text-box-container {
		max-height: 15rem;
		margin-bottom: 2rem;
		overflow: hidden;
		-webkit-mask-image: linear-gradient(rgba(0,0,0,1) 80%, transparent 100%);
		mask-image: linear-gradient(rgba(0,0,0,1) 80%, transparent 100%);
	}
	.col-text-box-container-open {
		max-height: 100%;
		-webkit-mask-image: unset;
		mask-image: unset;
	}
	.accordion-menu-container {
		flex-direction: column;
	}
	.accordion-nav {
		flex-grow: 1;
		max-width: 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.pubblicazioni-section-container {
		margin-left: 0;
		margin-right: 0;
	}
}
@media screen and (max-width: 400px) {
	#logo-container img {
		height: 3rem;
	}
	.img-two-col, .img-three-col, .img-one-col {
		min-height: 20rem;
	} 
}
@media (max-height: 400px) {
	#menu-open .boxed-container {
		padding-top: 6rem;
	}
}
@media (max-height: 300px) {
	#menu-open .boxed-container a {
		padding: 0.5rem 0;
	}
}
@media (max-height: 250px) {
	#menu-open .boxed-container {
		padding-top: 3.5rem;
	}
	#menu-open .boxed-container a h1 {
		font-size: 1rem;
		line-height: 1rem;
		padding: 0;
	}
}
@media (max-width: 250px) {
	body {
		font-size: 0.8rem;
		word-break: break-all;
	}
	h1 {
		font-size: 1rem !important;
		line-height: 1rem !important;
	}
	h2 {
		font-size: 1rem !important;
	}
	h3 {
		font-size: 1rem !important;
	}
	p {
		font-size: 0.8rem !important;
		line-height: 1.5rem !important;
	}
	#logo-container img {
		height: 1.5rem;
	}
	#menu-icon .fa-2x {
		font-size: 1rem;
	}
	#menu-open .boxed-container a {
		padding: 0.5rem 0;
		margin-left: 1rem;
	}
	#patology-box a {
		font-size: 0.8rem !important;
		line-height: 1.5rem !important;
	}
	#patology-title-box h2 {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	#patology-title-box h2:after {
		height: 100%;
		top: 0;
		width: 2rem;
		font-size: 0.6rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.footer-col {
		margin: 0;
		padding: 1rem 0;
	}
	#go-up {
		position: fixed;
		bottom: 10px;
		right: 10px;
		width: 20px;
		height: 20px;
		line-height: 18px;
	}
	#go-up .fa-2x {
		font-size: 1em;
	}
	li {
		font-size: 0.8rem !important;
		line-height: 1.5rem !important;
	}
	.img-two-col, .img-three-col, .img-one-col {
		min-height: 10rem;
	}
@media (max-width: 175px) {
	#logo-container img {
		height: 1rem;
	}
}