:root {
    --sc-blue: #00549a;
    --sc-menu-color: #111111;
    --sc-menu-bgcolor: #ffffff;
}

html {
    font-size: 16px;
    color: #000000;
}
body {
    background-color: #ffffff;
    font-family: 'Nunito Sans', serif;
    font-weight: normal;
    position: relative;
}

h1, h2 {
    color: var(--sc-blue);
    font-size: 2.25rem;
    font-weight: 800;
}

a {
    color: inherit;
    text-decoration: none;
}
    a:hover {
        color: #ec5a29;;
        text-decoration: none;        
    }

ul.li-inline li {
    display: inline-block;
}
ul.li-list li {
    display: inherit;
}

.main-container {
    padding-left: 67px;
    padding-right: 67px;
}


.fs-1-125 {
    font-size: 1.125rem !important;
}
.fs-1-5 {
    font-size: 1.5rem !important;
}

.fw-b {
    font-weight: 700 !important;
}
.fw-xb {
    font-weight: 800 !important;
}

.fc-l {
    color: #333333;
}

.z-100 {
    z-index: 100;
}

/* .caret-lt {
    background: url(../images/icon-caret.png) no-repeat center center;
    width: 18px;
    height: 11px;
    display: inline-block;
    transform: rotate(90deg); 
}
.caret-gt {
    background: url(../images/icon-caret.png) no-repeat center center;
    width: 18px;
    height: 11px;
    display: inline-block;
    transform: rotate(-90deg);    
} */

.img-fluid.img-main {
    max-width: 40%;
}

.blue-button {
    clip-path: polygon(0% 0%, 96% 0%, 100% 50%, 96% 100%, 0% 100%);
    background-color: var(--sc-blue);
    color: #ffffff;
    padding: 0px 86px 0px 86px;
    text-decoration: none;
    position: relative;
    font-size: 1.125rem;
    font-weight: 500;
    font-weight: 800;
    height: 53px;
    display: block;
    line-height: 53px;
    margin-top: 9px;
}

    /* .blue-button span {
        padding-right: 10px;
    } */
    .blue-button:hover {
        background-color: #ec5a29;
        color: #ffffff;
        transition: 0.5s;        
    }   


.paragraph {
    font-size: 1.125rem;
    /* font-weight: 300; */
}
    .paragraph h1 {
        font-size: 1.125rem;
        margin-bottom: 1rem;
        margin-top: 4rem;            
    }
    .paragraph h2 {
        font-size: 1.125rem;
        margin-bottom: 1rem;
        margin-top: 1rem;            
    }
    .paragraph p {
        line-height: 1.125rem;
        /* margin-bottom: 0px; */
    }
        .paragraph p.title {
            font-weight: 500;
            margin-bottom: 2rem;
            margin-top: 4rem;
        }
        .paragraph p.end {
            margin-bottom: 2rem;
        }        
        
    .ques-ans a.question {
        display: block;
        margin-top: 1.5rem;
        font-weight: 500;
        width: 100%;
    }
        .ques-ans a.question::before {
            width: 26px;
            height: 26px;
            border: solid 1px var(--sc-blue);
            border-radius: 13px;        
            display: inline-block;
            line-height: 22px;
            text-align: center;
            color: var(--sc-blue);
        }
            .ques-ans a.question[aria-expanded=false]::before {
                content: '+';        
            }
            .ques-ans a.question[aria-expanded=true]::before {
                content: '-';        
            }
        .ques-ans .answer {
            padding-left: 33px;
        }
/* menu */
.menu-main {
    background-color: var(--sc-menu-bgcolor);
    border-bottom: solid 1px #101010;
    color: var(--sc-menu-color); 
}
    .menu-main .top {
        background-color: #225395;
        color: #ffffff;
        min-height: 75px; 
    }
    .menu-main .logo {
        display: inline-block;
    }
    .menu-main .items {
        padding-top: 27px;
        padding-bottom: 25px;
        align-items: self-end;
    }
        .menu-main .top .message,
        .menu-main nav {
            position: absolute;
            left: 0;
            right: 0;
            width: 100%;
            text-align: center;
        }
        .menu-main nav {
            top: 41px;
        }

    .menu-main .nav-link {
        color: var(--sc-menu-color);
        font-weight: 800;
        padding-left: 1.1rem !important;
        padding-right: 1.1rem !important;
    }
    .menu-main .navbar-nav .nav-link.active,
    .menu-main .navbar-nav .show>.nav-link,
    .menu-main .nav-link:hover {
        color: #225395;        
        border-bottom: solid 3px #225395;
        padding-bottom: 32px;
    }

    .menu-main .navbar-nav button {
        background-color: var(--sc-menu-bgcolor);
        color: var(--sc-menu-color);
        border: none;
    }
    /* .menu-main .navbar-nav .dropdown-menu {
        background-color: var(--sc-menu-bgcolor);
        border: none;
        border-radius: 0;
        color: var(--sc-menu-color);
        margin-top: -20px;
        width: 100%;
        padding-top: 10px;
    }
        .menu-main .navbar-nav .dropdown-item {
            color: var(--sc-menu-color);
            font-size: 1.4rem;
            position: relative;
            padding: 10px 0px 10px 23px;
            line-height: 1.4rem;
        }    
        .menu-main .navbar-nav .dropdown-item::before {
            content: '';
            background: url(../images/icon-caret.png) no-repeat center center;
            position: absolute;
            width: 18px;
            height: 1.2rem;
            transform: rotate(-90deg);
            left: 0px;
        }
        .menu-main .dropdown-item:focus, 
        .menu-main .dropdown-item:hover {
            background-color: inherit;
        } */
    
    .menu-main .navbar-toggler {
        border: none;
        position: absolute;
        top: 0;
        right: 28px;
        padding-left: 5px;
        padding-right: 5px;
    }
        .menu-main .navbar-toggler:focus {
            box-shadow: none;
        }

    .menu-overlay {
        position: absolute;
        top: 0;
        background-color: #333333;
        width: 100%;
        bottom: 0;
        z-index: 101;
        opacity: 0.7;
        display: none;
    }
        .menu-overlayed {
            position: fixed;
            top: 0;
            background-color: var(--sc-menu-bgcolor);
            color: var(--sc-menu-color);
            bottom: 0;
            z-index: 102;
            padding: 15px 30px;
            overflow: auto;
            display: none;
			width: 100%;
			text-align: center;
        }
        .menu-overlayed a {
            color: var(--sc-menu-color);
            font-size: 1.5rem;
            margin-bottom: 15px;
            display: inline-block;
        }
        .menu-overlayed a.active {
            border-bottom: solid 3px #225395;
        }


#home {}
    #home #slider .carousel-indicators [data-bs-target] {
        width: 64px;
        height: 8px;
        margin-right: 8px;
        margin-left: 8px;
    }
    #home #servicios h1 {
        margin-top: 120px;
        margin-bottom: 90px;
    }
    #home #servicios figure {
        display: block;
        margin-bottom: 3rem;
    }
        #home #servicios figure figcaption {
            color: #000000;
            font-size: 1.625rem;
            margin-top: 3.5rem;            
        }

    #home #productos {
        background-color: #e4e0d7;
        font-size: 1.125rem;
        margin-top: 5.3rem;
        padding-bottom: 7rem;
        padding-top: 5.3rem;
    }
    
    #home #productos .swiffy-slider {
        margin-top: 7.5rem;
    }
        #home #productos .swiffy-slider .slider-nav {
            -webkit-filter: unset;
            filter: unset;
            top: -50%;
        }

        #home #productos .swiffy-slider .slider-nav::after {
            background-image: url('../images/nav.png');
            background-repeat: no-repeat;
            background-position: center;
            background-color: #e4e0d7;
            mask: unset;
        }
        /* #home #productos .swiffy-slider figure a {
            display: block;
            text-align: center;
        } */
        #home #productos .swiffy-slider figcaption {
            font-weight: 600;
            line-height: 1.5rem;
            padding: 3rem 6.5rem;        
        }
        #home #productos .swiffy-slider .slider-indicators {
            bottom: -5rem;
        }
            #home #productos .swiffy-slider .slider-indicators>* {
                background-color: #0057a5;
                width: 65px;
                height: 9px;
            }
        
    #home #video {
        margin-top: 7.8rem;
    }
        #home #video h3 {
            font-size: 4.96rem;
            font-weight: 700;
        }
            #home #video h3 span {
                display: block;
                line-height: 6rem;
                width: 100%;
            }
            /* #home #video .blue-button {
                font-weight: 400;
                padding: 6px 44px 11px 30px;
            } */
        

    #home #video .blocks {
        margin-top: 85px;
    }
        #home #video .block .title {
            color: #676767;
            font-weight: 500;
            font-size: 2.9rem;
            margin-top: 3.125rem;
            min-height: 8.75rem;
            line-height: 2.9rem;
        }
        
    #home #clientes {
        background-color: #dbdbdb;
        margin-top: 4.5rem;
        padding-bottom: 7rem;
        padding-top: 5rem;
    }
    #home #clientes .col-auto-mw {
        max-width: 33%;
    }
    #home #clientes img {
        padding: 0 30px;
    }

/* servicios */
#servicios .brands {
    margin-top: 5rem;
}
#servicios .brands img {
    margin-bottom: 5rem;
}
    #servicios .brands .col-auto-mw {
        max-width: 33%;
    }

/* trabajos */
#trabajos figure {
    position: relative;
    text-align: center;
    margin-bottom: 3rem;
}    
    #trabajos figure:hover .overlay {
        visibility: visible;
        opacity: 1;
    }
    #trabajos .overlay {
        color: #ffffff;
        position: absolute;
        visibility: hidden;
        opacity: 0;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ec5a29;
        z-index: 2;
        transition: visibility 0s, opacity 0.5s linear;
        padding: 0.5rem;        
    }
        #trabajos .overlay .description {
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            white-space: initial;
            display: -webkit-box;
            -webkit-line-clamp: 7;
            -webkit-box-orient: vertical;
        }
        #trabajos .overlay a:hover {
            color: #ffffff;
            text-decoration: none;
        }

/* trabajao */
#trabajo #gallery .elem, 
#trabajo #gallery .elem * {
	box-sizing: border-box;
	margin: 0 !important;	
}
#trabajo #gallery .elem {
	display: inline-block;
	font-size: 0;
	width: 25%;
	/* border: 20px solid transparent; */
	/* border-bottom: none; */
	/* background: #fff; */
	padding: 10px;
	height: auto;
	background-clip: padding-box;
}
#trabajo #gallery .elem > span {
	display: block;
	cursor: pointer;
	height: 0;
	padding-bottom:	70%;
	background-size: cover;	
	background-position: center center;
}
/* #trabajo #gallery .images img {
    max-width: 12rem;
}

#trabajo .sl-overlay {
    background-color: #000;
    opacity: 0.9;
}
#trabajo .sl-wrapper .sl-counter,
#trabajo .sl-wrapper .sl-close,
#trabajo .sl-wrapper .sl-navigation button {
    color: #fff;
}

#trabajo .sl-wrapper .sl-image .sl-caption {
    background: orange;
    font-size: 1rem;    
    text-align: center;
    padding: 5px 0;
    font-weight: 500;
    position: relative;
} */

/* contacto */
#contacto {}
    #contacto .form {
        padding-right: 6rem;
    }
        #contacto form label {
            font-size: 1.25rem;
            font-weight: 600;
            margin: 10px 0 6px 0;
            width: 100%;
        }
        #contacto form input[type="text"],
        #contacto form select,
        #contacto form textarea {
            background-color: #e2e0e0;
            border: none;
            height: 50px;
            margin-bottom: 7px;
            padding: 15px;
            width: 100%;
        }
        #contacto form textarea {
            height: 12em;        
        }

        /* form button.send,
        button.pager {
            font-family: 'Fjalla One', serif;
            background-color: #000000;
            color: #f7f5f5;
            border: none;
            height: 42px;
            min-width: 120px;
            font-size: 1.2rem;
        }
            form button.send:hover,
            button.pager:hover {
                transition: 0.5s;
                background-color: #606060;
            } */

        #contacto .error {
            border: solid 1px #ff165f!important; 
        }
        #contacto form .sending {
            display: none;
            text-align: center;
        }
        #contacto form .sended {
            display: none;		
        }
        #contacto form .no-sended {
            display: none;	    
        }

/* footer */
footer {
    background-color: #071b38;
    color: #ffffff;
    font-size: 1.125rem;
    line-height: 2.5rem;
    padding-top: 4.3rem;
    padding-bottom: 0.7rem;
    position: relative;
}
    footer .custom-bullet {
        padding-left: 22px;
    }
    footer .custom-bullet li::marker  {
        color: #1a4463;        
    }
    footer .ps-block {
        padding-left: 9rem;
    }
    /* footer .sunblock {
        max-width: 365px;
    } */
    /* footer .ps-small {
        padding-left: 65px;
    }
    footer .ps-big {
        padding-left: 140px;
    }
    footer .title {
        font-weight: 500;
        margin-top: 10px;
    } */
    .copyright {
        font-size: 1rem;
        border-top: solid 2px #3f6886;
        color: #598baa;
        margin-top: 2rem;
        padding-top: 20px;
    }