@import url('https://fonts.googleapis.com/css2?family=Anton&family=Fjalla+One&family=Mochiy+Pop+One&display=swap');

:root{
    --primary-color:rgb(0, 119, 230);
    --secondary:black
}
::selection{

}
*,*:before,*::after{
    margin:0;
    padding:0;
    list-style: none; 
    text-decoration: none;
    border:none;
    box-sizing: border-box;
    outline:none;
    background: transparent;
    font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

::placeholder{
    color:var(--primary-color)
}
/**header**/
header{
    position:fixed;
    left:0;
    right:0;
    top:0;
    background-color: white;
    z-index: 1000;
}
header nav{
    display: flex;
    box-shadow: 0 0 10px rgba(0,0,0,.16);
    align-items: center;
}
nav .logo{
    padding:1.5em 1.5em;
    background-color: var(--primary-color);
}
nav .logo span{
    color:white;
    font-size: 1.2em;
    text-transform: uppercase;
    font-weight: 700;
}
nav ul.menus{
    padding:0 2em;
    display: flex;
    gap:10px
}
nav ul.menus li.menu{
    text-transform: uppercase;
    font-size: .8em;
    transition: all .4s;
}

nav ul.menus li.menu a.menu-link{
    color:var(--primary-color)
}
nav ul.menus li.menu:hover{
    transform: scale(1.1);
}

nav button{
    display: none;
}

/**main**/
main{
    margin-top: 4.5em;
}
main section.banner, section.banner-extra-page{
    background:url("../assets/site_images/arc1.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
section.banner .wrapper{
    height:50vh;
    background: rgba(0,0,0,.6);
    display: flex;
    flex-flow: column;
    align-items: start;
    justify-content: center;
}

section.banner-extra-page .wrapper-extra-page{
    height:30vh;
    background: rgba(0,0,0,.6);
    display: flex;
    flex-flow: column;
    align-items: start;
    justify-content: center;
}

section.banner .wrapper .wrapper-content, section.banner-extra-page .wrapper-extra-page .wrapper-extra-page-content{
    margin: 0 3em;
    width:50%
}
section.banner .wrapper .wrapper-content .banner-text, section.banner-extra-page .wrapper-extra-page .wrapper-extra-page-content .banner-extra-page-text{
    font-size: 2em;
    color:white;
    font-weight: 700;
    text-transform: uppercase;
    margin:.3em 0
}
section.banner .wrapper .wrapper-content .banner-tag-line{
    color:white
}
section.banner .wrapper .wrapper-content .banner-action{
    margin: .9em 0;
}

section.banner .wrapper .wrapper-content .banner-action button{
    padding:1em 1.5em;
    background-color: var(--primary-color);
    color:white;
    display: flex;
    align-items: center;
    gap:10px;
    cursor:pointer;
    transition: all .4s;
}
section.banner .wrapper .wrapper-content .banner-action button:hover{
    background-color: var(--secondary);
    color:white;
    transform: scale(1.1);
}

section.services, section.about, section.staffs, section.contact, section.arch-designs, section.cnstr-prjs, section.tips{
    margin: 2em 3em
}
section .section-title{
    font-size: 1.5em;
    font-weight: 700;
    text-transform: uppercase;
    color:var(--primary-color);
    margin-bottom:1em
}
section.services .services-row{
    display:grid;
    grid-template-columns: repeat(2,1fr);
    gap:10px
}
.services-row .service{
    box-shadow: 0 0 10px rgba(0,0,0,.16);
    padding:1em;
    border-radius: .5em;
}
.services-row .service .service-header{
    display: flex;
    gap:10px;
    align-items: center;
}
.service .service-header .title{
    font-weight: 700;
    color:var(--primary-color)
}
.service .service-header span{
    color:var(--primary-color)
}
.service .service-body{
    font-size:.7em;
}

section .more{
    margin:2em 0;
}
section .more a{
    display: flex;
    align-items: center;
    color:var(--primary-color)
}
section .more a span{
    font-size: 1em;
}
section .more a span:first-child{
    text-transform: uppercase;
    font-size: .8em;
}

section.about .about-content{
    display: grid;
    grid-template-columns: 40% 60%;
    gap:1em
}
section.about .about-content .image img{
    display: block;
    width:100%;
}
section.about .about-body .about-text{
    font-size: .8em;
}
section.about .about-content .map{
    margin-top:1em;
}
section.about .about-body .map iframe{
    display: block;
    width:100%;
    height:30vh
}

section.staffs .staffs-row .staff{
    box-shadow: 0 0 10px rgba(0,0,0,.16);
    margin:10px
}

section.staffs .staffs-row .staff img{
    display: block;
    width:100%;
    height:40vh;
    object-fit: cover;
}
section.staffs .staffs-row .staff .details{
    padding:1em
}
section.staffs .staffs-row .staff .details .name{
    font-size: 1.2em;
    font-weight: 700;
    text-transform: uppercase;
}


section.contact .contact-holder{
    width: 70%;
    margin:auto;
    padding:1.5em;
    box-shadow: 0 0 10px rgba(0,0,0,.16);
    border-radius: .2em;
}
.contact-holder form .input-row{
    display: flex;
    gap:10px;
    margin-bottom: 1em;
}
.contact-holder form .input-row input{
    width:100%;
    padding:1em;
    border:1px solid var(--primary-color);
    color:var(--primary-color)
}
.contact-holder form textarea{
    padding: 1em;
    border:1px solid var(--primary-color);
    width:100%;
    height:20vh;
    margin-bottom: 1em;
    color:var(--primary-color)
}
.contact-holder form button{
    width:100%;
    padding:.8em 1em;
    background-color: var(--primary-color);
    color:white;
    cursor:pointer
}


section.arch-designs .arch-design-holder .arch-design img, section.cnstr-prjs .cnstr-prj-holder .cnstr-prj img, section.tips .tip-holder .tip img{
    display: block;
    width:100%
}
section.arch-designs .arch-design-holder .arch-design, section.cnstr-prjs .cnstr-prj-holder .cnstr-prj, section.tips .tip-holder .tip{
    box-shadow: 0 0 10px rgba(0,0,0,.16);
    margin:.5em
}
section.arch-designs .arch-design-holder .arch-design .view, section.cnstr-prjs .cnstr-prj-holder .cnstr-prj .view, section.tips .tip-holder .tip .view{
    padding:1em
}
section.arch-designs .arch-design-holder .arch-design .details, section.cnstr-prjs .cnstr-prj-holder .cnstr-prj .details, section.tips .tip-holder .tip .details{
    padding:.5em 1em
}

section.arch-designs .arch-design-holder .arch-design .details .title, section.cnstr-prjs .cnstr-prj-holder .cnstr-prj .details .title, section.tips .tip-holder .details .title{
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: .2em;
}

section.arch-designs .arch-design-holder .arch-design .details .describe, section.cnstr-prjs .cnstr-prj-holder .cnstr-prj .details .describe, section.tips .tip-holder .tip .details .describe{
    font-size: .7em
}
section.arch-designs .arch-design-holder .arch-design .view a, section.cnstr-prjs .cnstr-prj-holder .cnstr-prj .view a, section.tips .tip-holder .tip .view a{
    display: flex;
    align-items: center;   
    gap:5px;
    display: flex;
    justify-content: center;
    font-size: .8em;
    background-color: var(--primary-color);
    width:100%;
    padding:.5em 1em;
    color:white;
    font-weight: 700;
    border-radius: .5em;
}
/**footer**/
footer{
    padding:1em;
    background-color: black;
}
footer .footer-nav{
    display: flex;
    justify-content: space-around;
}

.footer-nav .footer-nav-list .footer-nav-list-item a{
    color:white;
    font-size: .7em;
}

footer .copy-right{
    text-align: center;
    margin-top:1em;
    color:white;
    font-size: .8em;
}

.divider{
    height: .07em;
    margin:1em 2em;
    background: lightgrey;
}
/**modals**/
.modal{
    position: fixed;
    top:0;
    left:0;
    right:0;
    height:100vh;
    z-index: 1050;
    background: rgba(3, 89, 160, 0.925);
    transition: all .4s;
}

        /**preload**/
        .modal.preload{
            display:grid;
            place-content: center;
        }

        .modal.preload .content{
            display:grid;
            place-content: center;
            display: flex;
            flex-flow: column;
            align-items: center;
            justify-content: center;
            gap:10px
        }
        .modal.preload .content .spinner{
            height:40px;
            width:40px;
            border:2px dotted white;
            border-top:2px solid white;
            border-radius: 360px;
            animation: spin .4s linear infinite;
        }
        @keyframes spin{
            0%{
                transform: rotate(0deg);
            }
            100%{
                transform: rotate(360deg);
            }
        }
        .modal.preload .content .text{
            color:white
        }
.hide-modal{
    opacity: 0;
    z-index: -1;
}

.hide-aside{
    margin-left:-80%
}

/**fab**/
.fab{
    position: fixed;
    right:4%;
    width:40px;
    height:40px;
    border-radius: 360px;
    display: grid;
    place-content: center;
    background-color: var(--primary-color);
    cursor: pointer;
    transition: all .4s;
}
.fab:hover{
    transform: scale(1.1);
}
.fab span{
    color:white;
    cursor: pointer;
}

.fab.whatsapp{
    bottom:2%;
}

.fab.email{
    bottom:10%; 
    border-radius: 360px;
}

