/*

CyberSecurity / v6 - 20210420

..:: colors ::..
primary (dark blue): #0b3958
secondary (blue): #008cbc
accent (yellow): #ffcc3b
text bg (gray): #F7F7F8

..:: fonts ::..
0.625rem = 10 px
html -> font-size: 62.5%;

*/

:root{
    --primary: #0b3958;
    --secondary: #008cbc;
    --accent: #ffcc3b;
    --gray-bg: #F7F7F8;
    --alert-time: #ff0000;
}
html{
    font-size: 62.5%;
}

body{
    margin: 0;
    font-family: "Helvetica", sans-serif;
    line-height: 1.2;
    
}

h1, h2, h3, a, p, div{
    margin: 0;
    padding: 0;
}

a{
    text-decoration: none;
    color: var(--secondary);
    font-size: 1.6rem;
}

h1{
    font-size: 2.4rem;
    color: var(--primary);
}

h2{
    font-size: 2.2rem;
    color: var(--primary);
}

p{
    color: var(--primary);
    line-height: 1.3;
    padding-bottom: 20px;
    font-size: 1.6rem;
}

.txt-small{
    margin-top: 10px;
    font-size: 1.4rem;
    color: var(--secondary) !important;
    padding-top: 10px !important;
}

.txt-upper{
    font-weight: bold;
}
.pad{
    padding: 20px 0;
}

.padtop{
    padding-top: 40px;
    padding-bottom: 10px;
}

.color-secondary{
    color: var(--secondary);
   }
   
.container{
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1920px;
    margin: 0 auto;
    align-items: stretch;
    row-gap: 20px;
    grid-template-areas: 
    "header header"
    "info-maintenance info-maintenance"
    "latest-news latest-news"
    "hot-topics guides"
    "procedures procedures"
    "training-prog training-prog"
    "footer footer"
    ;
}

#header{
    display: grid;
    grid-template-columns: .5fr 2.5fr 1.3fr;
    grid-area: header;
    margin: 0px 70px;
    align-items: stretch;
    min-height: 215px;
}

.logo{
    margin: auto 70px auto 0;
}

.info-maintenance{
    grid-area: info-maintenance;
    display: grid;
    grid-template-columns: 250px auto;
    align-items: center;
    background-color:var(--accent);
    border-radius: 20px;
    color: var(--primary);
    min-height: 215px;
    margin: 10px 70px;

}
.cls-hidden {
    display: none;
}

.info-maintenance h2,p{
    text-align: center;
}

.info-maintenance h2{
    margin-bottom: 20px;
}

.info-maintenance .main{
    padding-right: 250px;
}


.latest-news h2{
    text-align: center;
    margin-bottom: 20px;
}

.latest-news{
    grid-area: latest-news;
    display: grid;
    grid-template-columns: 250px auto;
    align-items: center;
    background-color: var(--gray-bg);
    border-radius: 20px;
    color: var(--primary);
    min-height: 215px;
    margin: 10px 70px 80px 70px;
}

.latest-news p{
    text-align: center;
}

.latest-news .main{
    padding-right: 250px;
}

.wel h1{
    text-align: center;
    padding: 20px;
    color: #ffffff;
}
.wel p{
    color: #ffffff;
    padding: 10px 40px;
    text-align: justify;
}

.header-welcome{
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    background-color: var(--secondary);
    border-radius: 0 0 0 20px;
    color: var(--primary);
    min-height: 215px;
}


.maintenance p{
    text-align: center;
}

.main-img{
    margin: 0 auto;
}


.cls-center{
    font-weight: bold;
}
.scheduled-time-red{
    color: var(--alert-time);
    font-weight: bold;
}

.contact{
    background-color: var(--secondary);
    color: #ffffff;
    border-radius: 0 0 20px 0;
    text-align: center;
    align-self: stretch;
    min-height: 215px;
}

.contact p{
    color:#ffffff;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: right;
    padding-right: 140px;
    padding-left: 10px;
    z-index: 0;
}

.contact-img{
    padding-bottom: 10px;
    margin-top: 15px;
}
.contact a{
    color: #ffffff;
    font-size: 1.8rem;
}

.img-cyber{
    margin-top: -180px;
    margin-right: -380px;
    width: 150px;
    z-index: -1;
}



#welcome{
    text-align: center;
    grid-area: welcome;
    padding: 20px 5% 0 5%;
    margin: 0px 70px 70px 70px;
}

#welcome p{
    padding-top: 20px;
}

#hot-topics{
    grid-area: hot-topics;
    margin: 0px 10px 0px 70px;
}
.hot-topics-list{
    line-height: 30px;
    margin-top: 50px;
}

#training-prog{
    grid-area: training-prog;
    margin: 20px 70px;
}


.div-hot-topics{
    text-align: center;
    background-color: var(--gray-bg);
    height: 350px;
    padding: 0 50px;
    
}
.train-prog{
    border-radius: 20px;
    margin-top: 80px;
    background-color: var(--primary);
}
.train-prog h2{
    color: #ffffff;
}



.div-hot-topics p{
    padding-top: 10px;
}

.img-comp{
    margin-top: -80px;
    margin-bottom: 20px;
}

.img-comp-svg{
    margin-top: -70px;
    margin-bottom: 10px;
    width: 100px;
}


.img-comp2{
    margin-top: 20px;
    margin-bottom: 20px;
}


.main-2col{
    column-count: 2;
    margin: auto;
    text-align: center;
    width: 50%;
    line-height: 30px;
    padding:0 auto;    
}
.main-2col a{
    color: #ffffff;;
}
.color-white p{
    color:#ffffff;
}


#guides{
    background-color: #ababab;
    grid-area: guides;
    margin: 0px 70px 0px 10px;
}

.btn-guides{
    width: 400px;
    height: 50px;
    background-color: var(--secondary);
    border-radius: 10px;
    border: 1px solid #ffffff;
    color: white;
    font-size: 1.6rem;
    cursor: pointer;
}

#procedures{
    grid-area: procedures;
    margin: auto 70px; 
    text-align: center;
}
.procedure-col{
    min-height: 350px;
    background-color: var(--gray-bg);
    margin-top: -50px;
    border-radius: 20px;
}

#news{
    grid-area: news;
    background-color: var(--secondary);
    margin: 0px 10px 0px 70px;
    border-radius: 10px;
    color: #ffffff;
    text-align: center;
    min-height: 250px;
}
.div-news p{
    padding: 20px 50px 0 50px;
    color: #ffffff;
    text-align: left;
}
.div-news h2{
    color: #ffffff;
    margin-top: -20px;
}
.div-news a{
    color: #ffffff;
}

#hotnews{
    grid-area: hotnews;
    background-color: var(--primary);
    border-radius: 10px;
    margin: 0px 70px 0px 10px;
    color: #ffffff;
    text-align: center;
}

.latest-news-icon{
    display: block;
    padding-top: 20px;
    color: var(--accent);
    width: 80px;
}
.news-icon{
    display: block;
    padding-top: 20px;
    padding-left: 20px;
    color: var(--accent);
}

#hotnews a{
    color: #ffffff;
}

.div-hotnews h2{
    color: #ffffff;
    margin-top: -20px;
}

.news-2col {
    column-count: 2;
    margin: auto;
    text-align: left;
    width: 70%;
    margin-top: 20px;
    line-height: 30px;
 }

.procedures-3col{
    width: 80%;
    margin: auto;
    column-count: 3;
    text-align: left;
    column-gap: 50px;    
    line-height: 40px;
}
.news-col{
    border-radius: 10px;
    margin-left: 10px;
    padding: 10px 50px;
    box-sizing: border-box;
    text-align: center;
    min-height: 250px;
    color: #ffffff;
}
.news-icon{
    width: 50px;
}
/* start FOOTER */
footer{
    background-color: var(--primary);
    grid-area: footer;
    text-align: center;
    line-height: 40px;
    margin-top: 0px;
}

footer a{
    color: #ffffff;
    font-size: 1rem;
    padding: 10px;
}

footer a:hover{
    color: #ffcc3b;
}




/* end FOOTER */

/* mobile responsive */
@media only screen and (max-width: 1280px){
    .container{
        display: grid;
        grid-template-columns: 100%;
        grid-template-areas: 
        "header"
        "info-maintenance"
        "latest-news"
        "hot-topics"
        "guides"
        "procedures"
        "training-prog"
        "footer";
    }

    #header{
        display: grid;
        max-height: 100%;
        grid-area: header;
        margin: 0px 5px;
        grid-template-columns: 100%;
        grid-template-rows: auto auto auto;
        grid-template-areas: 
        "logo"
        "maintenance"
        "contact"
        ;
    }


    .logo{
        margin: 10px auto;
        grid-area: logo;
    }

    .logo img{
        height: 110px;
    }
    
    .img-cyber{
        float: right;
        margin-top: -140px;
        margin-right: 5px;
        width: 120px;
    }

    .info-maintenance{
        padding-top: 40px;
        padding-bottom: 20px;
        grid-area: info-maintenance;
        height: auto;
        grid-template-columns: 100%;
        align-items: stretch;
        margin: 0px 10px;
    }

    .info-maintenance .main{
        padding: 20px;
    }

    .latest-news{
        grid-area: latest-news;
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        background-color: var(--gray-bg);
        border-radius: 20px;
        color: var(--primary);
        min-height: 215px;
        margin: 0px 10px 60px 10px;
    }

    .latest-news .main{
        padding: 20px;
    }

    .header-welcome{
        border-radius: 20px 20px 0 0;   
    }
    .contact{
        grid-area: contact;
        border-radius: 0 0 20px 20px;
    }

    .contact p{
        text-align: center;
        padding-right: 50px;
        padding-left: 50px;
    }

    #welcome{
        text-align: center;
        grid-area: welcome;
    }
    
    .main{
        padding: 20px 40px 20px 0;
        
    }

    #hot-topics{
        margin: 0px 10px 60px 10px;
        grid-template-columns: 1fr;
    }
    
    #guides{
        
        grid-template-columns: 1fr;
        margin: 20px 10px 00px 10px;
    }

    .div-hot-topics{
        height: auto;
        padding-bottom: 50px;
        
    }


    .train-prog{
        margin-top:100px;
        padding: 10px;
    }

    #procedures{
        margin: 20px 10px 00px 10px;
    }

    #news{
        margin: 5px;
    }
    
    .div-news{
        margin: 0 auto;
        padding-bottom: 20px;
    }
    .div-news a{
        text-decoration: underline;
    }
     
    .div-hotnews{
        margin: 0 auto;
        
    }
    #hotnews{
        margin: 5px;
    }

    footer{
        margin-top: 20px;
    }
    
    .procedures-3col{
        width: 80%;
        margin: auto;
        column-count: 1;
        text-align: center;
        column-gap: 50px;    
        line-height: 40px;
    }
    .news-2col{
        column-count: 1;
        text-align: center;
        padding-bottom: 20px;
    }
    .news-icon{
        display: inline-flex;
        margin-bottom: 40px;

        position: relative;
    }

    .btn-guides{
        width: auto;
        height: auto;
        padding: 10px;
        background-color: var(--secondary);
        border-radius: 10px;
        border: 1px solid #ffffff;
        color: white;
        font-size: 1rem;
        cursor: pointer;
    }

    .maintenance{
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        background-color: #ffcc3b;
        border-radius: 20px 20px 0 0;
        color: var(--primary);
        height: auto;
    }

    .main{
        padding-top: 40px;
        padding-left: 40px;
        padding-right: 40px;
    }
    .contact a{
        color: #ffffff;
    }

    #training-prog{
        grid-area: training-prog;
        margin: 0px 10px;
    }
    .main-2col{
        column-count: 2;
        margin: auto;
        text-align: center;
        width: 100%;
        line-height: 30px;
        padding:0 auto;    
        padding:10px;  
    }
}
