html{
    padding:0;
    margin:0;
    font-size:18px;
    font-family: 'Jost', sans-serif;
    scroll-behavior: smooth;
}

body{
    padding:0;
    margin:0;
}

b{
    color: #D44116;
}

a{
    text-decoration:none;
    color: #000;
}

a:hover{
    color: #D44116;
    cursor:pointer;
}

div.cn-navbar{
    padding: 1rem;
    display:flex;
    justify-content:space-between;
    align-items: center;
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(10px);
    position: sticky;
    top:0;
    left:0;
    z-index: 100;
}

div.cn-navbar div.cn-logo img{
    height:2.5rem;
}

div.cn-navbar div.cn-routes{
    gap:2rem;
    display:flex;
    align-items: center;
}


@media screen and (max-width: 767px) {
    div.cn-navbar div.cn-logo img{
        height:2.25rem;
    }
    
    div.cn-routes>a:not(.cn-contact){
        display:none;
    }
}

div.cn-social-circle{
    width:3rem;
    height:3rem;
    display:flex;
    justify-content: center;
    align-items: center;
    border-radius:3rem;
    background-color: #D44116;
}

div.cn-social-circle:hover{
    opacity:0.8;
}

button.cn-cta-button{
    display:flex;
    align-items: center;
    justify-content: space-between;
    gap:2rem;
    border-radius:4rem;
    border:0;
    padding:0 0 0 1rem;
    cursor:pointer;
    background-color: #D44116;
}


button.cn-cta-button:hover{
    opacity:0.8;
}

button.cn-cta-button:active{
    opacity:0.7;
}


button.cn-cta-button p{
    color:#fff;
    font-size:1rem;
    font-weight:semibold;
    margin:0;
}

/** HEADLINE **/
section#headline{
    display:flex;
    align-items: center;
    padding:3rem 1rem;
    gap:4rem;
}

div.cn-headline-content-container{
    display:flex;
    justify-content: center;
    align-self: center;
    flex:2;
}

div.cn-headline-content{
    width:450px;
    max-width:100%;
}

div.cn-headline-content h1{
    font-weight:bold;
    font-size:3rem;
    margin:0;
}

div.cn-headline-content>p{
    margin-bottom:3rem;
}


div.cn-headline-image{
    flex:3;
}

div.cn-headline-image img{
    width:100%;
}

@media screen and (max-width: 1100px) {
    section#headline{
        gap:2rem;
    }

    div.cn-headline-content-container{
        flex:1;
    }

    div.cn-headline-content{
        width:100%;
    }

    div.cn-headline-image{
        flex:1;
    }
}

@media screen and (max-width: 767px) {
    section#headline{
        flex-direction:column;
        gap:4rem;
    }

    div.cn-headline-image{
        display:none;
    }
}

/**************/

/** SERVICES **/
section#services{
    background-color:rgb(27, 29, 36);   
    padding:3rem 0;
    display:flex;
    flex-direction: column;
    gap:4rem;
    align-items: center;
    color:white;
}

section#services h2{
    font-size:3rem;
}

div.cn-services-list{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    width:100%;
}

div.cn-service-container{
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

div.cn-service{
    width:100%;
    max-width:500px;
    height:100%;
}

div.cn-service h3{
    padding:0 1rem;
    font-size:1.5rem;
    font-weight:bold;
}

div.cn-service>p{
    padding:0 1rem;
    height:120px;
}

div.cn-service-caption{
    padding:1rem;
}

div.cn-service-caption p{
    margin:0;
}

div.cn-service-image{
    background-size:cover;
    background-position: center;
    height:350px;
    width:100%;
}

@media screen and (min-width: 1300px) {
    div.cn-services-list div.cn-service-container{
        border-right:solid 1px rgba(255,255,255,0.1);
    }
    
    div.cn-services-list div.cn-service-container:last-child{
        border-right:0;
    }
}

@media screen and (max-width: 1300px) and (min-width: 767px) {
    div.cn-services-list{
        grid-template-columns: repeat(2, 1fr);
    }

    div.cn-services-list div.cn-service-container:nth-child(odd){
        border-right:solid 1px rgba(255,255,255,0.1);
    }
}

@media screen and (max-width: 767px) {
    div.cn-services-list{
        grid-template-columns: repeat(1, 1fr);
    }

    div.cn-service{
        position:relative;
        margin-top:3rem;
    }

    div.cn-service div.cn-service-caption{
        position: absolute;
        margin:0;
        bottom:0;
        left:0;
        width:100%;
        background-color:rgba(27, 29, 36,0.8);
        backdrop-filter: blur(6px);
        padding:1rem;
        height:auto;
        box-sizing:border-box;
    }
}
/**************/

/** CONTACTS **/

section#contacts{
    display:flex;
    align-items: center;
    padding:3rem 1rem 10rem 1rem;
    gap:4rem;
}

div.cn-contacts-content-container{
    display:flex;
    justify-content: center;
    align-self: center;
    flex:2;
}

div.cn-contacts-content{
    width:450px;
    max-width:100%;
}

div.cn-contacts-content h2{
    font-weight:bold;
    font-size:3rem;
    margin:0;
}

div.cn-contacts-content>h3{
    margin:0 0 3rem;
    font-size:1.5rem;
    font-weight:normal;
}

div.cn-contacts-image{
    flex:3;
}

div.cn-contacts-image img{
    width:100%;
}

div.cn-contacts-list{
    display:flex;
    flex-direction: column;
    gap:1rem;
}

div.cn-contact a{
    display:flex;
    align-items: center;
    gap:1rem;
}

@media screen and (max-width: 1100px) {
    section#contacts{
        gap:2rem;
    }

    div.cn-contacts-content-container{
        flex:1;
    }

    div.cn-contacts-content{
        width:100%;
    }

    div.cn-contacts-image{
        flex:1;
    }
}

@media screen and (max-width: 767px) {
    section#contacts{
        flex-direction:column;
        gap:4rem;
    }

    div.cn-contacts-image{
        display:none;
    }
}
/**************/