:root {
  --color-red:#ac1012;
  --color-green:rgb(34, 106, 12);
  --color-purple:rgb(122, 42, 104);
  --color-orange:rgb(205, 105, 1);
  --color-gold:rgb(229, 156, 26);
  --color-blue:rgb(0, 112, 192);
  --color-dark-blue:rgb(14, 28, 130);
  --color-deep-blue:rgb(26, 91, 124);
  --color-pink:rgb(255, 60, 52);
  --color-soft-green:rgb(28, 139, 5);
  --color-medium-green:rgb(0, 140, 129);
  --color-violet:rgb(80, 11, 123);
}

html, body {overflow-x: hidden;}

body {font-family: Lato; font-size: 16.5px; font-weight: 400; color: rgb(133,142,151);}

main {clear: both; padding: 48px 0 22px 0;}

img {max-width: 100%;}

h1, h2, h3, h4, h5, h6 {
    font-family: "Barlow Semi Condensed";
    font-weight: 600;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0 0 20px 0;
    color: #222;
    font-weight: 400;
    line-height: 1.3em;
}

h2 {
    font-size: 36px;
}

ol, ul {/*list-style: none;*/margin: 0;}

hr.fw {
    display: block;
    clear: both;
    margin: 30px 0;
    width: 100%;
    height: 1px;
    border: 0;
    background: #eee;
    opacity: 1;
}


article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

section {padding: 36px 0;}

.container {width: 96%; margin: 0 auto; max-width: 1170px;}

a {color: #555;text-decoration: none;cursor: pointer;transition: all 0.3s ease 0.1s;}
a.red {color: var(--color-red);}
a.red:hover {text-decoration: underline;}

a.red-btn,
button.red-btn{
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #ac1012;
    border-width: 1px 0;
    border: 1px solid #ac1012;
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.red-btn:active, a.red-btn:hover {
    background: #bf1214;
    border-color: #bf1214;
    text-decoration: underline;
}

a.white-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #ffffff;
    border-width: 1px 0;
    border: 2px solid #ac1012;
    color: #ac1012 !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    text-align: center;
    text-decoration: none;
}

a.white-btn:hover {
    text-decoration: underline;
    border: 2px solid #ac1012;
}

a.green-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: var(--color-green);
    border-width: 1px 0;
    border: 1px solid var(--color-green);
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.green-btn:active, a.green-btn:hover {
    opacity: .98;
    text-decoration: underline;
}

a.medium-green-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: var(--color-medium-green);
    border-width: 1px 0;
    border: 1px solid var(--color-medium-green);
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.medium-green-btn:active, a.medium-green-btn:hover {
    opacity: .75;
    text-decoration: underline;
}

a.white-green-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #fff;
    border-width: 1px 0;
    border: 1px solid var(--color-green);
    color: var(--color-green) !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.white-green-btn:active, a.white-green-btn:hover {
    opacity: .95;
    text-decoration: underline;
}

a.white-medium-green-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #fff;
    border-width: 1px 0;
    border: 1px solid var(--color-medium-green);
    color: var(--color-medium-green) !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.white-medium-green-btn:active, a.white-medium-green-btn:hover {
    background: #eee;
    text-decoration: underline;
}

a.purple-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: var(--color-purple);
    border-width: 1px 0;
    border: 1px solid var(--color-purple);
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.purple-btn:active, a.purple-btn:hover {
    opacity: .9;
    text-decoration: underline;
}

a.violet-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: var(--color-violet);
    border-width: 1px 0;
    border: 1px solid var(--color-violet);
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.violet-btn:active, a.violet-btn:hover {
    opacity: .9;
    text-decoration: underline;
}

a.white-purple-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #fff;
    border-width: 1px 0;
    border: 1px solid var(--color-purple);
    color: var(--color-purple) !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.white-purple-btnn:active, a.white-purple-btn:hover {
    opacity: .9;
    text-decoration: underline;
}

a.white-black-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #fff;
    border-width: 1px 0;
    border: 1px solid #000;
    color: #000 !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.white-black-btn:active, a.white-black-btn:hover {
    border: 1px solid #000;
    text-decoration: underline;
}

a.white-orange-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #fff;
    border-width: 1px 0;
    border: 1px solid rgb(205, 105, 1);
    color: rgb(205, 105, 1) !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.white-orange-btn:active, a.white-orange-btn:hover {
    background: #eee;
    text-decoration: underline;
}

a.white-gold-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #fff;
    border-width: 1px 0;
    border: 1px rgb(229, 156, 26);
    color: rgb(229, 156, 26) !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.white-gold-btn:active, a.white-gold-btn:hover {
    background: #eee;
    text-decoration: underline;
}

a.white-blue-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #fff;
    border-width: 1px 0;
    border: 1px solid var( --color-blue);
    color: var( --color-blue) !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.white-blue-btn:active, a.white-blue-btn:hover {
    opacity: .9;
    text-decoration: underline;
}

a.white-dblue-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #fff;
    border-width: 1px 0;
    border: 1px solid rgb(14, 28, 130);
    color: rgb(14, 28, 130) !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.white-dblue-btn:active, a.white-dblue-btn:hover {
    background: #eee;
    text-decoration: underline;
}

a.white-purple-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #fff;
    border-width: 1px 0;
    border: 1px solid rgb(14, 28, 130);
    color: rgb(80, 11, 123) !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.white-purple-btn:active, a.white-purple-btn:hover {
    background: #eee;
    text-decoration: underline;
}



a.orange-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: var(--color-orange);
    border-width: 1px 0;
    border: 1px solid rgb(205, 105, 1);
    color: #fff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.orange-btn:active, a.orange-btn:hover {
    background: rgb(225, 115, 1);
    text-decoration: underline;
}

a.pink-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: rgb(255, 60, 52);
    border-width: 1px 0;
    border: 1px solid rgb(205, 105, 1);
    color: #fff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.pink-btn:active, a.pink-btn:hover {
    background: rgb(58, 58, 58);
    border: 1px solid rgb(58, 58, 58);
    text-decoration: underline;
}

a.dark-blue-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background:var(--color-dark-blue);
    border-width: 1px 0;
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.dark-blue:active, a.dark-blue:hover {
    opacity: .75;
    text-decoration: underline;
}

a.deep-blue-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background-color:rgb(26, 91, 124);
    border-width: 1px 0;
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.deep-blue-btn:active, a.deep-blue-btn:hover {
    opacity: .75;
    background-color:rgb(26, 91, 124);
    text-decoration: underline;
}

a.soft-green-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: var( --color-soft-green);
    border-width: 1px 0;
    border: 1px solid  var( --color-soft-green);;
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

a.soft-green-btn:active, a.soft-green-btn:hover {
    opacity: .9;
    background-color: var( --color-soft-green);
    text-decoration: underline;
}

.black-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: #000;
    border-width: 1px 0;
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

.black-btn:active, a.red-btn:hover {
    opacity: .75;
    text-decoration: underline;
}

.gradient1-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: linear-gradient(to bottom,  #6a1b9a 0%,#0d47a1 100%);
    border-width: 1px 0;
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 

.gradient1-btn:hover {
    background: linear-gradient(to bottom,  #0d47a1 0%,#6a1b9a 100%);
}

.gradient2-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: linear-gradient(to bottom,  #c81d77 0%,#6a1b9a 50%,#0d47a1 100%);
    border-width: 1px 0;
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 
.gradient2-btn:hover{
    background: linear-gradient(to bottom,  #0d47a1 0%,#6a1b9a 50%,#c81d77 100%);
} 

.gradient3-btn {
    box-sizing: border-box;
    border-radius: 1.5em 1.5em 1.5em 1.5em;
    background: linear-gradient(to bottom,  #ab1717 0%,#8c00e7 100%);
    border-width: 1px 0;
    color: #ffffff !important;
    font-size: 1em;
    padding: .75em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    padding-inline: 2em;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
} 
.gradient3-btn:hover {
    background: linear-gradient(to bottom, #8c00e7 0%,#ab1717 100%);
}


.two-cols {column-count: 2;}
   
video {/*max-width: 100%; height: auto;*/ width: 100%; transform: scale(1.001); margin-right: -2px; margin-bottom: -2px;} 

footer {
    font-size: 14px;
    background-color: #3d4143;
    padding: 50px 0 0;
}

footer ul {list-style-type: none;margin: 0;padding-left: 0;}
footer ul li{border-bottom: 1px solid rgba(255, 255, 255, .1);padding-bottom: 10px; margin-bottom: 10px;}
footer ul li:last-child{border-color: transparent;}
footer ul li a {color: #858e97;display: inline-block; position: relative;}
footer ul li a:hover {color: #fff;}

footer .footer-row3 {
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding: 25px 0;
    font-size: 12px;
}

footer .site-footer-logo {float: right;}

footer .footer-row2 .social-icons {
    margin: -3px 0 4px 0;
    list-style-type: none;
}

footer .footer-row2 .social-icons li {
    margin-left: 10px;
    margin-right: 0;
    display: inline-block;
    border: none;
}

footer .footer-row2 {
    padding: 20px 0 2px 0px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 28px;
}

footer .social-icons li a {
    width: 30px;
    height: 30px;
    text-align: center;
    color: #fff;
    line-height: 30px;
}

footer .social-icons li.twitter a {background-color: rgb(0, 0, 0);}
footer .social-icons li.youtube a {background-color: rgb(205, 51, 45);}
footer .social-icons li.instagram a {background-color: rgb(63, 114, 155);}
footer .social-icons li.linkedin a {background-color: rgb(0, 127, 177);}
footer .social-icons li a:hover {opacity: 0.8;}

footer .footer-menu li {
    display: inline-block;
    margin-right: 10px;
    font-size: 12px;
    border: none;
    padding: 0;
    margin-bottom: 6px;
}
footer .footer-menu li::after {
    content: "/";
    margin-left: 10px;
}
footer .footer-menu li:last-child::after {
    content: "";
}

h4.widgettitle {
    font-family: Lato;
    text-transform: uppercase;
    border-bottom: 0;
    color: #fff;
    font-weight: 400;
    margin-bottom: 30px;
    letter-spacing: 1px;
    font-size: 15px;
    border-left: 0;
    background: none;
    padding: 0;
}
#back-to-top {
    position: fixed;
    right: -40px;
    bottom: 15px;
    background: rgba(0, 0, 0, .8);
    width: 40px;
    height: 40px;
    text-align: center;
    color: #fff;
    line-height: 43px;
    overflow: hidden;
    font-size: 17px;
    display: block;
    z-index: 1111;
    -webkit-transition: all 0.3s ease 0.2s;
    -moz-transition: all 0.3s ease 0.2s;
    -ms-transition: all 0.3s ease 0.2s;
    -o-transition: all 0.3s ease 0.2s;
    transition: all 0.3s ease 0.1s;
}
#back-to-top:hover {background-color: #C9070A;}

.topbar {
    background: #3d4143;
    padding: 5px 0;
    overflow: hidden;
}
.topbar .social-icons {
    margin-left: 15px;
    margin-top: 4px;
    list-style-type: none;
}
.topbar .social-icons li {
    display: inline-block;
}
.topbar .social-icons li a {
    font-size: 16px;
    margin-left: 15px;
    color: #ccc;
    text-align: center;
    display: block;
}
.topbar .search-form {
    float: right;
    position: relative;
    border-right: 1px solid rgba(255, 255, 255, .2);
}
.topbar .search-form:before {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 8px;
    font: 700 normal normal 14px / 1 "Font Awesome 6 Free";
    font-size: 16px;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f002";
    color: #ccc;
}
.input-group {
    position: relative;
    display: table;
    border-collapse: separate;
}
.input-group .form-control {
    height: 44px;
    margin-top: 1px;
}
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.topbar .search-form input {
    background: none;
    border: 0;
    color: #ccc;
    padding-left: 25px;
    margin-top: 0;
    height: 32px;
}
.input-group .form-control, .input-group-addon, .input-group-btn {
    display: table-cell;
}
.input-group .form-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0;
}
.topbar .search-form .btn {
    display: none;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], input[type="password"], textarea, .form-control {
    display: block;
    width: 100%;
    padding: 6px 12px;
    font-size: 14px;
    color: #555;
    line-height: 1.428571429;
    vertical-align: middle;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    -webkit-transition: border-color ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s;
    transition: border-color ease-in-out .15s;
}
/* Chrome, Safari, Edge y Opera */
input.form-control::-webkit-input-placeholder {
  color: #ccc !important;
  opacity: 1;
}

/* Firefox */
input.form-control::-moz-placeholder {
  color: #ccc !important;
  opacity: 1;
}

/* Estándar (Modernos) */
input.form-control::placeholder {
  color: #ccc !important;
  opacity: 1;
}

/* Internet Explorer 10-11 */
input.form-control:-ms-input-placeholder {
  color: #ccc !important;
}

.site-logo {
    float: left;
}

.default-logo {
    max-width: 150px;
}

.site-header {
    background: #fff;
    padding: 17px 0;
    box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.2);
    position: relative;
    z-index: 99;
    min-height: 62px;
}

#menu-toggle {
    display: none;
    background: #555;
    color: #fff;
    text-align: center;
    padding: 0 10px;
    height: 40px;
    line-height: 40px;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
}

nav ul {list-style: none;margin: 0;}

.dd-menu {
    margin: 0;
    list-style-type: none;
    display: block;
    list-style: none;
}
.dd-menu > li {
    font-size: 14px;
    font-weight: 400;
    position: relative;
    display: inline-block;
    float: left;
    margin-left: 1.9vw;
}
.dd-menu > li.megamenu {
    position: inherit !important;
    left: 0;
}
.dd-menu > li > a,
a:not([href]):not([class]) {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
    font-style: normal;
    display: inline-block;
    color: #555;
    line-height: 42px;
}
.dd-menu > li > a:hover,
a:not([href]):not([class]):hover {
    text-decoration: none;
    color: #ac1012;
    border-bottom: 3px solid #ac1012;
}
.dd-menu > li > a > i {
    font-size: 12px;
    display: inline-block;
    margin-left: 7px;
}

.dd-menu > li ul {
    margin: 0;
    list-style-type: none;
    position: absolute;
    top: 62px;
    left: -17px;
    z-index: 999;
    min-width: 100%;
    height: auto;
    background: #fff;
    float: none;
}

.dd-menu > li ul.lang-sel {
    top: 48px;
    padding: 10px 18px;
}

.dd-menu > li ul.lang-sel a:hover {
    text-decoration: underline;   
}

.dd-menu > li.megamenu > ul {
    margin: 0;
    list-style-type: none;
    left: 0 !important;
    min-width: inherit;
    width: 100%;
    top: 64px;
    padding-top: 30px;
    padding-bottom: 26px;
}


.dd-menu .megamenu-container ul {
    margin: 0;
    list-style-type: none;
    display: block !important;
    left: 0 !important;
    box-shadow: none;
    opacity: 1 !important;
    background: transparent;
    position: static !important;
    text-align: left !important;
    margin-left: 0;
    border-top: 0;
}


ul.submenu {background: #f9f9f9!important;}

.dd-menu .megamenu-container .megamenu-sub-title,
.dd-menu .megamenu-container .widgettitle,
.dd-menu .megamenu-container .widget-title {
    display: block;
    margin-bottom: 35px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #000;
    text-align: left;
    font-family: "Roboto", sans-serif;
    text-transform: uppercase;
    background: none;
    padding: 0;
    border-left: 0;
}
.dd-menu .megamenu-container .widgettitle,
.dd-menu .megamenu-container .widget-title {
    margin-bottom: 20px;
}

.dd-menu .megamenu-container ul.menu {padding-left: 0;}
.dd-menu .megamenu-container ul.menu li, .lang-sel .menu-item {padding-bottom: 8px;}
.dd-menu .megamenu-container ul.menu li:last-child {padding-bottom: 0;}
.dd-menu .megamenu-container ul.menu li a {color:#000;}
.dd-menu .megamenu-container ul.menu li a:hover {text-decoration: underline;}

.lang-sel .menu-item:first-child {padding-top: 8px;}


/* 1. Estado inicial del submenú */
.submenu {
    /* Control de visibilidad y altura */
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden; /* Evita clics accidentales cuando está oculto */
    
    /* Transición combinada */
    transition: 
        max-height 0.5s ease-in-out, 
        opacity 0.4s ease, 
        visibility 0.4s;
    
    /* Posicionamiento básico */
    position: absolute;
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-item > a:hover + .submenu,
.submenu:hover {
    max-height: 500px; /* Un valor mayor a la altura real del menú */
    opacity: 1;
    visibility: visible;
}

.hero {background-color: #f5f5f5;padding: 61px 0 49px 0;background-size: cover; background-position: center;}
.hero h1 {margin-bottom: 5px;}

.hero.jumbo {color:#fff; padding: 82px;}
.hero.jumbo h1 {color:#fff;}

.full-wide {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}


ol.breadcrumb {
    font-size: 13px;
}

ol.breadcrumb a {color: #c9070a;}
ol.breadcrumb a:hover {text-decoration:underline;color: #666;}

.breadcrumb-item.active {
    color: #858e97;
}

.breadcrumb-item+.breadcrumb-item::before {
    padding-right: 3px;
    content: ">";
    margin-left: -2px;
}

.social-share-bar {
    display: flex;
    align-items: center;
    gap: 10px;           /* espacio entre ítems */
    list-style: none;    
    padding: 0;
    margin: 0;
}

.social-share-bar li {
    display: inline-block;
}

/* texto "COMPARTIR:" */
.social-share-bar .share-title {
    font-size: 13px;
    color: #9aa0a6;
    letter-spacing: 1px;
    margin-right: 10px;
}

/* botones circulares */
.social-share-bar li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    border-radius: 50%;
    color: #fff;
    text-decoration: none;
}

/* iconos */
.social-share-bar li a i {
    font-size: 20px;
}

/* colores */
.social-share-bar li.facebook a {
    background: #3b5998;
}

.social-share-bar li.linkedin a {
    background: #0077b5;
}

.social-share-bar li.email a {
    background: #f4b400;
}

.social-share-bar li.whatsapp-share a {
    background: #25d366;
}

.social-share-bar .share-title {
    font-size: 12px;
    letter-spacing: 1px;
    opacity: .8;
}

.extra-info {
    border: 1px solid #ddd;
    border-radius: 32px;
    padding: 64px;
    font-size: 16px;
}

.extra-info a {color: rgb(201,7,10);}
.extra-info a:hover {text-decoration:underline;}

.testimonial {
    color: #fff;
    font-style: italic;
    font-size: 26px;
    text-shadow: 1px 2px 2px #777;
    text-align: center;
    padding: 76px 0 56px 0;
    background-color: #595959;
    margin-top: 36px;
}
.testimonial .author {
    font-size: 14px;
    text-align: right;
}

.case-story {
    border: 1px solid #ddd;
    border-radius: 32px;
    padding: 36px 36px 92px 36px;
    text-align: center;
    height: 100%;
    position: relative;
}

.case-story a.red-btn {
    font-size: 14px;
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
}

.case-story picture {
  display: flex;         
  align-items: center;       
  justify-content: center;    
  min-height: 210px;         
}

.case-story picture img {
  max-height: 100%;          
  width: auto;               
}

.p-block {border: 1px solid #858e97; border-radius:2px;}
.p-block .block-content {padding: 26px;}
.p-block a {border: 2px solid #3d4143; color:rgb(61, 65, 67); background-color: transparent;font-size: 12px;letter-spacing: 2px; display: block; width: 100%; text-align: center;padding: 16px 0;}
.p-block a:hover {background-color: #3d4143;color: #fff; text-decoration: underline;}


form.gcf {width: 100%;}
form.gcf .form-control::placeholder,
form.gcf input[type="text"].form-control::placeholder,
form.gcf input[type="email"].form-control::placeholder {
    font-size: 16px;
    color: #999 !important;
    opacity: 1;
}
form.gcf input,
form.gcf textarea {
    font-size: 16px;
}

.big-icons img {max-width: 260px; height:auto;width: 100%;}
.big-icons picture {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: 100%;
    max-width: 145px;
    aspect-ratio: 1 / 1;
    padding: 32px;
    box-sizing: border-box;
    margin: 0 auto;
}
.big-icons.red picture {background-color: var(--color-red);}
.big-icons.green picture {background-color: var(--color-green);}
.big-icons.medium-green picture {background-color: var(--color-medium-green);}
.big-icons.orange picture {background-color: var(--color-orange);}
.big-icons.medium-green picture {background-color: var(--color-medium-green);}
.big-icons.soft-green picture {background-color: var(--color-soft-green);}
.big-icons.dark-blue picture {background-color: var(--color-dark-blue);}
.big-icons.blue picture {background-color: var( --color-blue);} 
.big-icons.purple picture {background-color: var(--color-purple);}  
.big-icons.gold picture {background-color: var(--color-gold);}  
.big-icons.violet picture {background-color: var(--color-violet);} 

.big-icons.gradient1-circle picture {background: linear-gradient(to bottom, #6a1b9a 0%, #0d47a1 100%);}
.big-icons.gradient2-circle picture {background: linear-gradient(to bottom,  #c81d77 0%,#6a1b9a 50%,#0d47a1 100%);}
.big-icons.gradient3-circle picture {background: linear-gradient(to bottom,  #ab1717 0%,#8c00e7 100%);}


.bpeople {margin: 66px auto;}
.bpeople img {margin: 42px auto; max-width: 240px;}
.bpeople .card {border: none; padding: 28px;transition: transform 350ms ease-in-out; }
.bpeople .card p {color: rgb(133, 142, 151);}
.bpeople .card:hover {
    border-radius: 15px;
    box-shadow: rgba(0, 0, 0, 0.64) 10px 10px 120px -30px;
    transform: scale(1.05);
}

.bpcategories {
    list-style: none;
    margin-left: 0px;
    padding-left: 0px;
}

.bpcategories li {
    float: left;
    font-size: 12px;
    border-radius: 6px;
    border: 1px solid #d5d6db;
    padding: 3px 8px;
    color: #2e334d;
    margin-right: 5px;
    margin-bottom: 5px;
}

.pplweb {
    margin-top: 9.5vw !important;
    margin-left: 220px;
}

#bpeople-banner {
    padding: 0; 
    background-size: cover; 
    background-repeat: no-repeat; 
    background-position: center; 
    height: 14vw; 
    min-height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#bpeople-banner img {
    padding: 0; 
    margin: 0 auto; 
    max-width: 50%;
}

.btn {
    padding: .75em!important;
    font-size: 1em;
    padding-inline: 2em!important;
}

#myCarousel {
    max-width: 1058px !important;
    max-height: 316px !important;
}

.expandable {
    transition: transform 0.3s;    
}

.expandable:hover {
    transform: scale(1.05);
    border: none;
    -webkit-box-shadow: 10px 10px 120px -30px rgba(0, 0, 0, 0.64);
    -moz-box-shadow: 10px 10px 120px -30px rgba(0,0,0,0.64);
    box-shadow: 10px 10px 120px -30px rgba(0, 0, 0, 0.64);
}

#contact {
  /* Ajusta el valor según el alto de tu menú o el margen deseado */
  scroll-margin-top: 130px;
}

.addreses{
    background-color: #ac1012;
    color: #fff;
    padding: 32px 24px;
} 

.addreses h1{
    color: #fff;
    font-size: 22px;
}

.addreses h2{
    font-size: 1em;
    color: #fff;
    background: #000;
    padding: 3px 22px;
    border-radius: 3px;
    display: inline-block;
} 

td {
    padding: 12px;
    border: 1px solid rgb(128,128,128);
    vertical-align: top;
}

.post {
    border: 1px solid #eee;
    padding: 25px;
}

.post > a:not(.btn),
.post-excerpt > a:not(.btn),
.grid-item-inner > a:not(.btn){
    background-color: var(--color-red);
    color: #fff;
    font-size: 12px;
    padding: 6px 12px;
    border-radius: 5px;
    margin: 13px 0 38px 0;
    display: inline-block;
}

.grid-item-inner > a:not(.btn) {
    margin: 6px 0 12px 0;
}

.grid-item-inner .more-btn {
    border-radius: 3px!important;
    background-color: #fff!important;
    border: 2px solid rgb(61, 65, 67);
    color: rgb(61, 65, 67)!important;
    font-size: 14px!important;
    padding: 8px 16px!important;
}

.grid-item-inner .more-btn:hover {
    background-color: rgb(61, 65, 67)!important;
    color: #fff!important;
    text-decoration: underline;
}

.post-excerpt h4 a:hover{
    text-decoration: underline;
    color: var(--color-red);
} 


.post a:not(.btn):hover {text-decoration: underline; opacity: .9;}

.grid-item-inner {
    padding: 25px;
    border: 1px solid #eee;
    margin-top: -1px;
    background: #fff;
    width: calc(100% - 5px);
}
.grid-item-inner h4 a{font-size: 22px;line-height: 1.1;}
.grid-item-inner h4 a:hover{text-decoration: underline; color: var(--color-red);}

.sidebar {padding: 0 12px;}

.sidebar .search-form button {
    background-color: var(--color-red);
    top: 1px;
    right: 0;
    position: absolute;
    border: 0;
    height: calc(100% - 1px);
    aspect-ratio: 1.3 / 1;
    z-index: 10;
}

.sidebar h3 {
    font-size: 18px;
    background-color: rgb(245, 245, 245);
    border-left: 3px solid var(--color-red);
    margin: 32px 0;
    padding: 10px 18px;
}

.sidebar .search-form button i {color: #fff;} 

.color-red {color: var(--color-red);} 

.grilla .btn,
.post .btn {
    padding-top: .4em!important;
    padding-bottom: .3em!important;
    font-size: 1em;
}

a.page-link, .control a {color:var(--color-red);}
a.page-link:hover, .control a:hover {color:var(--color-red); text-decoration:underline;}
li.page-item.active a {background-color:rgb(102, 102, 102);}

span.simplesearch-highlight {
    background-color: rgb(255, 255, 197);
}

.simplesearch-result {
    border-bottom: 1px solid #ddd;
    padding: 28px 0 20px 0;
}

.custom-spinner {
  width: 24px;
  height: 24px;
  background-color: #545b62; /* Gris oscuro similar al botón */
  border-radius: 50%;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
}

.custom-spinner::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  background-color: white; /* El puntito blanco */
  border-radius: 50%;
  top: 4px;
  left: 50%;
  margin-left: -2px; /* Centrado horizontal respecto a su propio ancho */
  transform-origin: 2px 8px; /* Punto de pivote para que gire en círculo */
  animation: spin-dot 1.6s linear infinite;
}

@keyframes spin-dot {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.w-lg-50 {
    width: 50% !important;
}

    
    

@media only screen and (max-width: 1920px) {
    .megamenu-container .widget-inner {
        padding-left: 100px !important;
        margin-right: -140px !important;
        padding-top: 24px;
        padding-bottom: 24px;
    }
}

@media (max-width: 1023px) {
    main {
        padding: 14px 0 22px 0;
    }
    main .btn {
        font-size: .8em !important;
        padding: .65em !important;
        padding-inline: 1.5em !important;
    }
    h2 {
        font-size: 32px;
    }
    
    .topbar .social-icons {
        padding-left: 0;
        margin-left: .5em;
    }
    
    .topbar .social-icons li a {
        margin-left: 6px;
    }
    /* 1. Posicionar el botón MENU a la derecha sin que rompa todo */
    #menu-toggle {
        display: inline-block !important;
        float: right;
        background: #666 !important;
        color: #fff !important;
        padding: 0 15px;
        margin: -4px;
        text-transform: uppercase;
        font-weight: bold;
        text-decoration: none;
        position: relative;
        z-index: 10;
        margin-bottom: 10px; 
    }
    
    /* Limpiar el float para que el menú baje */
    .main-navigation {
        display: block !important;
        background-color: #555;
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.6s ease-in-out;

        /* --- CÁLCULO PARA ANULAR EL 96% Y LOS 12PX --- */
        position: relative;
        /* Forzamos el ancho de la pantalla */
        width: 100vw !important; 
        
        /* 1. Lo centramos respecto a la pantalla */
        left: 60%;
        /* 2. Lo movemos a la izquierda la mitad de la pantalla */
        transform: translateX(-50%); 
        
        /* 3. Eliminamos cualquier margen que herede de desktop */
        margin: 0 !important;
        padding: 0 !important;
    }

    .main-navigation.is-open {
        /*display: block !important;*/
        max-height: 2000px; /* Un valor lo suficientemente alto para tu contenido */
        
    }

    /* 2. Forzar que los enlaces se vean (Eliminar el efecto fantasma) */
    
    .dd-menu {
        /*
        display: block !important;
        overflow: hidden !important; 
        height: auto !important;     
        float: none !important;      
        clear: both !important;      
        padding: 0;
        margin: 19px 0px 1px -32px;
        */
        width: 100% !important; 
        padding: 0 !important;
        margin: 0 !important;
        list-style: none;
    }
    
    .dd-menu li {
        float: none !important;
        display: block !important;
        width: 100% !important;
    }

    .dd-menu li a {
        color: #ffffff !important; /* Blanco sólido */
        opacity: 1 !important;    /* Sin transparencias */
        visibility: visible !important;
        display: inline-block !important;
        padding: 7px 20px !important;
        background: none !important;
        text-align: left !important;
    }
    
    .dd-menu > li > a:hover {
        text-decoration: none;
        border-bottom: none;
    }
        
    .dd-menu > li.megamenu > ul {
        padding-top: 0;
        padding-bottom: 0;
        background-color: #777 !important;
    }
    
    .menu-item a {
        color: white !important;
        /* Añadimos padding interno para que el texto no toque el borde del teléfono */
        padding: 15px 25px !important; 
        display: flex !important;
        justify-content: space-between;
        align-items: center;
    }

    /* 3. Estilo del bloque rojo cuando se abre */
    .submenu {
        background-color: #777;
        position: relative !important; /* Quitar el absolute de desktop */
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        box-shadow: none !important;
    }
    
    ul.submenu.lang-sel {background-color: #777!important;}

    /* 4. Romper el Mega Menú (Bootstrap Reset) */
    .megamenu-container, 
    .megamenu-container .row, 
    .megamenu-container .col-6 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
/*
    .widgettitle {
        color: #ffffff !important;
        padding: 20px 20px 5px 20px !important;
        font-size: 1.1rem !important;
        text-transform: uppercase;
        display: block !important;
    }
*/

    .fa-caret-down {
        margin-left: 12px!important;
    }
    
    .megamenu-container .widget-inner {
        padding-left: 24px !important;
        padding-top: 16px;
        padding-bottom: 16px;
    }
    .dd-menu .megamenu-container .widgettitle,
    .dd-menu .megamenu-container .widget-title {
        margin-bottom: 10px;
        color:#fff;
        font-size: 16px;
    }
    .dd-menu .megamenu-container ul.menu li {
        padding-bottom: 0px;
    }   
    
    .megamenu .submenu .widget-inner {max-width: 96vw;}
    
    .hero.jumbo {
        padding: 14px;
    }
    .w-lg-50 {
        width: 100% !important;
    }
}

