:root {
    --black: #000000;
    --white: #ffffff;
    --red: #E40520;
    --grey: #8e97a5;
    --dark: #161e35;
    --dark-two: #1e273f;
    --beige: #e9d5a4;
    --weight: 400;
}

* {
    font-variation-settings: 'wght' 300;
}

html {
    scroll-behavior: smooth;
    font-size: 18px;
}

body {
    padding-top: 149px;
    font-family: 'Josefin';
}

.regular {
    --weight: 400;
}
.extra-light {
    --weight: 200;
}
.light {
    --weight: 300;
}
.medium {
    --weight: 500;
}
.bold {
    --weight: 700;
}
.bolder {
    --weight: 900;
}

@font-face {
    font-family: Josefin;
    src: url(/fonts/JosefinSans.ttf) format('truetype');
    font-display: swap;
}
@font-face {
    font-family: JosefinMedium;
    src: url(/fonts/static/JosefinSans-Medium.ttf) format('truetype');
    font-display: swap;
}
@font-face {
    font-family: JosefinItalic;
    src: url(/fonts/JosefinSans-Italic.ttf) format('truetype');
    font-display: swap;
}
@font-face {
    font-family: Felix;
    src: url(/fonts/Felixti.ttf) format('truetype');
    font-display: swap;
}

.regular,
.extra-light,
.light,
.medium,
.bold,
.bolder {
    font-variation-settings: 'wght' var(--weight);
}

.font-family-felix {
    font-family: Felix;
    text-transform: uppercase;
}
.font-family-josefin-medium {
    font-family: 'JosefinMedium';
}
.font-size26 {
    font-size: 1.4444rem;
}

/* Navigation */
nav {
    background-color: var(--dark-two);
    height: 149px;
    width: initial;
}
nav.navbar {
    padding: 0px;
}
nav.navbar.fixed-top {
    background: url("/images/home/fondo_menu.jpg");
    background-size: cover;
    background-repeat: none;
}
nav.navbar li {
    text-transform: uppercase;
}
nav .navbar-brand {
    margin-left: 1rem;
    max-width: 150px;
}
nav .navbar-brand > img {
    max-width: 150px;
    height: auto;
}
nav .navbar-toggler {
    margin-right: 1rem;
}
.navbar-collapse {
    background-color: var(--dark-two);
    padding: 0 1rem 1rem 1rem;
}
.navbar-dark .navbar-nav .nav-link {
    color: white;
    font-variation-settings: 'wght' 500;
}
.navbar-dark .navbar-nav .active>.nav-link, 
.navbar-dark .navbar-nav .nav-link.active, 
.navbar-dark .navbar-nav .nav-link.show, 
.navbar-dark .navbar-nav .show>.nav-link {
    color: var(--beige);
    font-variation-settings: 'wght' 500;
}
footer .navbar-dark .navbar-nav .nav-link {
    color: var(--grey);
    font-size: .666666em;
}

/* Buttton */
.btn.btn-primary {
    background-color: var(--beige);
    color: var(--dark-two);
    text-transform: uppercase;
    border-color: var(--beige);
    border-radius: 0;
    padding-left: 42px;
    padding-right: 45px;
    padding-top: 14px;
    font-size: 1rem;
}

/* Content */
.bg-beige {
    background-color: var(--beige);
}

/* Headers */
.container h1, .container .h1 {
    font-family: Felix;
    font-size: 2.22222em;
    color: var(--dark-two);
}
.container h1::after,
.container .h1::after {
    content: "";
    position: relative;
    display: block;
    width: 80px;
    margin-top: 12px;
    border-bottom: 4px solid var(--beige);
    margin-bottom: 30px;
}
.container h1.white::after,
.container .h1.white::after {
    border-bottom: 4px solid white;
}
.container h1.full-width {
    display: inline-block;
}
.container h1.full-width::after {
    content: "";
    position: relative;
    display: block;
    width: 100%;
    margin-top: 12px;
    border-bottom: 4px solid var(--beige);
    margin-bottom: 30px;
}
.container h2 {
    font-family: Felix;
    font-size: 1.44444em;
    color: var(--dark-two);
    margin-bottom: 30px;
}
.container h3 {
    font-family: Felix;
    font-size: 1.44444em;
    color: var(--dark-two);
    margin-bottom: .8rem;
}
.container h3.h1 {
    font-size: 1.66666rem;
}
.container h4{
    font-family: Felix;
    color: var(--dark-two);
    font-size: 1.44444rem;
    margin-bottom: .8rem;
    text-transform: uppercase;
    display: block;
    width: 100%;
}
.container.contact h1,
.container .contact h2 {
    font-size: 1.8rem;
}
.container p {
    color: var(--dark-two);
}
.container.contact form input,
.container.contact form textarea {
    -webkit-appearance:none;
    display: inline-block;
    border: 3px solid var(--beige);
    border-radius: 0;
}
.container.contact form input[type=checkbox] {
    width: 30px;
    height: 30px
}
.container.contact form input[type=checkbox]:checked   {
    background: var(--beige);
    outline: none;
}
.container.contact form input.checkbox:after {
    content: "";
    display: inline-block;
    position: relative;
    top: -3px;
    left: 2px;
    width: 20px;
    height: 14px;
    border-bottom: 5px solid #fff;
    border-left: 5px solid #fff;
    -webkit-transform: rotate(-45deg);
  }

/* footer */
footer .contact h2 {
    font-size: 1.66666rem;
}
footer .contact h2, footer .contact p {
    text-align: center;
}
footer {
    color: white;
}
footer .contact {
    background-color: var(--dark);
}
footer nav li {
    display: flex;
    align-items: center;
}
footer nav li a {
    color: var(--grey);
    font-variation-settings: 'wght' 500;
}
footer nav {
    height: initial;
}
footer nav .navbar-nav {
    width: 100%;
}

.container ul {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 0;
}
.container ul li {
    text-transform: uppercase;
    font-size: 1rem;
    font-variation-settings: 'wght' 500;
    padding-right: 10px;
}
.container ul.small li {
    line-height: 21px;
}

.container .download {

    border: 2px solid #1f2732;
    padding: 12px 12px 8px 12px;
}
.container .download a, 
.container .download a:link, 
.container .download a:visited, 
.container .download a:active {
    color: var(--dark-two);
    font-variation-settings: 'wght' 700;
    text-decoration: none;
    font-size: 1rem;
    text-transform: uppercase;
}
.container .download.download-en a, 
.container .download.download-en a:link, 
.container .download.download-en a:visited, 
.container .download.download-en a:active {
    font-size: .9rem;
}

/* carousel */
.owl-carousel-services {
    height: 375px;
}
.owl-carousel-services .owl-item {
    text-align: center;
    height: 375px;
}
div.owl-nav {
    position: absolute;
    top: 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100%;
}
div.owl-nav.disabled {
    display: flex !important;
}
div.owl-nav button {
    width: 10%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFFFFF30 !important;
    outline: none;
}
div.owl-nav button span {
    width: 20px;
    height: 20px;
    color:transparent;
}
div.owl-nav button.owl-prev span {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")
}
div.owl-nav button.owl-next span {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")    
}

.owl-carousel-finished {
    height: 387px;
}
.owl-carousel-finished .owl-item {
    text-align: center;
    height: 387px;
}

/* Small devices (landscape phones, 544px and up) */
@media (min-width: 544px) {
}

/* Small devices (landscape phones, 544px and up) */
@media (max-width: 768px) {
    .navbar-expand-md .navbar-toggler {
        display: block;
    }
    .collapse:not(.show) {
        display: none !important;
    }
    nav.fixed-top .navbar-nav {
        flex-direction: column !important;
    }
    nav.fixed-top .navbar-collapse {
        -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important;
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
        -ms-flex-align: center !important;
        align-items: center !important;
        position: absolute;
        top: 150px;
        width: 100%;
        padding: 1rem !important;
    }
    .navbar.fixed-top>.container, .navbar>.container-fluid {
        flex-wrap: wrap;
    }
}

/* Medium devices (tablets, 768px and up) The navbar toggle appears at this breakpoint */
@media (min-width: 768px) {
    .navbar-collapse {
        padding: 2rem 1rem 0 1rem;
    }
    footer nav {
        height: 90px;
    }
    footer nav .navbar-nav {
        width: initial;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    nav .navbar-brand {
        max-width: initial;
    }
    nav .navbar-brand > img {
        max-width: initial;
    }
    nav.navbar li {
        text-align: center;
    }
    .container ul {
        padding-left: 30px;
    }
    .navbar-collapse {
        background-color: initial;
    }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

}