/**
 * @package WizLab.it
 * @author WizLab.it
 * @version 20221225.118
 */

/* Fonts */
@font-face { font-family:"PT Sans"; font-weight:normal; font-style:normal; src:local("PT Sans"),local("PTSans-Regular"),url(/css/fonts/ptsans.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215; }
@font-face { font-family:"PT Sans"; font-weight:normal; font-style:normal; src:local("PT Sans"),local("PTSans-Regular"),url(/css/fonts/ptsansExt.woff2) format("woff2"); unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"PT Mono"; font-weight:normal; font-style:normal; src:local("PT Mono"),local("PTMono-Regular"),url(/css/fonts/ptmono.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215; }
@font-face { font-family:"PT Mono"; font-weight:normal; font-style:normal; src:local("PT Mono"),local("PTMono-Regular"),url(/css/fonts/ptmonoExt.woff2) format('woff2'); unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF; }

/* Reset styles */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; font-size:100%; font:inherit; vertical-align:baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
ol, ul { list-style:none; }

/* Generics HTML tags */
b, strong, .bold { font-weight:bold; }
i, em, .italic { font-style:italic; }
a { color:#56b824; text-decoration:none; }
  a:hover { text-decoration:underline; }
.red { color:#F00; }
h1 { font-size:22px; margin:20px 0; text-transform:uppercase; color:#333; text-align:center; }
h2 { font-size:55px; margin-bottom:50px; color:#56B824; text-align:center; }
h3 { font-size:28px; margin:-40px 0 20px; }
h4 { font-size:16px; margin:40px 0 15px 0; font-weight:bold; }
  h4:first-of-type { margin-top:0; }
h5 { font-weight:bold; margin:20px 0 10px; }
p { margin:0 5% 15px; line-height:1.6em; }
table { width:96%; margin:2%; }
  table tr { background-color:#DDD; }
    table tr:nth-child(even) { background-color:#EEE; }
    table tr th { background-color:#CCC; padding:6px; font-weight:bold; line-height:1.3; }
    table tr td { padding:6px; line-height:1.3; }
code { display:block; font-family:"PT Mono",monospace; font-size:11px; white-space:pre; margin:15px 5%; background-color:#272822; color:#56B824; padding:20px; overflow-x:auto; line-height:1.3em; }

/* Forms */
form input[type=text], form textarea { background:#FAFAFA; border:1px solid #DDD; color:#888; padding:10px; margin-bottom:20px; font-family:'PT Sans',sans-serif; font-size:14px; width:80%; }
  form input[type=text]:focus, form textarea:focus { color:#373737; border-color:#56B824; }
form .fieldbox { margin:0 20px 20px; }
  form .fieldbox .option { display:inline-block; width:290px; margin-bottom:20px; color:#333; }
    form .fieldbox .option input[type=radio] { visibility:hidden; position:absolute; }
      form .fieldbox .option label.radio { background:url(/img/radio.png) center left no-repeat; padding:6px 0 6px 30px; cursor:pointer; }
        form .fieldbox .option > input:checked + label.radio { background:url(/img/radio_selected.png) center left no-repeat; }
form input[type=submit] { display:inline-block; border:0; background:#56B824; color:#FFF; padding:20px 30px; font-size:18px; font-weight:bold; text-transform:uppercase; }
  form input[type=submit]:hover { background-color:#666; text-decoration:none; }

/* Feedback */
.feedback { padding:20px; margin-bottom:50px; }
  .feedback h3 { text-transform:uppercases; font-size:26px; font-weight:bold; margin:0 0 15px 0; color:#49463F; }
  .feedback p { margin-bottom:0; margin:0; }
  .feedback table { border:none; }
    .feedback table th, .feedback table td { padding:6px 10px; line-height:1.4em; }
    .feedback table th { font-weight:bold; text-align:right; white-space:nowrap; }
  .feedback.error { background-color:#F7D4D7; border:2px dashed #C00; }
    .feedback.error h3 { color:#C00; }
  .feedback.ok { background-color:#E3F3D5; border:2px dashed #6BA639; }
    .feedback.ok h3 { color:#6BA639; }

/* Generic styles */
.clearfix:after { visibility:hidden; display:block; font-size:0; content:" "; clear:both; height:0; }
.clear { clear:both; }
.aligncenter { text-align:center; }
.alignright { text-align:right; }
.alignleft { text-align:left; }
.white { background-color:#FFF; }
.grey { background-color:#D0D0D0; }
.smaller { font-size:smaller; }
.small { font-size:10px; }
.highlight { background-color:yellow; }

/* Columns */
.cols { margin:0 5%; }
  .cols .col { float:left; }
    .cols.two .col { width:50%; }
    .cols.three .col { width:33%; }
    .cols.four .col { width:25%; }

/* Layout */
body { color:#333; background:#56B824; font-family:'PT Sans',sans-serif; font-size:13px; line-height:1; }

/* Header */
header { position:sticky; top:0; width:100%; background-color:#FFF; z-index:100; padding-bottom:4px; border-bottom:1px solid #F0F0F0; }
  header .logo { margin-left:20px; }
    header .logo img { height:44px; margin:16px 0 12px; transition:all 300ms ease-in-out; }
      header.tiny .logo img { height:26px; margin:10px 0 6px; }
  header nav { position:absolute; top:0; right:20px; }
    header nav #menuIcon { display:none; cursor:pointer; }
      header nav #menuIcon img { width:46px; transition:all 300ms ease-in-out; }
        header.tiny nav #menuIcon img { padding-top:4px; width:28px; }
    header nav ul li { display:inline-block; }
      header nav ul li a { display:block; color:#333; margin:0; padding:30px 20px; font-size:16px; font-weight:bold; border-right:1px solid #CCC; border-bottom:3px solid white; transition:all 300ms ease-in-out; }
        header.tiny nav ul li a { padding:17px 10px; font-size:12px; }
        header nav ul li:first-of-type a { border-left:1px solid #CCC;}
        header nav ul li a:hover, header nav ul li a.active { color:#56B824; font-weight:bold; border-bottom:3px solid #56B824; text-decoration:none; }

/* Content */
main { }
  main.innerpage .art img { width:100%; }
  main.innerpage h1 { margin:0 0 10px; }

  /* Generic block */
  main .block { padding:5% 0; text-align:center; }
    main.innerpage .block { padding:5% 15%; text-align:left; }
    main .block ul li { padding:5px; }
      main .block ul.ulblocks li { background:transparent url(/img/semitrans_light.png); width:400px; margin:4px auto; padding:15px; }      

  /* Intro block */
  main .intro { position:relative; }
    main .intro .slide { }
      main .intro .slide img { width:100%; }
      main .intro .slide .gnd { margin:0; position:fixed; z-index:-10; width:100%; }
      main .intro .slide .spacer { height:440px; }
      main .intro .slide .deco { position:absolute; top:286px; left:50px; margin:0; color:#FFF; text-align:left!important; font-weight:bold; font-size:36px; background:transparent url(/img/semitrans.png); padding:2%; }
    main .intro .activities { }
      main .intro .activities h2 { margin-bottom:20px; }
      main .intro .activities .details .col { margin-top:70px; }
        main .intro .activities .details p.readmore { margin-top:20px; font-weight:bold; font-size:18px; }

  /* Electronic block */
  main .electronic { color:#FFF; background:transparent url(/img/semitrans.png) }
    main .electronic h2 { color:#FFF; }
    main .electronic ul.ulblocks li { background:transparent url(/img/semitrans.png); }	 

  /* Contact block */
  main .contact { padding:8% 0; }

  /* Internal pages */
  main .internal { }
    main .internal>section { width:74%; float:left; }
      main .internal>section p { margin-bottom:10px; }
      main .internal>section ul { margin:0 5% 15px; list-style-type:disc; padding-left:25px; }
        main .internal>section ul li { line-height:1.3; }
    main .internal>aside { background-color:#EEE; width:22%; float:right; padding:2%; }
      main .internal>aside .indent { margin-left:30px; }
      main .internal>aside li a { display:block; margin-left:10px; text-indent:-10px; line-height:1.2em; }

/* Footer */
footer { clear:both; background:#555 url(/img/gnds/footer.png); padding:5% 5% 100px; color:#FFF; line-height:1.3em; }
  footer a { color:#FFF; }
  footer h3 { font-size:16px; }
  footer .totop { position:fixed; right:20px; bottom:20px; }
  footer .index { position:fixed; right:80px; bottom:20px; display:none; }
  footer .links { float:left; }
    footer .links h3 { text-align:left; margin:0 0 5px; font-weight:bold; }
  footer .colophon { float:right; color:#FFF; text-align:right; }
    footer .colophon h3 { text-align:right; margin:0; font-weight:normal; }
    footer .colophon .credits { margin-top:30px; font-size:12px; }


/***********************/
/*  RESPONSIVE STYLES  */
/***********************/
@media only screen and (max-width:1200px) {
  header .logo img { height:40px; margin-bottom:8px; }
    header nav ul li a { padding:26px 12px; }
}

@media only screen and (max-width:1023px) {
  main .intro .slide .spacer { height:320px; }
  main .intro .slide .deco { top:196px; font-size:32px; }
}

@media only screen and (max-width:1080px) {
  header .logo img { height:36px; margin-bottom:8px; }
    header nav ul li a { padding:25px 11px; font-size:14px; }
}

@media only screen and (max-width:900px) {
  .cols.two .col { width:100%; clear:both; }
  .cols.three .col { width:100%; clear:both; }
  .cols.four .col { width:50%; }
    .cols.four .col:nth-child(2n+1) { clear:both; }
  header nav { top:11px; }
    header nav #menuIcon { display:block; }
    header nav ul { position:absolute; right:5%; display:none; }
      header nav ul li { display:block; width:240px; }
        header nav ul li a { display:block; background:#F0F0F0; padding:15px 30px; border-bottom:1px solid #CCC; }
  main.innerpage .block { padding:5% 5%; }
  main .mainsection { padding:60px 0; }
    main .intro .slide .spacer { height:290px; }
    main .intro .slide .deco { top:182px; font-size:26px; }
  form input[type=text], x form textarea { padding:4%; width:92%; }
}

@media only screen and (max-width:700px) {
  .feedback table th, .feedback table td { display:block; }
  .feedback table th { padding-bottom:0px; text-align:left; }
  .feedback table td { padding-top:0px; }
  body { font-size:14px; }
  h2 { font-size:40px; }
  h3 { font-size:22px; }
  header .logo img { height:30px; }
  header nav { top:7px; }
  main .intro .slide .spacer { height:230px; }
  main .intro .slide .deco { top:140px; left:40px; font-size:22px; }
}

@media only screen and (max-width:600px) {
  main .internal>section { width:auto; float:none; }
  main .internal>aside { width:auto; float:none; margin-top:40px; padding:20px; border-top:20px solid #CCC; }
  footer .index { display:block; }
}

@media only screen and (max-width:500px) {
  .cols .col { float:none; display:block; width:100% !important; margin-bottom:60px; }
  header nav { right:20px; }
  main.innerpage .block { padding:20px; }
  main .intro .slide .spacer { height:160px; }
  main .intro .slide .deco { top:90px; left:30px; font-size:18px; }
  main .block ul.ulblocks li { width:auto; margin:4px 20px; }
}