@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none; }

a img {
  border: none; }

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

html {
  font-size: 18px;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  height: 100%; }

body {
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  color: #000;
  background-color: #fff;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden; }

.wrapper {
  transition: all 0.5s; }

section {
  position: relative;
  padding: 80px 0; }
section.lighted {
  background-color: #f5f5f5; }
section.paperCutBorder:before {
  content: "";
  position: absolute;
  left: 0;
  top: -19px;
  width: 100%;
  height: 31px;
  display: block;
  background: url(../img/bg-papercut.png) repeat-x 0 0;
  z-index: 3; }

.container {
  box-sizing: border-box;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px; }

p, ul, ol, dl {
  line-height: 1.4; }
p + p, p + ul, p + ol, p + dl, ul + p, ul + ul, ul + ol, ul + dl, ol + p, ol + ul, ol + ol, ol + dl, dl + p, dl + ul, dl + ol, dl + dl {
  margin-top: 20px; }

strong {
  font-weight: 900;
  color: #001689; }

h1, h2, h3, h4, h5, h6 {
  color: #70D44B;
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 30px; }
h1.blue, h2.blue, h3.blue, h4.blue, h5.blue, h6.blue {
  color: #001689; }
h1.dottedBorder, h2.dottedBorder, h3.dottedBorder, h4.dottedBorder, h5.dottedBorder, h6.dottedBorder {
  position: relative; }
h1.dottedBorder:after, h2.dottedBorder:after, h3.dottedBorder:after, h4.dottedBorder:after, h5.dottedBorder:after, h6.dottedBorder:after {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  content: "";
  font-family: "Font Awesome 6 Free";
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  bottom: -35px;
  display: block; }

h1, .h1 {
  font-size: 48px;
  font-size: 2.66667rem; }

h2, .h2 {
  font-size: 40px;
  font-size: 2.22222rem; }

h3, .h3 {
  font-size: 32px;
  font-size: 1.77778rem; }

h4, .h4 {
  font-size: 24px;
  font-size: 1.33333rem; }

h5, .h5 {
  font-size: 20px;
  font-size: 1.11111rem; }

h6, .h6 {
  font-size: 18px;
  font-size: 1rem; }

a {
  color: inherit;
  text-decoration: none;
  color: #70D44B;
  text-decoration: underline;
  cursor: pointer; }
a:hover {
  text-decoration: none; }

.btn {
  box-sizing: border-box;
  transition: all 0.5s;
  color: inherit;
  text-decoration: none;
  border-radius: 4px;
  font-size: 16px;
  font-size: 0.88889rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  display: inline-block;
  min-width: 180px;
  padding: 14px 40px;
  background-color: #001689;
  border: #001689 1px solid;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  cursor: pointer; }
.btn:hover {
  color: #001689;
  background-color: #fff; }
.btn.green {
  background-color: #70D44B;
  border-color: #70D44B; }
.btn.green:hover {
  color: #70D44B;
  background-color: #fff; }
.btn.alter2 {
  color: #000;
  background-color: #DADADA;
  border-color: #DADADA; }
.btn.alter2:hover {
  background-color: #bbb;
  border-color: #bbb; }
.btn.disabled {
  pointer-events: none;
  background-color: #B0B0B0;
  border-color: #B0B0B0;
  opacity: 0.5; }

sup {
  vertical-align: super;
  font-size: smaller; }
sup.required {
  color: #70D44B; }

img {
  display: block; }
img.imgRoundedBrd {
  border-radius: 10px; }

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden; }
.embed-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="search"], input[type="date"], textarea, select {
  box-sizing: border-box;
  transition: all 0.5s;
  font-size: 16px;
  font-size: 0.88889rem;
  border-radius: 8px;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  width: 100%;
  padding: 10px 15px;
  border: #B0B0B0 1px solid; }
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="date"]:focus, textarea:focus, select:focus {
  outline: none;
  border-color: #70D44B; }

span.error, label.error {
  font-size: 12px;
  font-size: 0.66667rem;
  color: red; }

textarea {
  min-height: 150px; }

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

span.select {
  position: relative;
  display: block; }
span.select > select {
  appearance: none;
  border-radius: 6px;
  padding-right: 46px !important; }
span.select:after {
  box-sizing: border-box;
  content: "";
  font-family: "Font Awesome 6 Free";
  font-size: 20px;
  font-size: 1.11111rem;
  color: #B0B0B0;
  position: absolute;
  right: 0px;
  top: 3px;
  padding: 7px 12px;
  pointer-events: none; }

label {
  font-size: 14px;
  font-size: 0.77778rem;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 10px; }

.fsTwoCol {
  display: flex !important;
  justify-content: space-between; }
.fsTwoCol fieldset {
  width: calc(50% - 10px); }
.fsTwoCol + .fsTwoCol, .fsTwoCol + fieldset {
  margin-top: 20px; }

.breadCrumb {
  display: flex !important; }
.breadCrumb li {
  font-size: 12px;
  font-size: 0.66667rem;
  color: #888;
  position: relative; }
.breadCrumb li + li {
  margin-top: 0;
  margin-left: 5px; }
.breadCrumb li + li:before {
  content: "/";
  margin-right: 5px; }

@-webkit-keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-moz-keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@media only screen and (max-width: 760px) {
  p, span, li, dl, td {
    font-size: 16px;
    font-size: 0.88889rem; }

  h1, .h1 {
    font-size: 32px;
    font-size: 1.77778rem; }

  h2, .h2 {
    font-size: 28px;
    font-size: 1.55556rem; }

  h3, .h3 {
    font-size: 24px;
    font-size: 1.33333rem; }

  h4, .h4 {
    font-size: 20px;
    font-size: 1.11111rem; }

  h5, .h5 {
    font-size: 18px;
    font-size: 1rem; }

  h6, .h6 {
    font-size: 16px;
    font-size: 0.88889rem; }

  section {
    padding: 40px 0; }

  .fsTwoCol {
    flex-direction: column; }
  .fsTwoCol fieldset {
    width: 100%; }
  .fsTwoCol fieldset + fieldset {
    margin-top: 20px; } }
header {
  transition: all 0.5s;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100; }
header > .container {
  position: relative;
  z-index: 1; }
header .headerBox {
  transition: all 0.5s;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  position: relative;
  width: 100%;
  padding: 20px 0; }
header .headerBoxLogo {
  transition: all 0.5s;
  display: flex !important;
  justify-content: center;
  align-items: center;
  position: relative;
  display: block;
  width: 100%;
  max-width: 190px;
  height: 60px; }
header .headerBoxLogo img {
  transition: all 0.5s;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  object-fit: contain; }
header .headerBoxLogo img.hblWhite {
  opacity: 1; }
header .headerBoxLogo img.hblColor {
  opacity: 0; }
header .headerNav {
  transition: all 0.5s;
  display: flex !important;
  justify-content: center;
  align-items: center; }
header .headerNavMenu ul {
  display: flex !important;
  align-items: center; }
header .headerNavMenu ul li > a {
  transition: all 0.5s;
  font-size: 16px;
  font-size: 0.88889rem;
  font-weight: 900;
  color: #fff;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
  padding: 17px 30px; }
header .headerNavMenu ul li.active {
  position: relative; }
header .headerNavMenu ul li.active:after {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  content: "";
  bottom: 8px;
  width: 10px;
  height: 6px;
  display: block;
  background: url("../img/selector-active.svg") no-repeat 0 0; }
header .headerNavMenu ul li + li {
  margin-left: 5px; }
header .headerExtraNav {
  display: flex !important;
  align-items: center; }
header .headerExtraNav .headerLang {
  display: flex !important;
  align-items: center;
  font-size: 16px;
  font-size: 0.88889rem;
  font-weight: 900;
  color: #fff;
  text-transform: uppercase;
  text-decoration: none;
  margin: 0 10px 0 30px; }
header .headerExtraNav .headerLang span {
  transition: all 0.5s;
  display: inline-block;
  margin-left: 5px; }
header .headerExtraNav ul {
  display: flex !important;
  align-items: center; }
header .headerExtraNav ul li a {
  box-sizing: border-box;
  transition: all 0.5s;
  border-radius: 50%;
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
  border: #fff 4px solid; }
header .headerExtraNav ul li a i {
  transition: all 0.5s;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  font-size: 18px;
  font-size: 1rem;
  color: #fff; }
header .headerExtraNav ul li a:hover {
  background-color: white; }
header .headerExtraNav ul li a:hover i {
  color: #70D44B; }
header .headerExtraNav ul li + li {
  margin-left: 10px; }
header .headerMenuMobileBtn {
  display: none; }
header.fixed {
  background-color: rgba(255, 255, 255, 0.9); }
header.fixed .headerBox {
  padding: 10px 0; }
header.fixed .headerBoxLogo {
  max-width: 120px;
  height: 40px; }
header.fixed .headerBoxLogo img.hblWhite {
  opacity: 0; }
header.fixed .headerBoxLogo img.hblColor {
  opacity: 1; }
header.fixed .headerNavMenu ul li > a {
  color: #001689; }
header.fixed .headerNavMenu ul li > a:hover {
  color: #70D44B; }
header.fixed .headerNavMenu ul li.active > a {
  color: #001689; }
header.fixed .headerNavMenu ul li.active > a:hover {
  color: #70D44B; }
header.fixed .headerExtraNav .headerLang span {
  color: #001689; }
header.fixed .headerExtraNav ul li a {
  border-color: #001689; }
header.fixed .headerExtraNav ul li a i {
  color: #001689; }
header.fixed .headerExtraNav ul li a:hover {
  border-color: #70D44B;
  background-color: #70D44B; }
header.fixed .headerExtraNav ul li a:hover i {
  color: #fff; }

@media only screen and (max-width: 1102px) {
  header .headerNavMenu ul li > a {
    padding: 15px 20px; }
  header .headerExtraNav .headerLang {
    margin-left: 20px; } }
@media only screen and (max-width: 960px) {
  header .headerBox {
    padding: 10px 0; }
  header .headerBoxLogo {
    max-width: 120px;
    height: 40px;
    z-index: 10; }
  header .headerNavMenu {
    box-sizing: border-box;
    transition: all 0.5s;
    display: flex !important;
    justify-content: center;
    align-items: center;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 0;
    background-color: #fff;
    overflow: hidden;
    z-index: 1; }
  header .headerNavMenu:before {
    transition: all 0.5s;
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    content: "";
    top: 0;
    width: 0;
    height: 3px;
    display: block;
    background-color: #001689;
    z-index: 1; }
  header .headerNavMenu img {
    transition: all 0.5s;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0; }
  header .headerNavMenu ul {
    flex-direction: column;
    position: relative;
    padding: 40px 0; }
  header .headerNavMenu ul li > a {
    font-size: 20px;
    font-size: 1.11111rem;
    color: #001689;
    background-color: rgba(179, 33, 39, 0);
    opacity: 0; }
  header .headerNavMenu ul li + li {
    margin-left: 0;
    margin-top: 10px; }
  header .headerNavMenu.opened {
    height: 100vh; }
  header .headerNavMenu.opened ul li > a {
    opacity: 1; }
  header .headerExtraNav {
    margin-right: 50px;
    z-index: 11; }
  header .headerMenuMobileBtn {
    box-sizing: border-box;
    border-radius: 6px;
    transition: all 0.5s;
    display: block;
    position: absolute;
    right: 0;
    top: 10px;
    width: 40px;
    height: 40px;
    border: #fff 1px solid;
    cursor: pointer;
    z-index: 10; }
  header .headerMenuMobileBtn span {
    transition: all 0.5s;
    display: block;
    position: absolute;
    left: 8px;
    width: 22px;
    height: 2px;
    background-color: #fff; }
  header .headerMenuMobileBtn span:nth-child(1) {
    top: 11px; }
  header .headerMenuMobileBtn span:nth-child(2) {
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%; }
  header .headerMenuMobileBtn span:nth-child(3) {
    top: 25px; }
  header .headerMenuMobileBtn:hover {
    border-color: #fff;
    background-color: #001689; }
  header .headerMenuMobileBtn:hover span {
    background-color: #fff; }
  header .headerMenuMobileBtn.active {
    border-radius: 50%; }
  header .headerMenuMobileBtn.active span:nth-child(1) {
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    top: 18px; }
  header .headerMenuMobileBtn.active span:nth-child(2) {
    width: 0; }
  header .headerMenuMobileBtn.active span:nth-child(3) {
    -moz-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    top: 18px; }
  header.fixed .headerMenuMobileBtn {
    border-color: #001689;
    background-color: #001689; }
  header.withMenuOpened .headerBoxLogo img.hblWhite {
    opacity: 0; }
  header.withMenuOpened .headerBoxLogo img.hblColor {
    opacity: 1; }
  header.withMenuOpened .headerExtraNav .headerLang span {
    color: #001689; }
  header.withMenuOpened .headerExtraNav ul li a {
    border-color: #001689; }
  header.withMenuOpened .headerExtraNav ul li a i {
    color: #001689; }
  header.withMenuOpened .headerExtraNav ul li a:hover {
    border-color: #70D44B;
    background-color: #70D44B; }
  header.withMenuOpened .headerExtraNav ul li a:hover i {
    color: #fff; }
  header.withMenuOpened .headerMenuMobileBtn {
    border-color: #001689;
    background-color: #001689; } }
footer {
  position: relative;
  color: #fff;
  background-color: #70D44B; }
footer.paperCutBorder:before {
  content: "";
  position: absolute;
  left: 0;
  top: -19px;
  width: 100%;
  height: 31px;
  display: block;
  background: url(../img/bg-papercut.png) repeat-x 0 0;
  z-index: 3; }
footer .footerBg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply; }
footer .container {
  position: relative; }
footer .footerTop {
  padding: 80px 0; }
footer .footerTopRow {
  width: 100%; }
footer .footerTopRow + .footerTopRow {
  margin-top: 40px; }
footer .footerTopLogo {
  display: table;
  margin: 0 auto; }
footer .footerTopLogo img {
  width: 100%;
  height: auto;
  max-width: 176px; }
footer .footerTopPhone {
  text-align: center; }
footer .footerTopPhone span {
  font-size: 16px;
  font-size: 0.88889rem;
  text-transform: uppercase;
  display: block; }
footer .footerTopPhone a {
  font-size: 24px;
  font-size: 1.33333rem;
  font-weight: 900;
  color: #fff;
  text-decoration: none; }
footer .footerTopPhone a:hover {
  text-decoration: underline; }
footer .footeTopRS {
  display: flex !important;
  justify-content: center;
  align-items: center; }
footer .footeTopRS li a {
  box-sizing: border-box;
  transition: all 0.5s;
  border-radius: 50%;
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
  border: #fff 4px solid; }
footer .footeTopRS li a i {
  transition: all 0.5s;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  font-size: 18px;
  font-size: 1rem;
  color: #fff; }
footer .footeTopRS li a:hover {
  background-color: white; }
footer .footeTopRS li a:hover i {
  color: #70D44B; }
footer .footeTopRS li + li {
  margin-left: 10px; }
footer .footeTopNav {
  display: flex !important;
  justify-content: center; }
footer .footeTopNav li {
  box-sizing: border-box;
  position: relative; }
footer .footeTopNav li a {
  font-size: 16px;
  font-size: 0.88889rem;
  color: #fff; }
footer .footeTopNav li a:hover {
  text-decoration: none; }
footer .footeTopNav li + li {
  margin-left: 50px; }
footer .footerBottom {
  text-align: center;
  padding: 30px 0; }
footer .footerBottom p {
  font-size: 14px;
  font-size: 0.77778rem; }
footer .footerBottom .footerBottomLinks {
  margin-top: 10px; }
footer .footerBottom .footerBottomLinks a {
  font-size: 14px;
  font-size: 0.77778rem;
  color: #fff; }
footer .footerBottom .footerBottomLinks a:hover {
  text-decoration: none; }

@media only screen and (max-width: 960px) {
  footer .footerTop {
    padding: 60px 0 10px; }
  footer .footerTopRow + .footerTopRow {
    margin-top: 20px; }
  footer .footeTopNav {
    flex-direction: column;
    justify-content: center;
    text-align: center; }
  footer .footeTopNav li + li {
    margin-left: 0;
    margin-top: 10px; } }
.sectionBanner {
  position: relative;
  width: 100%;
  height: 300px;
  padding: 0;
  overflow: hidden; }
.sectionBanner .sectBannerBg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; }
.sectionBanner .container {
  position: relative; }
.sectionBanner .sectBannerOverlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #001489;
  background: linear-gradient(0deg, #001489 0%, #2c42c2 100%);
  mix-blend-mode: multiply;
  opacity: 0.7;
  z-index: 1; }
.sectionBanner .sectBannerOverlay2 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #001489;
  background: linear-gradient(90deg, #001489 0%, rgba(0, 20, 137, 0) 50%);
  z-index: 2; }
.sectionBanner .sectBannerText {
  color: #fff;
  position: relative;
  margin-top: 130px;
  z-index: 3; }
.sectionBanner .sectBannerText h1, .sectionBanner .sectBannerText h2 {
  margin-bottom: 0; }
.sectionBanner .sectBannerText ul {
  display: flex !important; }
.sectionBanner .sectBannerText ul li {
  font-size: 14px;
  font-size: 0.77778rem;
  color: #fff;
  position: relative; }
.sectionBanner .sectBannerText ul li + li:before {
  content: "/";
  margin: 0 5px; }

.fakeBanner {
  width: 100%;
  height: 125px;
  padding: 0;
  background: #2C42C2;
  background: linear-gradient(0deg, #2c42c2 0%, #001489 100%); }

@media only screen and (max-width: 960px) {
  .sectionBanner {
    height: 260px; }
  .sectionBanner .sectBannerText {
    margin-top: 110px; }

  .fakeBanner {
    height: 90px; } }
.homeMainDL {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  height: 100vh;
  max-height: 880px;
  padding: 0;
  padding-top: 85px;
  background: url(../img/bg-banner-home.jpg) no-repeat center center;
  background-size: cover;
  overflow: hidden; }
.homeMainDL .container {
  position: relative;
  height: 100%;
  z-index: 1; }
.homeMainDL .hMainDLContent {
  display: flex !important;
  flex-direction: column;
  width: 100%;
  height: 100%; }
.homeMainDL .hMainDLTextMain {
  display: flex !important;
  align-items: center;
  width: 100%;
  height: calc(100% - 240px); }
.homeMainDL .hMainDLTextMainBox {
  width: 50%;
  max-width: 640px; }
.homeMainDL .hMainDLTextMainBox h1 {
  font-weight: 400;
  margin-bottom: 20px; }
.homeMainDL .hMainDLTextMainBox h1 strong {
  color: #fff; }
.homeMainDL .hMainDLTextMainBox p {
  color: #fff;
  width: 100%;
  max-width: 420px; }
.homeMainDL .hMainDLTextMainBox [class*="btn"] {
  margin-top: 40px; }
.homeMainDL .hMainDLTextSecundary {
  box-sizing: border-box;
  width: 100%;
  height: 240px;
  padding-top: 40px; }
.homeMainDL .hMainDLTextSecundary p {
  font-size: 12px;
  font-size: 0.66667rem;
  color: #fff;
  width: 100%;
  max-width: 420px; }
.homeMainDL .hMainDLImg {
  position: absolute;
  right: 0;
  bottom: 40px;
  width: 50%;
  max-width: 720px; }
.homeMainDL .hMainDLImg img {
  width: 100%;
  min-width: 720px;
  height: auto; }
.homeMainDL:before {
  box-sizing: border-box;
  content: "";
  position: absolute;
  left: 0;
  bottom: 240px;
  width: 100%;
  height: 2px;
  display: block;
  background: #ffffff;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #ffffff 50%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.3; }
.homeMainDL:after {
  box-sizing: border-box;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 240px;
  display: block;
  background: #000000;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px); }

.homeProducts .homeProductsBgDecor {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }
.homeProducts .homeProductsBgDecor img {
  position: absolute;
  bottom: -160px;
  right: -420px;
  opacity: 0.03; }
.homeProducts .container {
  position: relative; }
.homeProducts .hProductsGrid {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  width: calc(100% + 10px);
  margin-left: -5px;
  margin-right: -5px;
  margin-top: -160px;
  z-index: 4; }
.homeProducts .hProductsBox {
  box-sizing: border-box;
  border-radius: 12px;
  color: #000;
  text-decoration: none;
  width: calc(20% - 10px);
  height: 420px;
  position: relative;
  padding: 10px;
  margin: 5px;
  background-color: #fff;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.25); }
.homeProducts .hProductsBox:hover .hProductsBoxImg {
  height: 220px; }
.homeProducts .hProductsBox:hover .hProductsBoxTextMain h2, .homeProducts .hProductsBox:hover .hProductsBoxTextMain h3 {
  color: #001689; }
.homeProducts .hProductsBox:hover .hProductsBoxTextMain p {
  max-height: 200px;
  opacity: 1; }
.homeProducts .hProductsBox:hover .hProductsBoxTextExtra {
  max-height: 200px;
  opacity: 1; }
.homeProducts .hProductsBox.largeText:hover .hProductsBoxImg {
  height: 180px; }
.homeProducts .hProductsBoxImg {
  transition: all 0.5s;
  border-radius: 8px;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden; }
.homeProducts .hProductsBoxImg img {
  transition: all 0.5s;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover; }
.homeProducts .hProductsBoxImg:after {
  transition: all 0.5s;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: #000000;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 50%); }
.homeProducts .hProductsBoxText {
  transition: all 0.5s;
  position: absolute;
  width: calc(100% - 20px);
  bottom: 10px;
  padding: 10px 0; }
.homeProducts .hProductsBoxTextMain {
  padding: 0 10px; }
.homeProducts .hProductsBoxTextMain h2, .homeProducts .hProductsBoxTextMain h3 {
  transition: all 0.5s;
  color: #fff;
  margin-bottom: 0; }
.homeProducts .hProductsBoxTextMain p {
  transition: all 0.5s;
  font-size: 16px;
  font-size: 0.88889rem;
  max-height: 0;
  margin-top: 10px;
  overflow: hidden;
  opacity: 0; }
.homeProducts .hProductsBoxTextExtra {
  transition: all 0.5s;
  display: flex !important;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
  max-height: 0;
  padding: 0 10px;
  margin-top: 10px;
  overflow: hidden;
  opacity: 0; }
.homeProducts .hProductsBoxTextExtra span {
  font-size: 12px;
  font-size: 0.66667rem;
  font-weight: 500; }
.homeProducts .hProductsBoxTextExtra .hProductsBoxTextExtraFakeBtn {
  transition: all 0.5s;
  border-radius: 50%;
  position: relative;
  width: 40px;
  height: 40px;
  display: block;
  background-color: #70D44B; }
.homeProducts .hProductsBoxTextExtra .hProductsBoxTextExtraFakeBtn i {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  font-size: 18px;
  font-size: 1rem;
  color: #fff; }
.homeProducts .hProductsBoxTextExtra .hProductsBoxTextExtraFakeBtn:hover {
  background-color: #001689; }
.homeProducts .hProductsIntro {
  position: relative;
  text-align: center;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  margin-top: 60px;
  z-index: 1; }
.homeProducts .hProductsIntro [class*="btn"] {
  margin-top: 30px; }
.homeProducts .hProductsQuote {
  box-sizing: border-box;
  border-radius: 18px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  height: 520px;
  margin: 0 auto;
  margin-top: 60px;
  padding: 40px;
  position: relative;
  overflow: hidden;
  z-index: 1; }
.homeProducts .hProductsQuote .hProductsQuoteBG {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }
.homeProducts .hProductsQuote .hProductsQuoteBG img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; }
.homeProducts .hProductsQuote .hProductsQuoteBG:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(0, 0, 0, 0.55); }
.homeProducts .hProductsQuote .hProductsQuoteText {
  color: #fff;
  text-align: center;
  position: relative;
  width: 100%;
  max-width: 620px;
  margin: 0 auto; }
.homeProducts .hProductsQuote .hProductsQuoteText strong {
  color: #fff; }
.homeProducts .hProductsQuote .hProductsQuoteText [class*="btn"] {
  margin-top: 30px; }

.homeAbout {
  position: relative;
  color: #fff;
  background-color: #001689; }
.homeAbout .hAboutBg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }
.homeAbout .hAboutBg .hAboutBg1 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.15; }
.homeAbout .hAboutBg .hAboutBg2 {
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  left: -460px;
  opacity: 0.05; }
.homeAbout .container {
  position: relative; }
.homeAbout .hAboutText {
  display: flex !important;
  justify-content: space-between; }
.homeAbout .hAboutTextLeft {
  width: calc(50% - 20px); }
.homeAbout .hAboutTextLeft h2 {
  color: #fff; }
.homeAbout .hAboutTextLeft .hAboutTextLeftDesc {
  width: 100%;
  max-width: 520px; }
.homeAbout .hAboutTextLeft .hAboutTextLeftDesc strong {
  color: #fff; }
.homeAbout .hAboutTextRight {
  width: calc(50% - 20px); }
.homeAbout .hAboutImgs {
  display: flex !important;
  justify-content: space-between;
  margin-top: 60px; }
.homeAbout .hAboutImgsLeft {
  width: calc(50% - 20px); }
.homeAbout .hAboutImgsLeft img {
  border-radius: 12px;
  width: 100%;
  height: auto; }
.homeAbout .hAboutImgsRight {
  width: calc(50% - 20px); }
.homeAbout .hAboutImgsRight img {
  border-radius: 12px;
  width: 100%;
  height: auto; }
.homeAbout .hAboutBtn {
  display: flex !important;
  justify-content: center;
  margin-top: 60px; }

.homeContact {
  padding: 0;
  padding-top: 50px; }
.homeContact .hContactWrap {
  display: flex !important; }
.homeContact .hContactLeft {
  display: flex !important;
  align-items: center;
  width: 50%; }
.homeContact .hContactLeftIntro {
  margin-top: -25px; }
.homeContact .hContactLeftIntro [class*="btn"] {
  margin-top: 30px; }
.homeContact .hContactRight {
  width: 50%; }
.homeContact .hContactRight img {
  width: 100%;
  max-width: 280px;
  height: auto;
  margin: 0 auto;
  margin-bottom: -10px; }

@media only screen and (max-width: 1280px) {
  .homeMainDL .hMainDLImg img {
    margin-left: -100px; }

  .homeProducts .hProductsGrid {
    width: 100%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
  .homeProducts .hProductsBox {
    width: calc(33.33% - 10px); } }
@media only screen and (max-width: 960px) {
  .homeMainDL {
    height: auto;
    max-height: initial;
    padding-top: 50px;
    padding-bottom: 60px; }
  .homeMainDL .hMainDLContent {
    padding-top: 60px; }
  .homeMainDL .hMainDLTextMain {
    height: auto; }
  .homeMainDL .hMainDLTextMainBox {
    text-align: center;
    width: 100%;
    margin-left: auto;
    margin-right: auto; }
  .homeMainDL .hMainDLTextMainBox p {
    margin-left: auto;
    margin-right: auto; }
  .homeMainDL .hMainDLImg {
    position: relative;
    right: initial;
    bottom: initial;
    width: 100%;
    max-width: initial;
    margin-top: 30px; }
  .homeMainDL .hMainDLImg img {
    min-width: initial;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto; }
  .homeMainDL .hMainDLTextSecundary {
    text-align: center;
    height: auto;
    padding-top: 0;
    position: relative;
    top: -40px; }
  .homeMainDL .hMainDLTextSecundary p {
    max-width: initial; }

  .homeProducts .hProductsGrid {
    max-width: 640px;
    margin-top: -140px; }
  .homeProducts .hProductsBox {
    width: calc(50% - 10px); }
  .homeProducts .hProductsIntro {
    margin-top: 40px; }
  .homeProducts .hProductsQuote {
    margin-top: 40px; }

  .homeAbout .hAboutText {
    flex-direction: column;
    text-align: center; }
  .homeAbout .hAboutTextLeft {
    width: 100%; }
  .homeAbout .hAboutTextLeft .hAboutTextLeftDesc {
    max-width: initial; }
  .homeAbout .hAboutTextRight {
    width: 100%;
    margin-top: 20px; }
  .homeAbout .hAboutImgs {
    margin-top: 40px; }
  .homeAbout .hAboutBtn {
    margin-top: 40px; } }
@media only screen and (max-width: 760px) {
  .homeMainDL .hMainDLContent {
    padding-top: 40px; }
  .homeMainDL .hMainDLImg img {
    max-width: 320px; }
  .homeMainDL .hMainDLTextSecundary {
    top: -30px; }

  .homeProducts .homeProductsBgDecor img {
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    right: -initial; }
  .homeProducts .hProductsGrid {
    max-width: initial;
    margin-top: -100px;
    margin-left: 0;
    margin-right: 0; }
  .homeProducts .hProductsBox {
    width: 100%;
    height: auto;
    margin: 0; }
  .homeProducts .hProductsBox:hover .hProductsBoxImg {
    height: 200px; }
  .homeProducts .hProductsBox.largeText:hover .hProductsBoxImg {
    height: 200px; }
  .homeProducts .hProductsBox + .hProductsBox {
    margin-top: 20px; }
  .homeProducts .hProductsBoxImg {
    height: 200px; }
  .homeProducts .hProductsBoxText {
    position: relative;
    bottom: initial;
    width: 100%; }
  .homeProducts .hProductsBoxTextMain h2, .homeProducts .hProductsBoxTextMain h3 {
    color: #001689; }
  .homeProducts .hProductsBoxTextMain p {
    max-height: initial;
    opacity: 1; }
  .homeProducts .hProductsBoxTextExtra {
    max-height: initial;
    opacity: 1; }
  .homeProducts .hProductsQuote {
    border-radius: 12px;
    height: 480px; }

  .homeAbout .hAboutImgs {
    flex-direction: column; }
  .homeAbout .hAboutImgsLeft {
    width: 100%; }
  .homeAbout .hAboutImgsRight {
    width: 100%;
    margin-top: 20px; }

  .homeContact {
    padding-top: 40px; }
  .homeContact .hContactWrap {
    flex-direction: column; }
  .homeContact .hContactLeft {
    text-align: center;
    width: 100%; }
  .homeContact .hContactLeftIntro {
    margin-top: 0; }
  .homeContact .hContactLeftIntro [class*="btn"] {
    margin-top: 30px; }
  .homeContact .hContactRight {
    width: 100%;
    margin-top: 40px; }
  .homeContact .hContactRight img {
    max-width: 220px; } }
.aboutIntro .aboutIntroWrap {
  display: flex !important;
  align-items: center; }
.aboutIntro .aboutIntroText {
  box-sizing: border-box;
  width: 50%;
  padding-right: 30px; }
.aboutIntro .aboutIntroImg {
  box-sizing: border-box;
  width: 50%;
  padding-left: 30px; }
.aboutIntro .aboutIntroImg img {
  border-radius: 12px;
  width: 100%;
  height: 480px;
  object-fit: cover;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.25); }

.aboutCompany {
  overflow: hidden; }
.aboutCompany .aboutCompanyGrid {
  width: 100%;
  height: 960px;
  display: grid;
  gap: 30px;
  grid-template-columns: 33.33%;
  grid-template-rows: repeat(3, 1fr); }
.aboutCompany .aboutCompanyEle {
  border-radius: 12px;
  display: flex !important;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.25); }
.aboutCompany .aboutCompanyEle img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; }
.aboutCompany .aboutCompanyEle .aboutCompanyEleOverlay {
  transition: all 0.5s;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); }
.aboutCompany .aboutCompanyEle .aboutCompanyEleText {
  box-sizing: border-box;
  color: #fff;
  position: relative;
  width: 100%;
  padding: 20px; }
.aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextTitle {
  transition: all 0.5s; }
.aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextTitle i {
  transition: all 0.5s;
  border-radius: 8px;
  position: relative;
  width: 80px;
  height: 80px;
  background-color: #70D44B; }
.aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextTitle i:before {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  font-size: 40px;
  font-size: 2.22222rem; }
.aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextTitle h2, .aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextTitle h3 {
  transition: all 0.5s;
  color: #fff;
  margin-bottom: 0;
  margin-top: 10px; }
.aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextInner {
  transition: all 0.5s;
  max-height: 0;
  overflow: hidden; }
.aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextInner p, .aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextInner ul {
  font-size: 16px;
  font-size: 0.88889rem;
  font-weight: 400; }
.aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextInner ul {
  padding-left: 20px;
  list-style: disc; }
.aboutCompany .aboutCompanyEle:hover .aboutCompanyEleOverlay {
  background-color: rgba(0, 0, 0, 0.75); }
.aboutCompany .aboutCompanyEle:hover .aboutCompanyEleText .aboutCompanyEleTextTitle {
  margin-bottom: 20px; }
.aboutCompany .aboutCompanyEle:hover .aboutCompanyEleText .aboutCompanyEleTextTitle i {
  width: 40px;
  height: 40px;
  background-color: transparent; }
.aboutCompany .aboutCompanyEle:hover .aboutCompanyEleText .aboutCompanyEleTextTitle h2, .aboutCompany .aboutCompanyEle:hover .aboutCompanyEleText .aboutCompanyEleTextTitle h3 {
  padding-left: 50px;
  margin-top: -40px; }
.aboutCompany .aboutCompanyEle:hover .aboutCompanyEleText .aboutCompanyEleTextInner {
  max-height: 380px; }
.aboutCompany .aboutCompanyEle:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/3; }
.aboutCompany .aboutCompanyEle:nth-child(1) img {
  object-position: right; }
.aboutCompany .aboutCompanyEle:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2; }
.aboutCompany .aboutCompanyEle:nth-child(3) {
  grid-column: 2/3;
  grid-row: 2/3; }
.aboutCompany .aboutCompanyEle:nth-child(4) {
  grid-column: 3/4;
  grid-row: 1/3; }
.aboutCompany .aboutCompanyEle:nth-child(5) {
  grid-column: 1/4;
  grid-row: 3/4; }
.aboutCompany .aboutCompanyEle:nth-child(5) .aboutCompanyEleText {
  text-align: center; }
.aboutCompany .aboutCompanyEle:nth-child(5):hover .aboutCompanyEleText .aboutCompanyEleTextTitle h2, .aboutCompany .aboutCompanyEle:nth-child(5):hover .aboutCompanyEleText .aboutCompanyEleTextTitle h3 {
  padding-left: 0;
  margin-top: 0; }

.aboutMap {
  display: flex !important;
  align-items: center;
  position: relative;
  height: 600px;
  padding: 0;
  overflow: hidden; }
.aboutMap .aboutMapMenu {
  position: relative;
  z-index: 2; }
.aboutMap .aboutMapMenuList {
  padding: 20px;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  background-color: #001689; }
.aboutMap .aboutMapMenuList p {
  color: #fff; }
.aboutMap .aboutMapMenuList li {
  transition: all 0.5s;
  font-weight: 700;
  color: #fff;
  cursor: pointer; }
.aboutMap .aboutMapMenuList li + li {
  margin-top: 10px; }
.aboutMap .aboutMapMenuList li.active {
  color: #70D44B; }
.aboutMap .aboutMapMenuCombo {
  display: none; }
.aboutMap .aboutMapImg {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%; }
.aboutMap .aboutMapImg img {
  transition: all 0.5s;
  position: absolute;
  width: 1640px;
  height: auto; }
.aboutMap .aboutMapImg img[data-location="chi"] {
  left: -680px;
  top: -600px; }
.aboutMap .aboutMapImg img[data-location="cdmx"] {
  left: -940px;
  top: -1020px; }
.aboutMap .aboutMapImg img[data-location="jal"] {
  left: -800px;
  top: -980px; }
.aboutMap .aboutMapImg img[data-location="nl"] {
  left: -890px;
  top: -730px; }
.aboutMap .aboutMapImg img[data-location="tx"] {
  left: -1000px;
  top: -440px; }
.aboutMap .aboutMapCard {
  transition: all 0.5s;
  position: absolute; }
.aboutMap .aboutMapCard[data-location="chi"] {
  top: 30%;
  left: 49%; }
.aboutMap .aboutMapCard[data-location="cdmx"] {
  top: 44.5%;
  left: 54.7%; }
.aboutMap .aboutMapCard[data-location="jal"] {
  top: 40%;
  left: 50%; }
.aboutMap .aboutMapCard[data-location="nl"] {
  top: 39%;
  left: 56%; }
.aboutMap .aboutMapCard[data-location="tx"] {
  top: 30%;
  left: 47%; }
.aboutMap .aboutMapCard .point {
  border-radius: 50%;
  position: absolute;
  top: 80px;
  left: -78px;
  width: 16px;
  height: 16px;
  background-color: #001689; }
.aboutMap .aboutMapCard .point:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 8px;
  left: 8px;
  width: 60px;
  height: 58px;
  background: url(../img/img-mapa-pointer-line.svg) no-repeat 0 0;
  background-size: cover; }
.aboutMap .aboutMapCard .point:after {
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-color: #001689;
  animation: blinkDot 1s linear infinite; }
.aboutMap .aboutMapCard .aboutMapCardWrap {
  border-radius: 8px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5); }
.aboutMap .aboutMapCard .aboutMapCardWrap .aboutMapCardLoc {
  display: none; }
.aboutMap .aboutMapCard .aboutMapCardWrap .aboutMapCardLoc h3 {
  color: #001689;
  margin-bottom: 10px; }
.aboutMap .aboutMapCard .aboutMapCardWrap .aboutMapCardLoc ul li {
  font-weight: 700; }
.aboutMap .aboutMapCard .aboutMapCardWrap .aboutMapCardLoc.active {
  display: block;
  -webkit-animation: fade-in 0.5s ease;
  -moz-animation: fade-in 0.5s ease; }

@keyframes blinkDot {
  0% {
    width: 1px;
    height: 1px;
    background-color: #001689; }
  100% {
    width: 30px;
    height: 30px;
    background-color: rgba(0, 22, 137, 0); } }
@media only screen and (max-width: 960px) {
  .aboutIntro .aboutIntroWrap {
    flex-direction: column; }
  .aboutIntro .aboutIntroText {
    text-align: center;
    width: 100%;
    padding-right: 0; }
  .aboutIntro .aboutIntroImg {
    width: 100%;
    padding-left: 0;
    margin-top: 40px; }
  .aboutIntro .aboutIntroImg img {
    height: auto; }

  .aboutCompany .aboutCompanyGrid {
    width: 100%;
    grid-template-columns: 50%; }
  .aboutCompany .aboutCompanyEle:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2; }
  .aboutCompany .aboutCompanyEle:nth-child(2) {
    grid-column: 2/3;
    grid-row: 1/2; }
  .aboutCompany .aboutCompanyEle:nth-child(3) {
    grid-column: 1/2;
    grid-row: 2/3; }
  .aboutCompany .aboutCompanyEle:nth-child(4) {
    grid-column: 2/3;
    grid-row: 2/3; }
  .aboutCompany .aboutCompanyEle:nth-child(5) {
    grid-column: 1/3;
    grid-row: 3/4; }
  .aboutCompany .aboutCompanyEle:nth-child(5):hover .aboutCompanyEleText .aboutCompanyEleTextTitle h2, .aboutCompany .aboutCompanyEle:nth-child(5):hover .aboutCompanyEleText .aboutCompanyEleTextTitle h3 {
    padding-left: 0;
    margin-top: 0; } }
@media only screen and (max-width: 760px) {
  .aboutCompany .aboutCompanyGrid {
    display: block;
    height: auto; }
  .aboutCompany .aboutCompanyEle .aboutCompanyEleOverlay {
    background-color: rgba(0, 0, 0, 0.75); }
  .aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextTitle {
    display: flex !important;
    align-items: center;
    margin-bottom: 20px; }
  .aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextTitle i {
    width: 40px;
    height: 40px;
    margin-right: 10px;
    background-color: transparent; }
  .aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextTitle h2, .aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextTitle h3 {
    margin-top: 0;
    padding-left: 0; }
  .aboutCompany .aboutCompanyEle .aboutCompanyEleText .aboutCompanyEleTextInner {
    max-height: initial; }
  .aboutCompany .aboutCompanyEle:hover .aboutCompanyEleText .aboutCompanyEleTextTitle h2, .aboutCompany .aboutCompanyEle:hover .aboutCompanyEleText .aboutCompanyEleTextTitle h3 {
    margin-top: 0;
    padding-left: 0; }
  .aboutCompany .aboutCompanyEle:nth-child(5) .aboutCompanyEleText {
    text-align: left; }
  .aboutCompany .aboutCompanyEle + .aboutCompanyEle {
    margin-top: 20px; }

  .aboutMap .aboutMapMenu {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%; }
  .aboutMap .aboutMapMenuList {
    display: none; }
  .aboutMap .aboutMapMenuCombo {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 20px;
    display: block;
    background-color: #001689; }
  .aboutMap .aboutMapImg img {
    width: 1220px; }
  .aboutMap .aboutMapImg img[data-location="chi"] {
    left: -520px;
    top: -520px; }
  .aboutMap .aboutMapImg img[data-location="cdmx"] {
    left: -780px;
    top: -765px; }
  .aboutMap .aboutMapImg img[data-location="jal"] {
    left: -630px;
    top: -660px; }
  .aboutMap .aboutMapImg img[data-location="nl"] {
    left: -720px;
    top: -680px; }
  .aboutMap .aboutMapImg img[data-location="tx"] {
    left: -710px;
    top: -390px; }
  .aboutMap .aboutMapCard[data-location="chi"] {
    top: 27%;
    left: 38%; }
  .aboutMap .aboutMapCard[data-location="cdmx"] {
    top: 48%;
    left: 37%; }
  .aboutMap .aboutMapCard[data-location="jal"] {
    top: 60%;
    left: 30%; }
  .aboutMap .aboutMapCard[data-location="nl"] {
    top: 19%;
    left: 45%; }
  .aboutMap .aboutMapCard[data-location="tx"] {
    top: 30%;
    left: 47%; }
  .aboutMap .aboutMapCard .point {
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: -35px; }
  .aboutMap .aboutMapCard .point:before {
    display: none; }
  .aboutMap .aboutMapCard .aboutMapCardWrap {
    padding: 15px; } }
.productList .productComp {
  display: inline-block;
  clear: both;
  width: 100%; }
.productList .productCompMenu {
  box-sizing: border-box;
  float: left;
  position: sticky;
  top: 120px;
  width: 320px;
  padding-right: 40px; }
.productList .productCompMenu ul li {
  transition: all 0.5s;
  display: flex !important;
  color: #001689;
  font-weight: 700;
  position: relative;
  width: 100%;
  cursor: pointer; }
.productList .productCompMenu ul li:after {
  content: "";
  flex: 1;
  margin-bottom: 6px;
  margin-left: 5px;
  margin-right: 25px;
  border-bottom: #B0B0B0 1px dashed; }
.productList .productCompMenu ul li span {
  border-radius: 4px;
  position: absolute;
  right: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  background-color: #70D44B; }
.productList .productCompMenu ul li span em {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  font-size: 10px;
  font-size: 0.55556rem;
  font-weight: 700;
  color: #fff; }
.productList .productCompMenu ul li:hover {
  text-decoration: underline; }
.productList .productCompMenu ul li + li {
  margin-top: 10px; }
.productList .productCompList {
  float: right;
  display: inline-block;
  position: relative;
  width: calc(100% - 320px); }
.productList .productCompListTitle {
  display: none; }
.productList .productCompListTitle.active {
  display: block;
  animation: fade-in 0.5s ease; }
.productList .productCompListGrid {
  display: flex !important;
  flex-wrap: wrap;
  width: calc(100% + 20px);
  margin: -10px; }
.productList .productCompListGridEle {
  color: #000;
  text-align: center;
  text-decoration: none;
  position: relative;
  width: calc(33.33% - 20px);
  margin: 10px; }
.productList .productCompListGridEle.disabled {
  opacity: 0 !important;
  pointer-events: none;
  display: none; }
.productList .productCompListGridEle.disabled.active {
  display: none !important; }
.productList .productCompListGridEle.active {
  display: block !important;
  animation: fade-in 0.5s ease; }
.productList .productCompListGridEle .productCompListGridEleImg {
  display: flex !important;
  align-items: center;
  border-radius: 12px;
  width: 100%;
  height: 340px;
  margin-bottom: 20px;
  overflow: hidden;
  box-shadow: 0 5px 40px 0 rgba(0, 0, 0, 0.1); }
.productList .productCompListGridEle .productCompListGridEleImg img {
  transition: all 0.5s;
  width: 100%;
  height: 100%;
  object-fit: contain; }
.productList .productCompListGridEle span {
  font-size: 14px;
  font-size: 0.77778rem;
  color: #001689;
  font-weight: 700; }
.productList .productCompListGridEle p {
  font-weight: 700;
  margin-top: 5px; }
.productList .productCompListGridEle:hover .productCompListGridEleImg img {
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1); }
.productList .productCompListGridEle:hover p {
  text-decoration: underline; }

.productDetail {
  padding-top: 50px; }
.productDetail .productDetailComp {
  display: flex !important;
  margin-top: 40px; }
.productDetail .productDetailCompImg {
  box-sizing: border-box;
  width: 50%;
  padding-right: 60px; }
.productDetail .productDetailCompImg img {
  border-radius: 20px;
  width: 100%;
  height: auto;
  box-shadow: 0 5px 40px 0 rgba(0, 0, 0, 0.1); }
.productDetail .productDetailCompText {
  box-sizing: border-box;
  width: 50%;
  padding-top: 40px; }
.productDetail .productDetailCompText span.pdctCat {
  border-radius: 4px;
  font-size: 14px;
  font-size: 0.77778rem;
  font-weight: 700;
  color: #fff;
  padding: 5px 10px;
  background-color: #70D44B; }
.productDetail .productDetailCompText h1, .productDetail .productDetailCompText h2 {
  margin-top: 10px; }
.productDetail .productDetailCompText ul.pdctFeat {
  margin-top: 30px; }
.productDetail .productDetailCompText ul.pdctFeat li {
  position: relative;
  padding-left: 30px; }
.productDetail .productDetailCompText ul.pdctFeat li:before {
  border-radius: 4px;
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  display: block;
  background-color: #70D44B; }
.productDetail .productDetailCompText ul.pdctFeat li:after {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-size: 14px;
  font-size: 0.77778rem;
  color: #fff;
  position: absolute;
  left: 4px;
  top: 3px; }
.productDetail .productDetailCompText ul.pdctFeat li + li {
  margin-top: 10px; }
.productDetail .productDetailCompText .productDetailCompTextShare {
  display: flex !important;
  align-items: center;
  margin-top: 30px; }
.productDetail .productDetailCompText .productDetailCompTextShare ul {
  display: flex !important;
  align-items: center;
  margin-top: 0;
  margin-left: 20px; }
.productDetail .productDetailCompText .productDetailCompTextShare ul li a, .productDetail .productDetailCompText .productDetailCompTextShare ul li span {
  box-sizing: border-box;
  transition: all 0.5s;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  position: relative;
  width: 40px;
  height: 40px;
  display: block;
  background-color: #001689; }
.productDetail .productDetailCompText .productDetailCompTextShare ul li a i, .productDetail .productDetailCompText .productDetailCompTextShare ul li span i {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%; }
.productDetail .productDetailCompText .productDetailCompTextShare ul li a:hover, .productDetail .productDetailCompText .productDetailCompTextShare ul li span:hover {
  background-color: #70D44B; }
.productDetail .productDetailCompText .productDetailCompTextShare ul li + li {
  margin-top: 0;
  margin-left: 10px; }
.productDetail .productDetailTable {
  margin-top: 40px; }
.productDetail .productDetailTable table {
  width: 100%; }
.productDetail .productDetailTable table thead th {
  font-size: 14px;
  font-size: 0.77778rem;
  font-weight: 700;
  color: #001689;
  text-align: center;
  text-transform: uppercase;
  padding: 15px 20px;
  border-bottom: #70D44B 1px solid; }
.productDetail .productDetailTable table tbody tr:nth-child(even) td {
  background-color: #f5f5f5; }
.productDetail .productDetailTable table tbody tr.active td {
  color: #fff;
  background-color: #001689; }
.productDetail .productDetailTable table tbody tr.active td a {
  color: #fff; }
.productDetail .productDetailTable table tbody td {
  font-size: 14px;
  font-size: 0.77778rem;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  padding: 15px 20px; }

.productsRelated {
  padding-top: 0; }
.productsRelated .productsRelatedGrid {
  display: flex !important;
  flex-wrap: wrap;
  width: calc(100% + 20px);
  margin: -10px; }
.productsRelated .productsRelatedGridEle {
  color: #000;
  text-align: center;
  text-decoration: none;
  position: relative;
  width: calc(25% - 20px);
  margin: 10px; }
.productsRelated .productsRelatedGridEle .productsRelatedGridEleImg {
  display: flex !important;
  align-items: center;
  border-radius: 12px;
  width: 100%;
  height: 340px;
  margin-bottom: 20px;
  overflow: hidden;
  box-shadow: 0 5px 40px 0 rgba(0, 0, 0, 0.1); }
.productsRelated .productsRelatedGridEle .productsRelatedGridEleImg img {
  transition: all 0.5s;
  width: 100%;
  height: 100%;
  object-fit: contain; }
.productsRelated .productsRelatedGridEle span {
  font-size: 14px;
  font-size: 0.77778rem;
  color: #001689;
  font-weight: 700; }
.productsRelated .productsRelatedGridEle p {
  font-weight: 700;
  margin-top: 5px; }
.productsRelated .productsRelatedGridEle:hover .productsRelatedGridEleImg img {
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1); }
.productsRelated .productsRelatedGridEle:hover p {
  text-decoration: underline; }

@media only screen and (max-width: 1200px) {
  .productList .productCompListGridEle {
    width: calc(50% - 20px); }

  .productsRelated .productsRelatedGridEle {
    width: calc(50% - 20px); } }
@media only screen and (max-width: 960px) {
  .productList .productCompListTitle {
    text-align: center; }
  .productList .productComp {
    display: block; }
  .productList .productCompMenu {
    box-sizing: border-box;
    text-align: center;
    top: 60px;
    width: calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
    padding: 10px 20px 20px;
    padding-right: 20px;
    float: none;
    z-index: 4;
    background-color: rgba(255, 255, 255, 0.9); }
  .productList .productCompMenu h2 {
    margin-bottom: 15px; }
  .productList .productCompMenu ul {
    display: flex !important;
    justify-content: center;
    overflow: auto;
    padding-bottom: 5px; }
  .productList .productCompMenu ul li {
    align-items: center;
    font-size: 14px;
    font-size: 0.77778rem;
    border-radius: 15px;
    white-space: nowrap;
    color: #fff;
    width: auto;
    margin: 5px;
    padding: 5px 10px;
    background-color: #001689; }
  .productList .productCompMenu ul li span {
    position: relative;
    right: initial;
    top: initial;
    margin-left: 5px;
    display: none; }
  .productList .productCompMenu ul li:after {
    display: none; }
  .productList .productCompMenu ul li:hover {
    text-decoration: none; }
  .productList .productCompMenu ul li.active {
    background-color: #70D44B; }
  .productList .productCompMenu ul li + li {
    margin-top: 5px; }
  .productList .productCompMenu ul::-webkit-scrollbar {
    -webkit-appearance: none;
    height: 4px; }
  .productList .productCompMenu ul::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.3); }
  .productList .productCompList {
    width: 100%;
    float: none;
    display: block;
    margin-top: 15px; }
  .productList .productCompListGridEle.disabled {
    display: none !important; }

  .productDetail .productDetailComp {
    flex-direction: column; }
  .productDetail .productDetailCompImg {
    width: 100%;
    padding-right: 0; }
  .productDetail .productDetailCompImg img {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto; }
  .productDetail .productDetailCompText {
    width: 100%; }
  .productDetail .productDetailCompText .productDetailCompTextShare {
    flex-direction: column; }
  .productDetail .productDetailCompText .productDetailCompTextShare ul {
    margin-left: 0;
    margin-top: 10px; }
  .productDetail .productDetailTable {
    overflow: auto;
    padding-bottom: 5px; }
  .productDetail .productDetailTable::-webkit-scrollbar {
    -webkit-appearance: none;
    height: 4px; }
  .productDetail .productDetailTable::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.3); } }
@media only screen and (max-width: 640px) {
  .productList .productCompListGridEle {
    width: 100%;
    margin: 0; }
  .productList .productCompListGridEle .productCompListGridEleImg {
    height: 280px; }
  .productList .productCompListGridEle + .productCompListGridEle {
    margin-top: 20px; }
  .productList .productCompMenu ul {
    justify-content: flex-start; }

  .productsRelated .productsRelatedGridEle {
    width: 100%;
    margin: 0; }
  .productsRelated .productsRelatedGridEle .productsRelatedGridEleImg {
    height: 280px; }
  .productsRelated .productsRelatedGridEle + .productsRelatedGridEle {
    margin-top: 20px; } }
.contactBudget .contactBudgetTitle {
  text-align: center; }
.contactBudget .contactBudgetTitle p {
  width: 100%;
  max-width: 820px;
  margin: 0 auto; }
.contactBudget .contactBudgetSteps {
  display: flex !important;
  justify-content: center;
  margin-top: 80px; }
.contactBudget .contactBudgetSteps li {
  box-sizing: border-box;
  transition: all 0.5s;
  border-radius: 50%;
  position: relative;
  width: 60px;
  height: 60px;
  border: #B0B0B0 6px solid;
  background-color: #fff; }
.contactBudget .contactBudgetSteps li span {
  transition: all 0.5s;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  font-size: 24px;
  font-size: 1.33333rem;
  font-weight: 700;
  color: #B0B0B0; }
.contactBudget .contactBudgetSteps li i {
  transition: all 0.5s;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  font-size: 24px;
  font-size: 1.33333rem;
  color: #fff;
  opacity: 0; }
.contactBudget .contactBudgetSteps li strong {
  transition: all 0.5s;
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  font-size: 14px;
  font-size: 0.77778rem;
  font-weight: 700;
  color: #B0B0B0;
  white-space: nowrap;
  bottom: -30px; }
.contactBudget .contactBudgetSteps li:before {
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  content: "";
  left: 54px;
  width: 200px;
  height: 6px;
  display: block;
  background-color: #B0B0B0; }
.contactBudget .contactBudgetSteps li:after {
  transition: all 0.5s;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  content: "";
  left: 54px;
  width: 0;
  height: 6px;
  display: block;
  background-color: #70D44B; }
.contactBudget .contactBudgetSteps li:last-child:before {
  display: none !important; }
.contactBudget .contactBudgetSteps li:last-child:after {
  display: none !important; }
.contactBudget .contactBudgetSteps li.active {
  border-color: #70D44B; }
.contactBudget .contactBudgetSteps li.active span {
  color: #70D44B; }
.contactBudget .contactBudgetSteps li.active strong {
  color: #70D44B; }
.contactBudget .contactBudgetSteps li.active:after {
  width: 200px; }
.contactBudget .contactBudgetSteps li.done {
  border-color: #70D44B;
  background-color: #70D44B; }
.contactBudget .contactBudgetSteps li.done span {
  color: #70D44B;
  opacity: 0; }
.contactBudget .contactBudgetSteps li.done i {
  opacity: 1; }
.contactBudget .contactBudgetSteps li.done strong {
  color: #70D44B; }
.contactBudget .contactBudgetSteps li.done:after {
  width: 200px; }
.contactBudget .contactBudgetSteps li + li {
  margin-left: 200px; }
.contactBudget .contactBudgetBoxWrap {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  margin-top: 70px;
  display: none; }
.contactBudget .contactBudgetBoxWrap.middle {
  max-width: 840px; }
.contactBudget .contactBudgetBoxWrap.active {
  display: block;
  animation: fade-in 0.5s ease; }
.contactBudget .contactBudgetBox {
  box-sizing: border-box;
  border-radius: 8px;
  display: flex !important;
  justify-content: space-between;
  position: relative;
  width: 100%;
  padding: 40px;
  border: #B0B0B0 1px solid; }
.contactBudget .contactBudgetBoxProducts {
  box-sizing: border-box;
  width: calc(60% - 20px); }
.contactBudget .contactBudgetBoxProducts label {
  font-size: 18px;
  font-size: 1rem;
  display: block;
  margin-bottom: 10px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart1 .cbbpInitial label {
  text-align: center; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart1 .cbbpInitial .select {
  width: 100%;
  max-width: 320px;
  margin: 0 auto; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart1 .cbbpInitial + .cbbpInitial {
  margin-top: 20px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 {
  box-sizing: border-box;
  border-radius: 8px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  margin-top: 20px;
  padding: 30px 20px;
  background-color: #f5f5f5; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpImg img {
  display: none; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpImg img.active {
  display: block;
  -webkit-animation: fade-in 0.5s ease;
  -moz-animation: fade-in 0.5s ease; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpFeatures {
  width: 100%;
  max-width: 320px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpFeatures .cbbpFeatFS .select {
  width: 100%; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpFeatures .cbbpFeatFS .cbbpFeatFSNumber {
  display: flex !important; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpFeatures .cbbpFeatFS .cbbpFeatFSNumber input {
  width: 100px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpFeatures .cbbpFeatFS .cbbpFeatFSNumber span {
  font-size: 12px;
  font-size: 0.66667rem;
  font-weight: 700;
  color: #757575;
  display: inline-block;
  margin: 12px 0 0 10px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpFeatures .cbbpFeatFS.cbbpFeatFSOther {
  display: none; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpFeatures .cbbpFeatFS.cbbpFeatFSOther.active {
  display: block;
  -webkit-animation: fade-in 0.5s ease;
  -moz-animation: fade-in 0.5s ease; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpFeatures .cbbpFeatFS + .cbbpFeatFS {
  margin-top: 20px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2:after {
  transition: all 0.5s;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8); }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2.active:after {
  opacity: 0;
  pointer-events: none; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 {
  box-sizing: border-box;
  display: flex !important;
  position: relative;
  margin-top: 20px;
  padding-right: 135px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach {
  box-sizing: border-box;
  border-radius: 8px;
  display: flex !important;
  align-items: center;
  position: relative;
  width: 215px;
  padding: 10px;
  background-color: #f5f5f5;
  cursor: pointer; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachImg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
  z-index: 1; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachAsset {
  width: 68px;
  height: 60px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachAsset i {
  font-size: 60px;
  font-size: 3.33333rem;
  color: #B0B0B0; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachAsset #cbbpAttachAssetImg {
  position: relative;
  width: 100%; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachAsset #cbbpAttachAssetImg img {
  border-radius: 4px;
  width: 68px;
  height: 60px;
  object-fit: cover; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachAsset #cbbpAttachAssetImg input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachLabel {
  box-sizing: border-box;
  width: calc(100% - 68px);
  padding-left: 10px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachLabel strong {
  font-size: 18px;
  font-size: 1rem;
  font-weight: 700;
  display: block; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachLabel span {
  font-size: 12px;
  font-size: 0.66667rem;
  font-weight: 700;
  display: block; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachLabel #cbbpAttachAssetName {
  font-size: 12px;
  font-size: 0.66667rem;
  font-weight: 700;
  display: block; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach .cbbpAttachLabel #cbbpAttachAssetName p {
  word-break: break-all; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpInk {
  box-sizing: border-box;
  width: calc(100% - 215px);
  padding-left: 20px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpInk .select {
  width: 100%;
  max-width: 140px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAddProduct {
  display: flex !important;
  align-items: center;
  position: absolute;
  right: 0;
  top: 20px;
  width: 115px;
  height: 40px;
  cursor: pointer; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAddProduct span {
  transition: all 0.5s;
  font-size: 12px;
  font-size: 0.66667rem;
  font-weight: 700;
  color: #70D44B;
  text-align: right;
  text-transform: uppercase;
  line-height: 1;
  margin-right: 10px; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAddProduct i {
  transition: all 0.5s;
  font-size: 40px;
  font-size: 2.22222rem;
  color: #70D44B; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAddProduct:hover span {
  color: #001689; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAddProduct:hover i {
  color: #001689; }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3:after {
  transition: all 0.5s;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8); }
.contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3.active:after {
  opacity: 0;
  pointer-events: none; }
.contactBudget .contactBudgetBoxList {
  box-sizing: border-box;
  border-radius: 8px;
  width: calc(40% - 20px);
  padding: 30px;
  border: #B0B0B0 1px solid;
  background-color: #fff; }
.contactBudget .contactBudgetBoxList h3 {
  font-size: 24px;
  font-size: 1.33333rem;
  color: #001689;
  margin-bottom: 20px; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap {
  position: relative;
  width: 100%;
  height: calc(100% - 50px);
  max-height: 390px;
  overflow: auto; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox {
  box-sizing: border-box;
  display: flex !important;
  border-radius: 8px;
  position: relative;
  padding: 30px 20px 20px 0;
  background-color: #f5f5f5;
  border: transparent 1px solid; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxDeleteBtn {
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 30px;
  cursor: pointer; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxDeleteBtn i {
  transition: all 0.5s;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxDeleteBtn:hover i {
  color: #70D44B; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxImg {
  width: 28%; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxImg img {
  width: 100%;
  height: auto; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxText {
  box-sizing: border-box;
  width: calc(72% - 60px);
  padding: 0 20px 0 0; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxText .cbblBoxTextRow span {
  font-size: 11px;
  font-size: 0.61111rem;
  display: block; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxText .cbblBoxTextRow p {
  font-size: 14px;
  font-size: 0.77778rem;
  font-weight: 700;
  margin-top: -2px !important; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxText .cbblBoxTextRow + .cbblBoxTextRow {
  margin-top: 10px; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxRef {
  width: 60px; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxRef span {
  font-size: 11px;
  font-size: 0.61111rem;
  text-align: center;
  display: block;
  margin-bottom: 10px; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxRef img {
  width: 100%;
  height: auto; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox:nth-child(even) {
  background-color: #fff;
  border-color: #B0B0B0; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox + .cbblBox {
  margin-top: 10px; }
.contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblNoProd {
  box-sizing: border-box;
  display: flex !important;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }
.contactBudget .contactBudgetBoxForm {
  box-sizing: border-box;
  border-radius: 8px;
  width: 100%;
  padding: 30px;
  background-color: #f5f5f5; }
.contactBudget .contactBudgetBoxLoading {
  transition: all 0.5s;
  border-radius: 8px;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  display: none; }
.contactBudget .contactBudgetBoxLoading img {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%; }
.contactBudget .contactBudgetBoxSuccess {
  margin: 0 auto; }
.contactBudget .contactBudgetBoxSuccess .contactBudgetBoxSuccessIcon {
  position: relative;
  margin: 0 auto;
  display: table; }
.contactBudget .contactBudgetBoxSuccess .contactBudgetBoxSuccessIcon .contactBudgetBoxSuccIco1 {
  position: relative; }
.contactBudget .contactBudgetBoxSuccess .contactBudgetBoxSuccessIcon .contactBudgetBoxSuccIco1 i {
  font-size: 72px;
  font-size: 4rem;
  color: #B0B0B0; }
.contactBudget .contactBudgetBoxSuccess .contactBudgetBoxSuccessIcon .contactBudgetBoxSuccIco2 {
  border-radius: 50%;
  position: absolute;
  right: -10px;
  bottom: 0;
  background-color: #fff; }
.contactBudget .contactBudgetBoxSuccess .contactBudgetBoxSuccessIcon .contactBudgetBoxSuccIco2 i {
  font-size: 32px;
  font-size: 1.77778rem;
  color: #70D44B; }
.contactBudget .contactBudgetBoxSuccess .contactBudgetBoxSuccessText {
  text-align: center; }
.contactBudget .contactBudgetBoxSuccess .contactBudgetBoxSuccessText h3 {
  margin-bottom: 20px; }
.contactBudget .contactBudgetBoxSuccess .contactBudgetBoxSuccessText p {
  width: 100%;
  max-width: 480px; }
.contactBudget .contactBudgetBtns {
  display: flex !important;
  margin-top: 20px; }
.contactBudget .contactBudgetBtns.center {
  justify-content: center; }
.contactBudget .contactBudgetBtns.spaceBetween {
  justify-content: space-between; }

.contactForm {
  position: relative;
  color: #fff;
  background-color: #001689; }
.contactForm .contactFormBG {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }
.contactForm .contactFormBG .contactFormBG1 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.15; }
.contactForm .contactFormBG .contactFormBG2 {
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  left: -460px;
  opacity: 0.05; }
.contactForm .container {
  position: relative; }
.contactForm .contactFormWrap {
  display: flex !important;
  justify-content: space-between; }
.contactForm .contactFormText {
  width: calc(50% - 20px); }
.contactForm .contactFormText h2 {
  color: #fff; }
.contactForm .contactFormText strong {
  color: #fff; }
.contactForm .contactFormText .contactFormTextData {
  margin-top: 40px; }
.contactForm .contactFormText .contactFormTextData a {
  display: flex !important;
  align-items: center;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  position: relative; }
.contactForm .contactFormText .contactFormTextData a i {
  border-radius: 50%;
  position: relative;
  width: 40px;
  height: 40px;
  border: #fff 4px solid; }
.contactForm .contactFormText .contactFormTextData a i:before {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%; }
.contactForm .contactFormText .contactFormTextData a span {
  margin-left: 10px;
  white-space: nowrap; }
.contactForm .contactFormText .contactFormTextData a + a {
  margin-top: 10px; }
.contactForm .contactFormText .contactFormTextData a:hover {
  text-decoration: underline; }
.contactForm .contactFormForm {
  width: calc(50% - 20px); }
.contactForm .contactFormForm .btnCont {
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
  margin-top: 20px; }
.contactForm .contactFormForm .btnCont .form-loader-w {
  margin-right: 10px;
  display: none; }
.contactForm .contactFormForm .btnCont .msg {
  font-size: 14px;
  font-size: 0.77778rem;
  font-weight: 700;
  margin-right: 10px; }

@media only screen and (max-width: 1280px) {
  .contactBudget .contactBudgetBoxProducts {
    width: calc(55% - 20px); }
  .contactBudget .contactBudgetBoxList {
    width: calc(45% - 20px); } }
@media only screen and (max-width: 960px) {
  .contactBudget .contactBudgetSteps {
    margin-top: 60px; }
  .contactBudget .contactBudgetBoxProducts {
    width: 100%; }
  .contactBudget .contactBudgetBoxList {
    border-radius: 0px;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 20px;
    z-index: 5; }
  .contactBudget .contactBudgetBoxList h3 {
    margin-bottom: 10px; }
  .contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap {
    height: auto;
    max-height: 270px; }
  .contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox {
    padding: 10px 60px 10px 10px; }
  .contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxImg {
    width: 80px; }
  .contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxImg img {
    width: auto;
    max-height: 80px; }
  .contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxText {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    width: calc(100% - 120px); }
  .contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxText .cbblBoxTextRow {
    margin: 5px 10px; }
  .contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxText .cbblBoxTextRow + .cbblBoxTextRow {
    margin-top: 5px; }
  .contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblBox .cbblBoxDeleteBtn {
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    width: 50px;
    height: 50px; }
  .contactBudget .contactBudgetBoxList .contactBudgetBoxListWrap .cbblNoProd {
    justify-content: flex-start;
    position: relative;
    left: initial;
    top: initial; } }
@media only screen and (max-width: 760px) {
  .contactBudget .contactBudgetSteps {
    margin-top: 40px; }
  .contactBudget .contactBudgetSteps li {
    width: 40px;
    height: 40px;
    border-width: 4px; }
  .contactBudget .contactBudgetSteps li span {
    font-size: 18px;
    font-size: 1rem; }
  .contactBudget .contactBudgetSteps li strong {
    display: none; }
  .contactBudget .contactBudgetSteps li:before {
    left: 36px;
    width: 80px; }
  .contactBudget .contactBudgetSteps li:after {
    left: 36px; }
  .contactBudget .contactBudgetSteps li.active strong {
    display: block; }
  .contactBudget .contactBudgetSteps li.active:after {
    width: 80px; }
  .contactBudget .contactBudgetSteps li.done:after {
    width: 80px; }
  .contactBudget .contactBudgetSteps li + li {
    margin-left: 80px; }
  .contactBudget .contactBudgetBox {
    padding: 30px 20px; }
  .contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 {
    flex-direction: column;
    align-items: center; }
  .contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart2 .cbbpFeatures {
    margin-top: 20px; }
  .contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 {
    flex-direction: column;
    align-items: flex-end;
    padding-right: 0; }
  .contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAttach {
    width: 100%; }
  .contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpInk {
    width: 100%;
    padding-left: 0;
    margin-top: 20px; }
  .contactBudget .contactBudgetBoxProducts .contactBudgetBoxProductsPart3 .cbbpAddProduct {
    position: relative;
    right: initial;
    top: initial;
    margin-top: 20px; }

  .contactFormWrap {
    flex-direction: column; }
  .contactFormWrap .contactFormText {
    width: 100%; }
  .contactFormWrap .contactFormText .contactFormTextData {
    margin-top: 20px; }
  .contactFormWrap .contactFormForm {
    width: 100%;
    margin-top: 30px; } }
