* {
    font-size: 14px;
    font-family: "Poppins", sans-serif;
    font-style: normal;
    scroll-padding-top: 100px;
}

body {
    background-color: rgb(255, 255, 255);
    scroll-padding-top: 100px;
}

/* colors */

:root {
    --red: #BD1820;
    --darkred: #8E1218;
    --brown: #E1D1C0;
}

/* text */

h1 { 
    font-family: 'Flexo';
    font-weight: 900;
    font-style: normal;
    font-size: 36px!important; color: black; text-transform: uppercase;
}

h2 { font-weight: 600!important; font-size: 18px!important; color: black; margin-top: 10px; margin-bottom: 20px; font-family: 'Flexo'; text-transform: uppercase;}
h3 { font-weight: 600!important; font-size: 22px!important; color: var(--red); margin-top: 10px; margin-bottom: 20px; line-height: 28px;}
h4 { font-weight: 500!important; font-size: 18px!important;}
p{ font-weight: 400!important; font-size: 14px!important; color: black; line-height: 22px;}
a{ text-decoration: none!important;}

h1 span { color: var(--red); font-size: inherit; font-family: 'Flexo';}

/* different text */

.dark-red { color: var(--darkred);}
.red-text { color: var(--red);}
.slogan { line-height: 45px;}

/* bg */

.red-bg {
    background: var(--red);
}
.dark-red-bg {
    background: #370202;
}

.linear-red {
    background: linear-gradient(to bottom, #750F14 , #BD1820, #750F14);
}
/* .light-section {
    background: var(--brown);
}

.light-section::before {
    background: url(/assets/website/img/bg/waved-top.svg);
    content: '';
    background-size: 100%;
    display: block;
}
.light-section::after {
    background: url(/assets/website/img/bg/waved-bottom.svg);
    content: '';
    background-size: 100%;
    display: block;
} */

.flip-horizontal {
    -moz-transform: scale(-1, 1);
    -o-transform: scale(-1, 1);
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

/* btns */

.btn {
    font-family: 'Flexo';
    min-width: 180px;
    border-radius: 5px!important;
    padding: 12px 20px!important;
    font-size: 15px!important;
    color: white;
    min-height: 48px;
    background-size: 300% 100%;
    -o-transition: all .4s ease-in-out !important;
    -webkit-transition: all .4s ease-in-out !important;
    transition: all .4s ease-in-out;
    background-image: linear-gradient(to right, #8E1218, #BD1820,  #BD1820, #8E1218);
}

.btn:active, .btn:hover, .btn:focus , .btn:focus-visible{
    color: white !important;    
    outline: none;
    cursor: pointer;
    background-position: 100% 0;
    -o-transition: all .4s ease-in-out !important;
    -webkit-transition: all .4s ease-in-out !important;
    transition: all .4s ease-in-out !important;
    transform: scale(1.05);
    background-image: linear-gradient(to right, #8E1218, #BD1820,  #BD1820, #8E1218);
}

.btn-outline {
    color: var(--red) !important;
    border: 2px solid var(--red);
    transition: all .4s ease-in-out !important;
    background: transparent;
}
.btn-outline:active, .btn-outline:hover, .btn-outline:focus, .btn-outline:focus-visible {
    color: white !important;
    border: 1px solid var(--darkred);
}

/* header */

header .nav {
    background-color: transparent;
    transition: all .4s ease-in-out;
}

.logo_nav {
    height: 65px;
    transition: all .4s ease-in-out;
}
.navbar-brand {
    height: auto;
    padding: 10px;
}

.footer-logo {
    height: 60px;
}

.navbar-toggler , .navbar-toggler-icon , .navbar-toggler-icon svg , .navbar-toggler-icon path {
    outline: none!important;
    box-shadow: none!important;
}

header .navbar-nav {
    float: right;
}

header .navbar-nav > li {
    padding: 10px 20px;
    align-self: center;
    position: relative;
}
header .navbar-nav > li > a{
    padding: unset;
    text-transform: none;
    font-size: 15px;
    font-weight: 500;
    color: black;
    white-space: nowrap;
    font-family: 'Flexo';
}
header .navbar-nav > li > a:hover ,header .navbar-nav > li > a:focus ,header .navbar-nav > li > a:active{
    opacity: unset;
    border: none;
    background: unset;
    padding-bottom: unset;
    color: var(--red);
}
header .navbar-nav > li:last-child  a:before {
    background: transparent !important;
}

header .dropdown-menu {
    display: block;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20%);
    transition: all .5s;
}
header  .dropdown:hover .dropdown-menu{
    opacity: 1;
    visibility: visible;
    transform: translateY(0%);
}

.scrolled {
    background-color: rgb(255, 255, 255) !important;
    box-shadow: 4px 4px 10px #0000003d, -4px -4px 10px #0000003d;
}

.scrolled .logo_nav {
    height: 60px;
}

header .navbar-nav > li > a:focus {
    opacity: unset;
    border-bottom: unset;
    padding-bottom: initial;
}

/* link animation */

header .navbar-nav > li > a:before , header .navbar-nav > li > a:after {
    content: '';
    position: absolute;
    transition: transform .5s ease;
}

header .navbar-nav > li > a:before , header .navbar-nav > li > a:active:before{
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    transform: scaleX(0);
    background: var(--red);
}

header .navbar-nav > li > a:hover:before {
    transform: scaleX(1);
}

/* remove effect on login btn  */
header .navbar-nav > li:last-child > a::before , header .navbar-nav > li:last-child > a::after{
    content: none;
}

.navbar-expand-lg .navbar-collapse{
    justify-content: right;
}

@media (min-width:991px) and (max-width:1050px) {
    header .navbar-nav > li {
        padding: 10px 12px;
    }
}

/* footer */

footer {
    background: linear-gradient(to right, #210000, #5F0C10, #BD181F);
    width: 100%;
    background-repeat: no-repeat;
    background-size:cover;
}

footer p { color: white; }
footer a { color: white; cursor: pointer;     transition: all .2s ease-in-out;}
footer a:hover { color: var(--red); }
footer h5 { font-family: 'Flexo';}


.legal {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 5px 0;
}

/* card */

.card{
    box-shadow: 4px 4px 10px #0000003d, -4px -4px 10px #0000003d;
    background: #ffffff;
    border: none;
    height: 100%;
    border-radius: 2rem;
    border-top-left-radius: 3rem;
    border-top-right-radius: 3rem;
    opacity: 0;
    transition: opacity 0.5s ease, transform 0.5s ease;
    transform: translateY(20px); 
}

.card-text {
    padding: 20px;
}
.card.visible {
    opacity: 1;
    transform: translateY(0); 
}

.card:hover{
    box-shadow: 4px 4px 10px #5f0c104a, -4px -4px 10px #5f0c104a;
    background: #ffffff;
    border: none;
    border-radius: 2rem;
}

.red-bg-card {
    padding: 20px;
    background-color: var(--red);
}

/* pages */

/* home  */

.home-slider {
    height:850px; 
    overflow: hidden;
    background: url("/assets/website/img/icon-slider.svg");
    background-size: contain;
    background-position: top right;
    background-repeat: no-repeat;
    position: relative;
}

#home-slider{
    height: 800px;
} 

/* page slider */

#slider-page {
    background-image: url("/assets/website/img/header-wave.svg");
    background-size: 100%;
    background-position:bottom;
    background-repeat: no-repeat;
    height: 420px;
}

@media(max-width:768px) {
    #slider-page {
        background-image: url("/assets/website/img/header-wave-xs.svg");
            height: 220px;
    }
    
    .navbar-nav .dropdown-menu {
        position:absolute;
    }
}

#slider-page .container{
    margin-bottom: -50px;
    padding-top: 135px;
    padding-bottom: 20px;
}

/* slider */

.slider-row {
    align-items: center;
    margin-top: auto;
    margin-bottom: auto;
    z-index: 1;
}

/* recruitment */

#recruitment {
    background: url('/assets/website/img/recruitment.webp');
    width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

/* contacts */

#contacts-page .light-section {
    padding: 40px 50px; 
    border-radius:10px;
    background-color: #E4DACF;
}


/* budget */


#budget select{
    border-radius: 1rem !important;
    height: 35px!important;
    border: none!important;
    background-color: #F0F5FF!important;
    font-size: 12px!important;
    padding: 5px 15px !important;
    color: var(--black-text)!important;
    display: block;
    width: 100%;
}

#budget select:focus {
    background-color: #F5F5FF !important;
    color: #55529E !important;
}


/* legal */

.legal-card {
    border: none;
    border-radius: 1.5rem!important;
}

#legal .list-group-item.active {
    background-color: var(--red);
    border-color: var(--red);
    color: white;
}

#legal .list-group-item:hover{
    background-color: #dddd;
    border-color: #dddd;
}

#legal .list-group-item.active:hover {
    background-color: #dddd;
    border-color: #dddd;
} 

#legal .list-group-item {
    padding: 10px 20px;
    color: var(--red);
}

/* services */

#services {
    background: linear-gradient(to bottom, #750F14 , #BD1820, #750F14);
}

.service-gallery {
    padding-right: 50px;
}
.service-gallery #images, .gallery-item{
    border-radius: 2rem;
    overflow: hidden;
}

.service-gallery .img-responsive {
    border-radius: 1rem;
}

/* international map  */

.af-map-text li {
    font-family: 'Flexo';
    text-transform: uppercase;
    padding:5px 0;
    cursor:pointer;
}
.af-map-text li:hover {
    color:var(--red);
}

/* form  */

.form-control {
    border-radius: 1rem !important;
    line-height: 25px!important;
    height: 40px;
    border: none!important;
    background-color: #f7f7f7;
    font-size: 14px!important;
    padding: 0 15px !important;
    color: black !important;
    box-shadow: none;
}

.form-control:focus {
    background-color: #f7f7f7!important;
    color: black !important;
    box-shadow: inset 0 0 3px var(--darkred);
}

.form-control-white {
    background-color: #e7e7e76f!important;
    color: black!important;
}

.form-control-white:focus {
    background-color: #e7e7e76f!important;
    color: black!important;
}

.form-label {
    font-weight: 500;
    color: black;
}
.red-label {
    color: var(--red);
}

.nav-tabs {
    border: none;
    margin-bottom: -2px!important;
}

.nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover {
    box-shadow: 0 -4px 14px #496fb43c !important;
    border: none;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: var(--red);
}


.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
    background-color: var(--orange);
    border-color: var(--orange);
}



@media (min-width: 768px) and  (max-width:991px) {
    .collapse:not(.show) {
        display: none!important;
    }

    .collapsing {
        transition-duration: .35s!important;    
        transition-timing-function: ease;
        transition-property: height, visibility;
    }
    
}

@media (max-width:991px) {

    .nav {
        padding-top: 0;
        background-color: rgb(255, 255, 255) !important;
        box-shadow: 4px 4px 10px #0000003d, -4px -4px 10px #0000003d;
    
    }
    .navbar-short {
        display: flex;
    }

    .navbar-short .navbar-toggler{
        border: none;
    }

    .navbar-short .navbar-toggler-icon {

        width: 30px;
        height: 30px;
    }

    header .navbar-nav {
        float: unset !important;
    }

    .card-contacts {
        margin: 50px 0 ;
    }

    #home-slider , .home-slider {
        height: 900px;
    }

    .home-slider {
        background-position: bottom -120px center;
        background-size: cover;
        padding-top: 50px;
    }
}

@media (max-width:768px) {
    .logo_nav {
        height: 45px!important;
        margin-top: -5px !important;
    }

    .footer_logo {
        height: 45px!important;
    }

    .home-slider {
        background-position: bottom -60px left;
        background-size: contain;
        padding-top: 50px;
    }

    #slider-page .container{
        padding-top: 90px;
        padding-bottom: 40px;
    }

    #servicocargacompleta .container, #serviconacional .container, #about-page .container, #mission-values .container, #recruitment{
        margin: 0!important;
    }

    #contacts-page .light-section {
        padding: 20px 30px; 
        border-radius:10px;
        margin-top: 20px;
    }

    #services {
        padding-bottom: 150px;
    }

    .page-slider, #page-slider {
        height: 210px;
    }

    .slogan {
        font-size: 28px!important;
    }

    .btn {
        font-size: 12px!important;
        min-width: 150px;
    }


    p { font-size: 13px!important;}
    h1 { font-size: 25px!important; }
    h2 { font-size: 17px!important; }
    h3 { font-size: 16px!important; }
    h4 { font-size: 14px!important; }
    .h1-slider { font-size: 32px!important; }

}
