* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --deg: 0deg;
    --dur: .2s;
}

html, body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    max-width: 960px;
    margin: auto;
    background: #ccc;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

.page-wrapper {
    background-color: white;
}

p {
    line-height: 1.5;
}

.tm-l {
    margin-top: 16px;
}

.rm-l {
    margin-right: 16px;
}

.tm-24{
    margin-top: 24px;
}

.text-green {
    color: green;
}

.text-red {
    color: red;
}

.train {
    display: flex;
    flex-direction: row;
}

.flex-2 {
    flex: 2;
}

.flex-3 {
    flex: 3;
}

.spaced>*+* {
    margin-top: 16px;
}

article>h2 {
    font-family: 'Times New Roman', Times, serif;
    color: rgb(105, 105, 105);
    border-bottom: 1px dotted gray;
    font-size: 24px;
    padding-bottom: 4px;
    margin-bottom: 8px;
}

article>h2>a {
    text-decoration: none;
    color: rgb(105, 105, 105);
}

.pad-l {
    padding: 16px;
}

.note {
    background-color: WhiteSmoke;
    padding: 8px;
    border-left: 3px solid lightgray;
}

.note p {
    padding-left: 32px;
}

.inner-wrapper {
    margin: auto;
    max-width: 690px;
    padding-top: 32px;
}

.inner-wrapper>*+* {
    margin-top: 32px;
    /* margin-bottom: 32px; */
}

/* #region Menu-horizontal */

#header-bg-2 {
    background: url(images/bg-header2.gif) repeat-x;
    height: 137px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 30px 16px 8px 16px;
}

a.linkmenu {
    font-size: 10pt;
}

/* Sublinhado e desativo o menu actual */

#page-1 .page-1>a, #page-2 .page-2>a, #page-3 .page-3>a, #page-5 .page-5>a {
    text-decoration: none;
    border-bottom: 5px solid rgb(255, 153, 0);
}

#page-1 .page-1>a, #page-2 .page-2>a, #page-3 .page-3>a, #page-4 .page-4>a, #page-5 .page-5>a {
    pointer-events: none;
    cursor: default;
}

a.linkmenu:link, a.linkmenu:visited {
    color: #000;
    text-decoration: none;
}

a.linkmenu:hover, a.linkmenu:active, a.linkmenu:focus {
    color: #999;
    text-decoration: none;
    border-bottom: 5px solid rgb(255, 153, 0);
    transition: 0.2s;
}

.text {
    text-decoration: none;
    border-bottom: 1px dotted blue;
}

a.linkbaixo:link, a.linkbaixo:visited {
    color: white;
    text-decoration: none;
    transition: 0.2s;
}

a.linkbaixo:hover, a.linkbaixo:active, a.linkbaixo:focus {
    color: #999;
    text-decoration: none;
    transition: 0.2s;
}

a.linkeula:link, a.linkeula:visited {
    color: gray;
    text-decoration: none
}

a.linkeula:hover, a.linkeula:active, a.linkeula:focus {
    color: black;
    text-decoration: none;
}

nav#menu-horizontal ul {
    display: flex;
    flex-direction: row;
    list-style: none;
    border-radius: 8px;
    background: rgb(199, 199, 199);
    background: linear-gradient(0deg, rgba(199, 199, 199, 1) 0%, rgba(241, 241, 241, 1) 25%, rgba(255, 255, 255, 1) 100%);
    padding: 12px 0px;
}

nav#menu-horizontal ul li {
    padding: 4px 12px;
    font-family: Arial;
    font-size: 16px;
    font-weight: bold;
}

nav#menu-horizontal ul>*+* {
    border-left: 1px gray dotted;
}

/* #endregion */

/* #region Footer */

#footer-bg {
    margin-top: 32px;
    background: url(images/bg-footer.gif) repeat-x;
    min-height: 153px;
    width: 100%;
}

table#menurodape {
    padding: 25px 0px 0px 0px;
    font-size: 10pt;
    font-weight: bold;
    color: white;
}

table#menurodape td {
    padding: 8px 0px 0px 25px;
}

footer#rodape p {
    margin-top: 16px;
    font-size: 12px;
    text-align: center;
    color: rgb(153, 153, 153);
}

footer#rodape .juridical--responsive {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

footer#rodape .pipe--responsive {
    color: black;
    padding: 0px 8px;
}

/* #endregion */

/* #region Home-Page */

/* #region Description - Com imagem e buttons (download, etc)  */

#page-home .description {
    color: white;
}

#page-home .description h2 {
    color: rgb(255, 153, 0);
    font-weight: bold;
    font-size: 36px;
}

#page-home button.action {
    padding: 8px 20px;
    color: black;
    background-color: #ff9900;
    font-family: "Arial Black", Gadget, sans-serif;
    font-size: 22px;
    cursor: pointer;
    border-radius: 24px;
    border: 0px;
}

#page-home button.action:hover {
    background-color: #ffd089;
}

#page-home .description--responsive {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 20px 16px 8px 16px;
}

/* Dá espaço no meio entre a parte esquerda e a imagem - setta a 0 em mobile */

#page-home .description--responsive>*+* {
    margin-left: 16px;
}

#page-home .description-left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#page-home .description-buttons--responsive {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    margin-bottom: 55px;
}

#page-home .bg-description {
    background: rgb(80, 80, 80);
    background: linear-gradient(180deg, rgba(80, 80, 80, 1) 0%, rgba(61, 61, 61, 1) 87.5%, rgba(212, 211, 209, 1) 87.5%);
}

#page-home h3 {
    text-align: center;
    margin-top: 32px;
    font-family: 'Times New Roman', Times, serif;
    color: rgb(105, 105, 105);
    font-size: 32px;
}

/* #endregion */

/* #region Hidden message after download */

div#downloaded {
    font-family: Verdana, Geneva, sans-serif;
    font-size: 18px;
    border-radius: 8px;
    padding: 16px;
    margin: 25px;
    background-color: #ccc;
    text-align: center;
    display: none;
}

div#downloaded>.big {
    font-size: 22px;
}

div#downloaded>*+* {
    margin-top: 8px;
}

div#downloaded button {
    margin-top: 16px;
}

/* #endregion */

/* #region Explanation */

#page-home .explanation--responsive {
    display: flex;
    flex-direction: row;
    padding: 16px;
}

#page-home .explanation--responsive>*+* {
    margin-left: 16px;
}

/* #endregion Explanation */

/* #endregion  Home-Page */

/* #region product.php */

#page-1 .explanation--responsive {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 16px;
}

#page-1 .explanation--responsive>*+* {
    margin-left: 16px;
}

#page-1 .max-width-left--responsive {
    max-width: 484px;
}

#page-1 .max-width-right--responsive {
    max-width: 407px;
}

/* #endregion */

/* #region installguide.php - #page-3 */

#page-3 h1 {
    font-family: 'Times New Roman', Times, serif;
    color: rgb(105, 105, 105);
    border-bottom: 1px dotted gray;
    font-size: 24px;
    padding-bottom: 4px;
    margin-bottom: 8px;
}

#page-3 .steps h3 {
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 8px;
}

#page-3 .steps h3>b {
    color: #ff8365;
}

#page-3 .steps p {
    padding-left: 32px;
}

#page-3 .steps img {
    padding: 16px 0px 16px 32px;
    max-width: 100%;
}

#page-3 .steps>*+* {
    margin-top: 32px;
}

/* #endregion */

@media only screen and (max-width: 811px) {
    p {
        font-size: 14px;
    }

    article h2 {
        font-size: 18px;
    }

    #header-bg-2 {
        background: url(images/bg-header2-mobile.gif) repeat-x;
        height: 107px;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        padding: 0px 25px 8px 0px;
    }

    #menu-horizontal {
        display: none;
    }

    footer#rodape .juridical--responsive {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    footer#rodape .pipe--responsive {
        display: none;
    }

    /* #region Home-Page */
    #page-home .description h1 {
        font-size: 20px;
    }

    #page-home .description h2 {
        font-size: 30px;
    }

    #page-home .description--responsive {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 20px 0px 8px 0px;
    }

    #page-home .description--responsive>*+* {
        margin-left: 0px;
    }

    #page-home .description-buttons--responsive {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 32px;
    }

    #page-home .description img {
        width: 100%;
        margin: 0px;
    }

    #page-home .explanation--responsive {
        display: flex;
        flex-direction: column;
        padding: 16px;
    }

    #page-home .flex-2.spaced {
        margin-top: 16px;
    }

    .related-projects--responsive{
        display: flex;
        flex-direction: column;
        margin-bottom: 24px;
    }

    /* #endregion */
    /* #region product.php - #page-1 */
    #page-1 iframe {
        max-width: 100%;
    }

    #page-1 .explanation--responsive {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 16px;
    }

    #page-1 .explanation--responsive>*+* {
        margin-left: 0px;
    }

    #page-1 .max-width-left--responsive {
        max-width: none;
    }

    #page-1 .max-width-right--responsive {
        max-width: none;
        margin-top: 16px;
    }

    #page-home .flex-2.spaced {
        margin-top: 16px;
    }

    /* #endregion */
}