* {
    margin: 0;
    padding: 0;
    /*font-family: Arial, sans-serif;*/
    /*font-family: Georgia, 'Times New Roman', Times, serif;*/
    font-family: Arial, sans-serif;
}

body, a {
    color: #333;
}

.google.search {
    color: #222
}

/*h1, h2 {*/
    /*font-family: "Droid Serif", Helvetica, fantasy;*/
/*}*/
a {
    text-decoration: none;
}
p {
    font-size: 16px;
}

html {
    background-color: #ffffff;
}

body {
    position: relative;
    width: 90%;
    left: 5%;
}

body.main_page section.middle, body.main_page section.left, body.main_page section.right {
    margin-top: 20px;
}

/*nav:before {*/
    /*content: "";*/
    /*position: absolute;*/
    /*display: inline-block;*/
    /*width: 70%;*/
    /*height: 10vw;*/
    /*bottom: 0;*/
    /*right: 0;*/
    /*background: url("../images/logo.png") bottom right;*/
    /*background-repeat: no-repeat;*/
    /*background-size: contain;*/
/*}*/

header h1 {
    font-size: 50px;
    margin-top: 20px;
    letter-spacing: 1px;
    text-shadow: 0 1px 0 #ccc,
                 0 2px 0 #c9c9c9,
                 0 3px 0 #bbb,
                 0 4px 0 #b9b9b9,
                 0 5px 0 #aaa,
                 0 6px 1px rgba(0,0,0,.1),
                 0 0 5px rgba(0,0,0,.1),
                 0 1px 3px rgba(0,0,0,.3),
                 0 3px 5px rgba(0,0,0,.2),
                 0 5px 10px rgba(0,0,0,.25),
                 0 10px 10px rgba(0,0,0,.2),
                 0 20px 20px rgba(0,0,0,.15);
    }
header a {
    text-decoration: none;
}
header h2 {
    font-size: 30px;
    text-shadow: 0 0.33px 0 #ccc,
                 0 0.66px 0 #c9c9c9,
                 0 1px 0 #bbb,
                 0 1.33px 0 #b9b9b9,
                 0 1.66px 0 #aaa,
                 0 2px 0.33px rgba(0,0,0,.1),
                 0 0 1.66px rgba(0,0,0,.1),
                 0 0.33px 1px rgba(0,0,0,.3),
                 0 1px 1.66px rgba(0,0,0,.2),
                 0 1.66px 5px rgba(0,0,0,.25),
                 0 5px 5px rgba(0,0,0,.2),
                 0 10px 10px rgba(0,0,0,.15);
}
header h2 + h2 + h2 + h2  {
    margin-bottom: 20px;
}
header {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 0;
}

img.logo {
    width: 20%;
    margin: 0 40% 20px 40%;
}
h3.greetings {
    margin-top: 120px;
}
a.lesson {
    color: rgba(0, 0, 113, 0.77);
    font-weight: bold;
    margin-bottom: 10px;
    float: left;
}
h3 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 20px;
    /*margin-top: 20px;*/
}
nav {
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 50px;
}
nav a {
    display: inline-block;
    width: 25%;
    /*padding: 5px 30px;*/
    /*margin-bottom: 30px;*/
    float: left;
    text-align: center;
    font-size: 30px;
    line-height: 40px;
    font-weight: bold;
    box-sizing: border-box;
    /*color: rgb(205,216,228);*/
    text-decoration: none;
    padding: .2em .8em;
    outline: none;
    border-right: 1px solid rgba(201, 206, 212, 0.5);
    /*border-top: 1px solid rgba(255, 255, 255, 0.1);*/
    background-image:
         radial-gradient(1px 60% at 0% 50%, rgba(255,255,255,.3), transparent),
         radial-gradient(1px 60% at 100% 50%, rgba(255,255,255,.3), transparent),
         linear-gradient(rgba(255, 255, 255, 0.1), rgba(218, 219, 255, 0.9));
}
nav a:hover {
    color: #ffffff;
    background-image:
       radial-gradient(1px 60% at 0% 50%, rgba(255,255,255,.3), transparent),
       radial-gradient(1px 60% at 100% 50%, rgba(255,255,255,.3), transparent),
       linear-gradient(rgba(0, 0, 0, 0.1), rgba(85, 86, 108, 0.9));
}
nav a:focus {
    color: rgb(245,247,250);
    /*border-top: 1px solid rgba(255, 255, 255, 0.1);*/
    background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(85, 86, 108, 0.9));
}
nav a:focus:hover {
    /*border-top: 1px solid rgba(255, 255, 255, 0.1);*/
    background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(85, 86, 108, 0.9));
}

section {
    position: relative;
    width: 35%;
    height: auto;
    float: left;
    text-align: justify;
}

section.footer {
    text-align: left;
}

section table tbody tr td {
    text-align: left;
}
section table thead {
    text-align: center;
}
section table tbody tr.total  td {
    text-align: center;
}
section h2 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 20px;
}
section h3 {
    font-size: 16px;
    text-align: left;
    margin-bottom: 10px;
}
section p {
    margin-bottom: 10px;
    margin-top: 10px;
}
section.top {
    margin: 20px 0 40px 0;
}
section.left {
    padding-right: 30px;
    box-sizing: border-box;
}
/*section.left article p + p + p {*/
    /*margin-top: 10px;*/
/*}*/
section.middle {
    width: 30%;
}
section.middle img {
    width: 100%;
}
section img.mobile {
    display: none;
}
section.right {
    padding-left: 30px;
    box-sizing: border-box;
}

section.vertical a.adv {
    display: block;
    margin: 0 10px 10px;
    padding: 0;
    width: 20%;
    min-width: 150px;
    height: auto;
    float: left;
}

section.vertical a.adv img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 1px 1px 4px rgba(0,0,0,1);
}

section.video.row a.new.video {
    display: block;
    position: relative;
    width: 25%;
    height: auto;
    float: left;
    /*padding-right: 10px;*/
    /*padding-left: 10px;*/
    padding: 10px;
    box-sizing: border-box;
}
section.video.row a.new.video img {
    width: 100%;
    height: auto;
}
section.video.row a.new.video .youtube_icon {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-image: url("../images/video_active.png");
    background-repeat: no-repeat;
    background-position-x: 50%;
}
section.video.row a.new.video:hover .youtube_icon {
    background-image: url("../images/video_hover.png");
}

section.footer, section.video.row {
    width: 100%;
    margin-top: 30px;
    margin-bottom: 10px;
}
section.footer img {
    width: 16px;
    height: auto;
}

table thead, table .even, section h2, section article p span {
    background-color: rgba(85, 86, 108, 0.9);
    color: #ffffff;
}

section.gratta_video a:hover {
    text-decoration: underline;
}
section.video.row a:hover {
    text-decoration: underline;
}

.google_ads_middle.mobile_position {
    display: none;
}

section.right table td:nth-child(1) {
    width: 30%;
}

section.right table td:nth-child(2) {
    width: 35%;
}

section.right table td:nth-child(3) {
    width: 35%;
}

.vertical.bottom_add {
    display: none;
}

/*///////// max width 1400 px ///////*/
@media only screen and (max-width: 1400px) {
    nav a {
        width: 25%;
    }
    /*nav a + a {*/
        /*width: 32%;*/
    /*}*/
    /*nav a + a + a {*/
        /*width: 40%;*/
    /*}*/
    /*nav a + a + a + a {*/
        /*width: 16%;*/
    /*}*/
}

/*///////// max width 1290 px go to 1 column version of page ///////*/
@media only screen and (max-width: 1290px) {
    body {
        width: 98%;
        left: 1%;
    }
        section img.mobile {
        display: block;
    }
    section img.desktop {
        display: none;
    }
    section, section.left, section.middle, section.right {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }
    section.middle img {
        position: relative;
        width: 40%;
        left: 30%;
        margin-bottom: 10px;
    }
    .google_ads_middle.mobile_position {
        display: block;
    }
    .google_ads_middle.desktop_position {
        display: none;
    }
    p.news.desktop {
        display: none;
    }
}

/*///////// max width 900 px ///////*/
@media only screen and (max-width: 900px) {
    /*p, table {*/
    /*    font-size: 14px;*/
    /*}*/
    /*thead, tr.total.even {*/
    /*    font-size: 12px;*/
    /*}*/
    nav a {
        font-size: 25px;
        padding-left: 0;
        padding-right: 0;
        letter-spacing: -1px;
        line-height: 35px;
    }
}

/*///////// max width 700 px ///////*/
@media only screen and (max-width: 700px) {
    nav:before {
        background: none;
    }
    .vertical.bottom_add {
        display: block;
    }
    /*thead, tr.total.even {*/
    /*    font-size: 14px;*/
    /*}*/
}

/*///////// max width 600 px ///////*/
@media only screen and (max-width: 600px) {
    header h1 {
        font-size: 30px;
    }
    header h2 {
        font-size: 20px;
    }
    h3 {
        font-size: 24px;
    }
    nav a {
        font-size: 20px;
        padding-left: 0;
        padding-right: 0;
        letter-spacing: -1px;
        line-height: 30px;
        /*width: 20%;*/
    }
    /*nav a + a {*/
    /*    width: 39%;*/
    /*}*/
    /*nav a + a + a {*/
    /*    width: 18%;*/
    /*}*/
    /*nav a + a + a + a {*/
    /*    width: 23%;*/
    /*}*/
    section.video.row a.new.video {
        width: 50%;
        margin-bottom: 10px;
    }
    section.middle img {
        width: 70%;
        left: 15%;
    }
}

/*///////// max width 500 px ///////*/
@media only screen and (max-width: 500px) {
    nav a {
       font-size: 18px;
    }
}

/*///////// max width 450 px ///////*/
@media only screen and (max-width: 450px) {
    section.middle img {
        width: 100%;
        left: 0;
    }
}

/*///////// max width 400 px ///////*/
@media only screen and (max-width: 400px) {
    /*header h1, header h2 {*/
        /*text-shadow: none;*/
    /*}*/
    nav a, nav a + a, nav a + a + a, nav a + a + a + a {
        width: 100%;
        margin-bottom: 0;
        font-size: 25px;
        line-height: 40px;
        font-weight: bold;
    }
    /*nav a + a + a + a {*/
        /*margin-bottom: 10px;*/
    /*}*/
    /*nav:before {*/
        /*background: none;*/
    /*}*/
    section.video.row a.new.video {
        width: 100%;
        margin-bottom: 10px;
    }
    h3.greetings {
    margin-top: 450px;
    }
}

#build-sample {
    float: left;
}

.share {
    margin-top: 30px;
}
.share a.icon {
    display: block;
    width: 75px;
    height: 35px;
    float: left;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    box-shadow: 1px 1px 3px rgba(0,0,0,1);
    background-size: cover;
    margin: 10px 20px 0 0;
}

.share a.icon.facebook {
    background-image: url("../images/facebook_icon.jpeg");
}
.share a.icon.twitter {
    background-image: url("../images/twitter_icon.jpeg");
}
.share a.icon.whatsapp {
    background-image: url("../images/whatsapp_icon.jpeg");
}
.share a.icon.viber {
    background-image: url("../images/viber_icon.jpeg");
}
.share a.icon.telegram {
    background-image: url("../images/telegram_icon.jpeg");
}

.google.ads {
    display: block;
    position: relative;
    width: 96%;
    left: 2%;
    margin-bottom: 2%;
    float: left;
}

.clear {
    clear: both;
}
h3.level_4 {
    margin-top: 50px;
}

section.left article h3 {
    margin-top: 20px;
}

section.video.row img.gratta_e_vinci_logo {
    float: left;
    padding: 0 10px 10px 0;
    max-width: 40%;
}

nav.bottom a {
    margin-bottom: 0;
}

nav.bottom a + a + a + a {
    margin-bottom: 15px;
}

nav.bottom:before {
    content: none;
}

.vertical.bottom_add {
    width: 100%;
}

section.vertical a.anchor {
    margin-bottom: 0;
}
