/*
Theme Name: Prof. Francesco Versaci
Author: KMSTUDIO
Version: 1.0
*/

:root {
    --site--first--color: #0867b0;
    --site--second--color: #474A51;
}

html { font-size: 20px; }
body {
	background-color: #fff;
	color: #000;
	font-family: "Raleway", sans-serif;
	font-weight: 500;
	padding: 0;
	margin: 0;
	line-height: 2;
}
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;
}


/*--- BOOTSTRAP (OVERWRITE) */
form {
    margin-bottom: 4rem;
}
.form-select {
    border-radius: 0.2rem;
}
.form-select:focus {
	border-color: #03235d;
	box-shadow: none;
}
.form-control {
	border-radius: 0.2rem;
}
.form-control::placeholder {
	color: #000;
	opacity: 0.4;
}
.form-control:focus::placeholder {
	opacity: 0.2;
}
.form-control:focus {
    color: #000;
    background-color: #fff;
    border-color: var(--site--first--color);
    box-shadow: none;
}
.form-check-input:focus {
	border-color: var(--site--first--color);
	box-shadow: none;
}
.form-check-input:checked {
	background-color: var(--site--first--color);
	border-color: var(--site--first--color);
    box-shadow: none;
}
form button[type="submit"] {
    padding: 0.8rem 6rem 0.8rem;
    text-transform: uppercase;
}


/*--- GRAVITY FORM */
.gform_wrapper form .gform-footer {
	justify-content: center;
}
.gform_wrapper form .gform-footer .gform_button.button {
	background-color: var(--site--first--color) !important;
	color: #fff !important;
	border: 2px solid transparent !important;
	font-family: "Raleway", sans-serif;
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	padding: 0.8rem 3.2rem 0.8rem !important;
	border-radius: 2rem !important;
	transition: color ease-in-out 400ms, background ease-in-out 400ms, border ease-in-out 400ms !important;
}
.gform_wrapper form .gform-footer .gform_button.button:hover {
	background-color: transparent !important;
	color: var(--site--first--color) !important;
	border-color: var(--site--first--color) !important;
}


/*--- STILI GENERALI */
main {
	min-height: 450px;
}
.header-image {
	position: relative;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 40vw;
	margin-bottom: 3rem;
}
.header-image .text-with-image {
	position: absolute;
	bottom: 3rem;
	left: 50%;
	margin: auto;
	transform: translateX(-50%);
}
.header-image .text-with-image figure {
	margin: 0 0 2rem 0;
	text-align: center;
}
.header-image .text-with-image figure img {
	width: 150px;
	border-radius: 1rem;
}
.header-image .text-with-image .text {
	color: #fff;
	text-align: center;
}
.header-image .text-with-image .text h1 {
	font-size: 3rem;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 1;
}
.header-image .text-with-image .text .sub {
	font-size: 2.3rem;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
}
.button-default {
	
}
.button-default.button-center {
	text-align: center;
}
.button-default a,
button {
	display: inline-block;
	background-color: var(--site--first--color);
	color: #fff;
	border: 2px solid transparent;
	font-size: 1.1rem;
	font-weight: 600;
	padding: 0.3rem 1.2rem 0.4rem;
	border-radius: 2rem;
    transition: color ease-in-out 400ms,
                background ease-in-out 400ms,
                border ease-in-out 400ms;
}
.button-default a:hover,
button:hover {
	background-color: transparent;
	color: var(--site--first--color);
	border-color: var(--site--first--color);
}
.linear-image-boxer {
    position: relative;
    margin: 8rem 0;
    height: 400px;
}
.linear-image-boxer::before {
    content: "";
    position: absolute;
    top: -40px;
    width: 100%;
    height: 80px;
    background-color: var(--site--first--color);
    clip-path: polygon(0 50%, 100% 100%, 100% 0);
}
.linear-image-boxer::after {
    content: "";
    position: absolute;
    bottom: -40px;
    width: 100%;
    height: 80px;
    background-color: var(--site--first--color);
    clip-path: polygon(100% 50%, 0 100%, 0 0);
}
.linear-image-boxer figure {
    margin: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}
.status-msg:not(:empty) {
    margin: 3rem 0;
}
.status-msg p {
    font-size: 1.2rem;
    font-weight: 500;
}
nav.navigation.pagination {
    margin: 3rem 0;
}
nav.navigation.pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
	margin: 0 auto;
}
nav.navigation.pagination .nav-links > * {
    padding: 0rem 0.7rem 0.2rem;
	border: 1px solid var(--site--first--color);
	margin: 0 0.5rem 0.5rem 0;
	color: var(--site--first--color);
	text-decoration: none;
	font-size: 0.8rem;
}
nav.navigation.pagination .nav-links > *.current {
    background-color: var(--site--first--color);
    color: #fff;
}
nav.navigation.pagination .nav-links > *:hover {
    background-color: var(--site--first--color);
    color: #fff;
    text-decoration: none;
}


/*--- HEADER */
header.layout-row {
    background-color: transparent;
    width: 100%;
    padding: 2rem 0;
}
header.layout-row figure.logo {
    margin: 0;
}
header.layout-row figure.logo a {
    color: #000;
}
header.layout-row figure.logo a:hover {
    color: var(--site--first--color); 
}
header.layout-row figure.logo .big {
	font-size: 1.7rem;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 1.2;
}
header.layout-row figure.logo .small {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
}
header.layout-row nav.main ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
header.layout-row nav.main ul li {
    font-size: 1rem;
    font-weight: 400;
    margin: 0 3rem 0 0;
    padding: 0;
    list-style-type: none;
}
header.layout-row nav.main ul li:last-child {
    margin: 0;
}
header.layout-row nav.main ul li a {
    color: #000;
}
header.layout-row nav.main ul li a::after {
    content: "";
    border-bottom: 1px solid #000;
    display: block;
    width: 0;
    margin-top: -0.2rem;
    transition: width ease-in-out 200ms;
}
header.layout-row nav.main ul li a:hover {
    color: var(--site--second--color); 
}
header.layout-row nav.main ul li a:hover::after {
    width: 100%;
}
header.layout-row nav.main ul li.current-menu-item a::after {
    width: 100%;
}
header.layout-row nav.main ul li.current-menu-item a::after {
    width: 100%;
}
header.layout-row nav.main ul li.book-visit {
	
}
header.layout-row nav.main ul li.book-visit a {
	display: block;
	color: #fff;
	background-color: var(--site--first--color);
	padding: 0.5rem 1.2rem 0.7rem;
	border-radius: 2rem;
	font-weight: 600;
	border: 2px solid transparent;
}
header.layout-row nav.main ul li.book-visit a:hover {
	color: var(--site--first--color);
	background-color: transparent;
	border-color: var(--site--first--color);
}
header.layout-row nav.main ul li.book-visit a::after {
	width: 0;
}
body.header-is-absolute header.layout-row {
    position: absolute;
    top: 0;
    z-index: 10;
}
body.header-is-absolute header.layout-row figure.logo a {
    color: #fff;
}
body.header-is-absolute header.layout-row figure.logo a:hover {
    color: var(--site--first--color); 
}
body.header-is-absolute header.layout-row nav.main ul li a {
    color: #fff;
}
body.header-is-absolute header.layout-row nav.main ul li a::after {
    border-color: #fff;
}
body.header-is-absolute header.layout-row nav.main ul li.book-visit a:hover {
	color: var(--site--first--color);
	background-color: #fff;
	border-color: transparent;
}


/*--- HOMEPAGE */
.intro {
	margin: 3rem 0 5rem;
}
.intro p {
	
}
.intro .button-default {
	margin-top: 2rem;
}
.default-boxer {
	
}
.default-boxer h2.box-title {
	font-size: 2rem;
	font-weight: 800;
	color: var(--site--first--color); 
	text-transform: uppercase;
	margin: 0 0 3rem 0;
	padding: 0;
	text-align: center;
}
.linear-image-boxer.image-specialista-in {
    margin-bottom: 4rem;
}
.default-boxer.specialista-in {
    margin-bottom: 5rem;
}
.default-boxer.specialista-in p {
    text-align: center;
}
.default-boxer.specialista-in .button-default {
    margin-top: 2rem;
}
.linear-image-boxer.image-cartina-locazione {
    margin-bottom: 4rem;
}
.default-boxer.news-boxer {
	margin-bottom: 5rem;
}
.contacts.default-boxer {
    margin-bottom: 5rem;
}
.contacts.default-boxer .contact-columns {
    
}
.contacts.default-boxer .contact-columns .single {
    text-align: center;
}
.contacts.default-boxer .contact-columns .single svg {
    margin-bottom: 2rem;
}
.contacts.default-boxer .contact-columns .single p {
    margin-bottom: 3rem;
    font-weight: 700;
    color: var(--site--second--color);
}


/*--- PAGE */
.default-page {
	margin: 0 0 8rem 0;
}
body:not(.header-is-absolute) .default-page {
	margin-top: 5rem;
}
.default-page h1 {
	font-size: 2rem;
	font-weight: 800;
	color: var(--site--first--color); 
	text-transform: uppercase;
	margin: 0 0 3rem 0;
	padding: 0;
	text-align: center;
}
.default-page .content-wordpress {
	
}
.default-page .content-wordpress h2 {
	font-size: 1.7rem;
	font-weight: 700;
	color: var(--site--first--color); 
	text-transform: uppercase;
	margin: 2rem 0 2.5rem 0;
	padding: 0;
	text-align: left;
}
.default-page .content-wordpress h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--site--first--color); 
	text-transform: none;
	margin: 1.5rem 0 1.3rem 0;
	padding: 0;
	text-align: left;
}
.default-page .content-wordpress h4 {
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--site--first--color); 
	text-transform: none;
	margin: 1rem 0 1rem 0;
	padding: 0;
	text-align: left;
}
.default-page .content-wordpress ul {
	margin: 0;
	padding: 0;
}
.default-page .content-wordpress ul li {
	margin: 0 0 0 1rem;
	padding: 0;
}


/*--- NEWS (ARCHIVE)*/
.archive-news {
	margin: 0 0 3rem 0;
}
.archive-news .single {
	margin-bottom: 3rem;
}
.archive-news .single figure {
	margin: 0 0 1rem 0;
	overflow: hidden;
}
.archive-news .single figure a img {
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
	transition: opacity ease-in-out 400ms;
}
.archive-news .single figure a:hover img {
	opacity: 0.8;
}
.archive-news .single h2 {
	font-size: 1.1rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--site--first--color);
	text-align: center;
	margin: 1.5rem 0;
	padding: 0;
}


/*--- PAGE */
.single-news {
	margin: 6rem 0 8rem;
}
.single-news figure.post-image {
	text-align: center;
	margin: 0 0 2rem 0;
}


/*--- FOOTER */
footer.layout-row {
    margin-top: 6rem;
    padding: 2rem 0;
    background-color: var(--site--second--color);
}
footer.layout-row figure.logo {
    color: #fff;
    text-align: center;
}
footer.layout-row figure.logo .big {
	font-size: 1.7rem;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 1.2;
}
footer.layout-row figure.logo .small {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
}
footer.layout-row ul {
    margin: 2rem 0 0 0;
    padding: 0;
    list-style-type: none;
}
footer.layout-row ul li {
    position: relative;
    margin: 0 1rem 0 0;
    padding: 0;
    list-style-type: none;
    color: #fff;
}
footer.layout-row ul li::after {
    content: "-";
    position: absolute;
    top: 50%;
    right: -0.7rem;
    transform: translateY(-50%);
}
footer.layout-row ul li:last-child::after {
    content: none;
}
footer.layout-row ul li a {
    color: #fff;
}
footer.layout-row ul li a::after {
    content: "";
    border-bottom: 1px solid #fff;
    display: block;
    width: 0;
    margin-top: -0.05rem;
    transition: width ease-in-out 200ms;
}
footer.layout-row ul li a:hover {
    color: #fff; 
}
footer.layout-row ul li a:hover::after {
    width: 100%;
}