/*
Theme Name: Ricominciadate
Theme URI: https://www.ricominciadate.com
Author: Dario Filizzola

*/

@import url('https://fonts.googleapis.com/css2?family=Kaushan+Script&family=Montserrat:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap');

@font-face {
  font-family: "ricominciadate";
  src: url("fonts/ricominciadate.woff?5") format("woff"),
    url("fonts/ricominciadate.ttf?5") format("truetype"),
    url("fonts/ricominciadate.svg#ricominciadate?5") format("svg");
  font-weight: normal;
  font-style: normal;
}

BODY {font-family: Montserrat, sans-serif; font-weight:300; font-size:90%; color: #000; margin: 0;padding:0;background:#fff; text-align:justify; line-height:1.40; -webkit-text-size-adjust: 100%}
a:link, a:visited, a:before, a:after, a *, a *:before, a *:after, input {text-decoration:none;-moz-transition: all 0.2s linear;-webkit-transition: all 0.2s linear; -o-transition: all 0.2s linear; transition: all 0.2s linear}
a:link, a:visited, #news article a:hover h3 {color:#B872FF}
a:hover, #news article a h3  {color:#0B8AB4}

#cmplz-document, .editor-styles-wrapper .cmplz-unlinked-mode {max-width: 100%}

/* form e img */
header, main, footer, figure, blockquote {display:block;margin:0}

body > header, main, #footer {position:relative;padding:0; margin:0 auto; text-align:center}
body > header, #footer, main {min-width:320px}
main {max-width: 1200px; padding-top:20px}

*, *:after, *:before {-webkit-box-sizing: border-box; box-sizing: border-box;-webkit-font-smoothing: antialiased;-webkit-appearance:none}
input[type="checkbox"] {-webkit-appearance:checkbox}
input[type="radio"] {-webkit-appearance:radio}
p {margin:10px 0}
.imgdx {float:right;margin:5px 0 0 5px}
.imgsx {float:left;margin:8px 5px 0 0}
h1, h2, h3, h4 {position: relative;margin:0;font-weight:600; line-height: 1.2; color:#0B8AB4}
h1, .home #slide figcaption > strong {font-size:25px}
#headertitle {margin:0 auto 20px auto}
#headertitle h1 {font-family: 'Kaushan Script', sans-serif; font-size: 30px; font-weight: normal}
h2 {font-size:18px;}
h3 {font-size:16px;}
h4 {font-size:15px;}
h1.entry-title {margin-bottom:20px}
div.wpcf7 {margin-bottom:30px}
.wpgmza_map {margin-top:10px}

b, strong {font-weight: 600}
img {border:0}
form {margin:0}
ul {margin:0; padding:0; list-style:none}
.content ul {margin:10px; padding:10px; list-style:initial}
.content img {max-width:100%; heighT:auto}
*:focus {outline:none}
.clearfix:after {content: ""; display: table; clear: both;*zoom: 1}
.center {text-align:center; clear:both}
#acoiwidget {max-width: 200px; margin: 0 auto;}

/* Alignment */

.alignleft {display: inline;float: left;margin-right: 1.625em;}
.alignright {display: inline; float: right;	margin-left: 1.625em;}
.aligncenter {clear: both;display: block;	margin-left: auto; margin-right: auto;}

#gallery-2 .gallery-item img {border: 1px solid #cfcfcf}

.pagination {margin-top:50px}
.pagination .nav-links {display: -webkit-inline-flex; display: inline-flex; -webkit-justify-content:center; justify-content: center}
.pagination .nav-links > * {width:40px; height:40px; line-height:40px; display:block; background: #CCDFF2; color:#333; margin:0 5px; font-weight:500}
.pagination .nav-links > .current {background: #0B8AB4; color:#fff}

input[type="text"], input[type="number"], input[type="email"], input[type="submit"], textarea, select  {font-family: Lato, sans-serif; font-size:15px; margin:0; padding:0; border:0; color:#333; }
input[type="text"], input[type="email"], input[type="number"], select, textarea {border:1px solid #ccc; border-radius:20px; padding:10px; background: #fff}
input[type="text"], input[type="email"], input[type="number"] {height:40px}

.contatti {text-align: left; margin:40px 0 20px 0}
label {text-align: left; display: inline-block;}
.contatti > div {margin-top:10px}
.contatti > div input[type="text"], .contatti > div input[type="email"], textarea {width:100%; margin-top:3px}
.contatti > p {clear:both;width:94%;margin:3%}

#policy {font-size:80%; margin:20px 0}

span.wpcf7-list-item {margin: 0 !important;}

input[type="submit"] {border:0;height:40px;padding:0 25px; border-radius:20px; font-size:18px; text-transform:uppercase; cursor:pointer; background:#0B8AB4; color:#fff; font-weight:600}
input[type="submit"]:disabled, input[type="submit"]:disabled:hover, input[type="submit"]:disabled:hover {background:#ccc;color:#fff;cursor:text}
input[type="submit"]:hover {background:rgb(188, 169, 4)}
input[type="submit"]:active {background:#rgba(188, 169, 4, 0.80)}
::-webkit-input-placeholder {color: #999; font-style: italic}
:-moz-placeholder { /* Firefox 18- */ color: #999;opacity: 1;  font-style: italic}
::-moz-placeholder {  /* Firefox 19+ */  color: #999;opacity: 1;  font-style: italic}
:-ms-input-placeholder { color: #999;  font-style: italic;}

.submit {position:relative; display:inline-block; height: 34px}
.submit input[type="submit"] {padding-right:25px}
.submit:after {font-family:ricominciadate; content:'q'; display:block; color:#fff; font-size:15px; position:absolute; top:0; right:10px; line-height:34px; pointer-events: none}


.content, #news {margin:0 auto; max-width: 1200px; text-align: justify; padding:0 10px}

#top {width:100%;padding:10px;text-align: left;background: #fff;position:relative}
#logo {position:relative}
#logo a {display:block}
#logo a img {height:40px;display:block}
#slide {position: relative}
#slide img {width:100%; height:auto}
.home #slide img {object-fit: cover;
   min-width: 100%;
   min-height: 100%;
   width: 100%;
   height: auto;
   max-width: 100%;
   max-height: 100%;
 object-position: bottom center}
.home #slide figure {height: 250px; background: #FFD226}
.home #slide figcaption * {display:block}
.home #slide figcaption a {text-transform: uppercase; color:#093848;background: rgba(255,255,255,0.8);display:inline-block; margin:0 auto; height:46px;line-height:46px; padding:0 30px; font-size: 15px; border-radius: 23px; font-weight:500;white-space: nowrap}
.home #slide figcaption a:hover {color:#fff;background: rgba(9,56,72,0.8);}

body > header > img {display:block;width:100%; height: auto}


.home body > header:before {height:70px}

a#toggle {width: 40px; height: 40px; text-align: center; display: none; transition: all ease-out 0.3s;top:10px;}
a#toggle:before {display:block;font-family:ricominciadate; content:'m';font-size:19px; width:40px;height:40px;line-height:40px; color:#0B8AB4; text-align:center}

.open-menu a#toggle:before {content:'x';color:#fff; font-size:20px}
a#toggle:hover:before {color:#CEB994}

footer {clear:both; position:relative; width:100%; text-align:left; background:#0B8AB4}

#footer {padding:30px 20px; max-width: 1200px;font-size: 15px; color:#fff}
#footer a {color:#fff}
#footer a:hover {text-decoration: underline}

#contacts a {margin:0 auto;display:inline-flex;align-items: center;border-radius: 5px; text-align: left; color:#2D2E2D}
#contacts a:hover {text-decoration: none}
#contacts a div {width:180px;display:flex;align-content:center; flex-wrap: wrap;text-align: left;line-height: 1.6}
#contacts a:hover div {color:#0B8AB4}
#contacts a span {display:block; width:100%}

#contacts a:before {background: #0B8AB4; color:#fff;display:flex; justify-content: center;align-items: center; font-family: ricominciadate;font-size:40px; width:70px;height:70px;border-radius:50%;position: relative; margin-right:20px}
#contacts a:hover:before {background: #CEB994}
#contacts a#sede:before {content:'s'}
#contacts a#tel:before {content:'t';}
#contacts a#tel span:last-child {color:#0B8AB4; font-size: 30px; line-height: 26px}

#welcome {text-align: justify;}
#welcome article {max-width: 1200px; margin:0 auto; font-size:17px;
}
#welcome header {position: relative;text-align: center; margin-bottom:20px}
#welcome h1 {color:#0B8AB4;}
#welcome h1 span {white-space: nowrap}

.owl-stage {margin:0 auto;}
#homenews {text-align: center; margin-bottom:20px; padding:0 15px; border-radius: 50px;}
.slidernews .owl-item > div > div:last-child {padding:15px 0; border-radius:50px}
 .slidernews .owl-item > div img {border-radius:50px}
#homenews a {border:1px solid #B872FF; border-radius: 20px; height:40px; line-height:40px; padding:0 20px; display: inline-block; color:#B872FF; text-align: center;margin:0 auto}
#homenews a:hover {background: #B872FF;color:#fff}
#homenews h3 {font-family: Montserrat, sans-serif;color:##0B8AB3; text-align: left; margin: 0 auto}
#homenews p {text-align: left; font-size: 15px}

#homeboxes a {margin:0 auto;position: relative;max-width: 550px; padding:20px; display:flex;justify-content: center;align-items: center;color:#fff;}
#homeboxes a#hscuola {background: url(images/boxscuola.jpg) no-repeat center center;background-size: cover}
#homeboxes a#hlibri {background: url(images/boxlibri.jpg) no-repeat center center;background-size: cover}
#homeboxes a:after {display:block;content:'';width:100%; height:100%;position: absolute;top:0;left:0;}
#homeboxes a div {position: relative;z-index:1}
#homeboxes a#hscuola:after {background-color: rgba(11,138,180,.85)}
#homeboxes a#hlibri:after {background-color: rgba(188, 169, 4, 0.85)}
#homeboxes a#hscuola:hover:after {background-color: rgba(11,138,180,1)}
#homeboxes a#hlibri:hover:after {background-color: rgba(188, 169, 4, 1)}
#homeboxes a strong {font-size: 25px}
#homeboxes a strong:before {font-family:ricominciadate; font-size: 150px;display:block; color:#fff; margin:0 auto;font-weight: normal}
#homeboxes a#hscuola strong:before {content:'s'}
#homeboxes a#hlibri strong:before {content:'l'}
#homeboxes a p {font-size: 16px}

a.fb {position: relative; padding-left:13px}
a.fb:before {content:'f'; font-family: ricominciadate; color:#069; font-size: 15px;line-height: 15px; position:absolute; top:0; left:-3px}

span.wpcf7-not-valid-tip {color: #C62E1F !important}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {background:#D1AA66 !important;}
div.wpcf7-mail-sent-ok {background:#060 !important;}

h2.c-accordion__title {background:#be9ef1;color:#fff; margin:10px 0; padding:10px 30px 10px 10px; border-radius: 5px;font-weight: 500;}
h2.c-accordion__title::after {right:10px; color:#fff}

a.wp-block-button__link {background: #B872FF}
a.wp-block-button__link:hover {background: #0B8AB3}

.home #slide figcaption {width:60%;padding:20px;font-family: 'Kaushan Script', sans-serif; line-height: 1.4;display:flex; flex-wrap: wrap;justify-content: center; position:absolute;top:50%; transform: translateY(-50%);right:0;text-align: right; font-size: 18px; color:#00B2B2; background: rgba(255,255,255,.9); line-height: 1.23; border-top-left-radius: 50px;border-bottom-left-radius: 50px}
  .home #slide figcaption span {display:block;color:#B872FF;width:100%}
  .home #slide figcaption i {margin:10px 10px 0 auto; color:rgb(188, 169, 4);font-size:15px;text-align: right}

@media screen and (max-width: 359px) {
  #homenews a h3 span {font-size: 19px}
 }

@media screen and (max-width: 479px) {
    .readmore{position:relative;}
    .readmore, .readmore:after{height: 220px; overflow:hidden}
    .readmore:after, .readmore:before{position:absolute}
    .readmore:after{height:150px;content:""; background: background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 100%)}
    .readmore.open:after{content:none;}
    .readmore:after{bottom: 0; left:0;  z-index: 1; width: 100%;}
    .readmore.open {height:auto; padding-bottom:80px}
    .readmore .readmorebtn {position:absolute; bottom:20px; cursor: pointer; font-size:14px; z-index:2; height:46px; line-height:46px; border-radius:23px; padding:0 60px 0 40px;  color:#fff; display: inline-block; text-transform: uppercase; text-align:center; background: #fff; color:#093848; white-space: nowrap; left: 50%;  transform: translateX(-50%);}
    .readmore .readmorebtn:after {position:absolute; top:0; right:40px; content:"a"; font-family:ricominciadate; font-size:10px; text-transform: none; height:46px;line-height:46px; transform:rotate(90deg)}
    .readmore.open .readmorebtn:after {transform: rotate(270deg);}
    .readmore.open .readmorebtn {top:auto; bottom:20px}

  #gallery-2.gallery .gallery-item {width:100%; max-width: 100%}

  #welcome {padding: 20px 15px}
}

@media screen and (min-width: 480px) {
  main {padding:20px 15px}

  h1 {font-size:24px}
  h2 {font-size:20px}


  .readmore .readmorebtn {display:none}

  #gallery-2.gallery .gallery-item {padding:10px}

  #homenews {margin:30px 0; background: #f9f9f9; padding:30px}
  #homenews h3 {min-height: 45px}
  #homeboxes a {margin:20px auto;border-radius: 100px;overflow: hidden;}
}


@media screen and (max-width: 639px) {
.home #slide figcaption > strong, a#toptel {position: absolute; top:-999999px; left:-999999px}
#post-18 .content {text-align: left}
}

@media screen and (min-width: 640px) {
  .home #slide figcaption {width:40%;}
  a#toggle {top:15px;}
  main {padding:40px 15px}
  h1 {font-size: 30px}
  #headertitle {margin: 0 auto 40px auto}
  #headertitle h1 {font-size: 40px}
  h2 {font-size: 25px}
  .content {padding: 80px 50px;	background: #f9f9f9;border-radius: 50px}
  .contatti {display: -webkit-flex; display: flex; -webkit-justify-content:space-between; justify-content: space-between}
  .contatti.preventivo {flex-wrap: wrap}
  .contatti > div {width:30%}
  .contatti.preventivo > div {width:47%}

  #top {height:70px;display:flex;align-items: center;flex-wrap: wrap}

  .home #slide figure {height:350px}
  

  a#toptel {position: absolute; top:15px; right: 70px;height:40px;display:inline-flex; justify-content: flex-start; align-items: center}
  a#toptel:before {font-family: ricominciadate; content:'t'; font-size: 40px; color:#B872FF}
  a#toptel:hover:before {color:#0B8AB3}
  a#toptel > span > span {display:block; width:100%}
  /*a#toptel > span > span:first-child {color:#0B8AB2; font-size:14px;font-weight: 400}
  a#toptel > span > span:last-child {color:#B872FF; font-size:20px;font-weight: 600}*/
  a#toptel > span > span {color:#0B8AB2; font-size:14px;font-weight: 600}
  a#toptel:hover > span > span:last-child {color:#0B8AB2}

  #news {-webkit-flex:flex; display: flex; -webkit-justify-content:space-between; justify-content: space-between; flex-wrap: wrap}
  #news article {width:48%;margin:1%;padding:20px;background:#f9f9f9;}
  #news article h3 {text-align: left}
  }

@media screen and (min-width: 768px) {
  body {font-size: 95%}
}

@media screen and (max-width: 839px) {
     .slidernews .owl-item > div img {max-width: 100%;
  height: auto}
}

@media screen and (min-width: 840px) {
  h1 {font-size: 33px}
  h2 {font-size: 28px}
  h2.c-accordion__title {font-size: 24px}
    main {padding-bottom:40px}
    #homeboxes {display:flex; justify-content: space-between;}
    #homeboxes > a {width:48%;margin: 0}

    .slidernews .owl-item > div {display:flex; justify-content: space-between;align-items: center}
    .slidernews .owl-dots {margin-top:20px}
    .slidernews .owl-item > div > div:last-child {padding:0 30px}
    #news article {width: 31.33333%}
}
@media screen and (max-width: 899px) {
  #homenews a h3 {line-height: 1}
}

@media screen and (min-width: 900px) {
  /*#welcome {background: url(images/bgwelcome.jpg?1) no-repeat bottom right; background-size: 40%; padding-right:400px; min-height:501px;}*/
  #welcome article {display: flex;  flex-direction: column;  justify-content: center; min-height:460px; font-size:22px}
  #homenews {margin: 50px 0}
  .slidernews .owl-item > div > div:last-child {padding: 0 30px}
}

@media screen and (max-width: 1023px) {

  }

@media screen and (min-width: 1024px) {
  body {font-size: 110%}
  main {padding: 100px 20px}
  h3 {font-size: 22px}
  #headertitle {margin: 0 auto 70px auto}
  #headertitle h1 {font-size:45px}
  /*#welcome {background-size: 400px; padding-right:500px}*/
  
  .home #slide figcaption {font-size:25px}
}

@media screen and (min-width: 1100px) {
}

@media screen and (max-width: 1199px) {
    .overlaybg {height:100%; width:100%; position:fixed;left:0;	top:0;z-index:4 !important;background:rgba(11,138,180,.85)}
/* push menu*/
#menu {moz-transition: all 0.2s linear;-webkit-transition: all 0.2s linear; -o-transition: all 0.2s linear; transition: all 0.2s linear;position: fixed;  overflow: hidden; overflow-y: auto;height: 100%; top: 0; background-color: #fff; z-index: 10;opacity: 1; text-align:left;right: -290px;  width: 280px}

/* push menu*/
#menu ul {list-style: none; margin: 0;padding: 0}
#menu > ul a {padding:0 10px; color: #0B8AB4; font-size: 18px; display: block;line-height:50px; text-decoration: none;position:relative;}
#menu ul li.open ul li a {background:#eee;color:#333; line-height:40px}
#menu ul li.open ul li a:hover {color:#0B8AB4}

#menu > ul {list-style: none; margin: 0;padding: 0}
#menu > ul > li > a:hover, #menu > ul > li.open > a {background:#0B8AB4;color:#fff; }
#menu > ul li.menu-item-has-children > a:after {position:absolute; top:0;right:10px; line-height:40px;height:40px; font-family:ricominciadate;transform: rotate(90deg);content:'a'; text-transform: none}
#menu > ul li.menu-item-has-children.open > a:after {transform: rotate(270deg)}
#menu > ul > li.open > a:after {color:#fff}
#menu > ul li.menu-item-has-children a:hover:after {color:#fff;}

#menu > ul li ul {display: none; position: static; width: 100%;}
#menu > ul li:hover > ul { display: none; }
#menu > ul li.open > ul, ul.catmenu li a { display: block; }

html.open-menu a#toggle {right:280px}
a#toggle {position:absolute; right:0; display: block;z-index:5 }
a#toggle span {position: absolute; top: -999999px; left: -999999px;}

html.open-menu {overflow: hidden;}
html.open-menu nav#menu {z-index: 4; right:0}
}

@media screen and (min-width: 360px) and (max-width: 1199px) {
  #menu {right: -330px;  width: 320px}
  html.open-menu a#toggle {right:320px}
 }

@media screen and (min-width: 1200px) {
  h3 {font-size: 20px}
  .home #slide figure {height: 600px}
  .home #slide figcaption {width:500px;height:380px;padding:60px 40px;font-size: 32px;line-height: 1.6}
  .home #slide figcaption i {font-size: 30px}
  .home #slide figcaption div {position: relative;z-index:1; display: inline-flex;     flex-direction: column; justify-content: center}
  .home #slide figcaption:before, #slide figcaption:after {position:absolute;z-index:0}
  .home #slide figcaption:before {content:url('images/apicisx.png'); top:30px; left:20px}
  .home #slide figcaption:after {content:url('images/apicidx.png'); bottom:30px; right: 20px}
    .overlaybg {display:none !important}
  #top {height:140px;padding:0 25px 60px 25px}
  nav {background: #0B8AB4; color:#fff; width:100%;height:60px;position: absolute; bottom:0; left:0}
  nav > ul {display: -webkit-flex; display: flex;-webkit-justify-content:center; justify-content: center}
  nav > ul > li > a {position: relative; color:#fff;font-size: 15px; font-weight: 400; display: block; text-decoration: none}
  nav > ul.mainmenu > li > a {color:#fff; line-height:60px;padding:0 8px;text-transform: uppercase}
  nav > ul.mainmenu > li > a:hover {color:#fc0}
  nav#menu > ul > li.menu-item-has-children > a {padding-right: 20px}
   nav#menu > ul > li.menu-item-has-children > a:before {content: 'a';font-family: ricominciadate; font-size: 12px;width: 12px;	height: 12px;line-height: 12px;transform: rotate(90deg);	position: absolute;	top: 24px;right: 0; color:#fff; text-transform: none}
  nav#menu > ul li ul {display:none; text-align: left;position: absolute; top: 60px;background:#edf2f4; padding:10px 0}
  nav#menu > ul li:hover ul {display:block; z-index:2; border-bottom-left-radius: 5px;border-bottom-right-radius: 5px}
  nav#menu > ul li ul li a {color:#000;font-size:14px; line-height: 40px; display: block;padding:0 30px}
  nav#menu > ul li ul li a:hover {color:#b872ff}

  ul.mainmenu {top:10px;right:15px;line-height: 60px}
}


@media screen and (max-width: 1279px) {

}
@media screen and (min-width: 1280px) {
  a#toptel {top: 20px;right:25px}

  #logo a img {height: 57px}
  
  #homenews {margin:70px 0}
  #homeboxes {background: url(images/bgbox.png) no-repeat top center; padding:10px 0}
  #homeboxes a {padding:50px; height:500px}
  #homeboxes a:last-child {margin-top:100px}

  nav > ul li ul {display:none; text-align: left;position: absolute; top: 30px;background:#f9f9f9}
}
@media screen and (min-width: 1360px) {
  nav > ul.mainmenu > li > a {padding:0 12px}
}
