/********** GENERAL **********/
/********** FONTS **********/
@font-face {
  font-family: "Montserrat";
  src: url(/static/assets/fonts/Montserrat.ttf);
  font-style: normal;
}
@font-face {
  font-family: "Movement";
  src: url(/static/assets/fonts/Movement.ttf);
  font-style: normal;
}
/********** END_FONTS **********/
:root {
  /********** FONTS **********/
  --montserrat: "Montserrat";
  --no_move: "Movement";
  /********** END_FONTS **********/
  /********** COLORS **********/
  --red: #e30613;
  --dark_red: #750000;
  --blue: #0d26d6;
  --dark_blue: #000054;
  --black: #000000;
  /********** END_COLORS **********/
  /********** BG **********/
  --bg_circle_blue: url(/static/assets/img/utils/circle_blue.png);
  --bg_circle_red: url(/static/assets/img/utils/circle_red.png);
  /********** END_BG **********/
}
body {
  background-color: white !important;
}
a {
  text-decoration: none;
}
.btn-primary {
  background: linear-gradient(
    to right,
    var(--dark_red) 0%,
    var(--red) 51%,
    var(--dark_red) 100%) !important;
  background-size: 200% auto !important;
  border: none !important;
  color: #FFFFFF !important;
  display: block !important;
  font-family: var(--montserrat) !important;
  text-transform: none !important;
  transition: .5s !important;
}
.btn-secondary {
  background: linear-gradient(
    to right,
    var(--blue) 0%,
    #52172C 51%,
    var(--blue) 100%) !important;
  background-size: 200% auto !important;
  border: none !important;
  color: #FFFFFF !important;
  display: block !important;
  font-family: var(--montserrat) !important;
  text-transform: none !important;
  transition: .5s !important;
}
.btn-primary:hover,
.btn-secondary:hover {
  background-position: right center !important;
  border-color: var(--dark_red) !important;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2) !important;
}
.tooltip .tooltip-inner {
  font-family: var(--montserrat);
  font-weight: 700;
  max-width: fit-content !important;
}
select,
::picker(select) {
  appearance: base-select;
}
/********** END_GENERAL **********/
/********** KEYFRAMES **********/
@keyframes hover-pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.6;
  }
  100% {
    transform: translate(-50%, -50%) scale(2);
    opacity: 0;
  }
}
/********** END_KEYFRAMES **********/
/********** HEADER **********/
header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  background: #FFFFFF;
  background: linear-gradient(
    0deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.5) 30%,
    rgba(255, 255, 255, 1) 83%);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}
header .ism-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}
header .ism-nav li {
  list-style: none;
  text-align: center;
}
header .ism-nav li h1 {
  margin: 0;
  font-size: 0;
}
header .ism-nav li a {
  font-family: var(--montserrat);
  color: var(--dark_blue);
  display: inline-block;
  transition: transform .05s ease, color .1s ease, text-shadow .1s ease;
}
header .ism-nav li .nav-active {
  color: var(--red);
  cursor: default;
  transform: scale(1.05);
  text-shadow: 0 .2vw .3vw rgba(0, 0, 0, 0.5);
}
header .ism-nav .nav-logo img {
  object-fit: contain;
}
header .ism-nav li:not(.nav-logo) a:not(.nav-active):hover {
  color: var(--red);
  transform: scale(1.05);
  text-shadow: 0 .2vw .3vw rgba(0, 0, 0, 0.5);
}
header .fullscreen-menu .menu-content .menu-list a {
  font-family: var(--montserrat);
  font-weight: bold;
  display: inline-block;
  transition: transform .05s ease, color .1s ease, text-shadow .1s ease;
}
header .fullscreen-menu .menu-content .menu-list a:hover {
  color: var(--red);
  transform: scale(1.1);
  text-shadow: 0 1vw 1vw rgba(0, 0, 0, 0.5);
}
header .fullscreen-menu .menu-content .menu-list li .nav-active {
  display: inline-block;
  color: var(--red);
  transform: scale(1.1);
  text-shadow: 0 1vw 1vw rgba(0, 0, 0, 0.5);
}
header .dropdown-hover .dropdown-menu {
  min-width: fit-content !important;
  display: block;
  backdrop-filter: blur(.8vw);
  -webkit-backdrop-filter: blur(.8vw);
  background: rgba(255, 255, 255, 0.45);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.95);
  transition:
    opacity .28s ease,
    transform .32s cubic-bezier(0.16, 1, 0.3, 1),
    visibility .28s ease;
  transform-origin: top center;
}
header .dropdown-hover:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
header .dropdown-hover .dropdown-menu {
  transition-delay: 0s, 0s, 0s;
}
header .dropdown-hover:hover .dropdown-menu {
  transition-delay: 0s;
}
header .dropdown-hover .dropdown-toggle::after {
  pointer-events: none;
  border: none !important;
  margin-left: 0 !important;
}
header .dropdown-hover .dropdown-menu .dropdown-item {
  width: 100%;
  min-width: fit-content !important;
}
header .dropdown-hover .dropdown-menu .dropdown-item:hover {
  background: none !important;
}
header .dropdown-hover .nav-link:focus,
header .dropdown-hover .nav-link:active {
  color: var(--dark_blue) !important;
}
header .dropdown-hover .nav-link:hover {
  color: var(--red) !important;
}
/********** END_HEADER **********/
/********** FOOTER **********/
footer {
  background: rgba(77, 0, 0, .9);
  background: -webkit-linear-gradient(90deg, rgba(204, 184, 184, .9) 0%, rgba(77, 0, 0, 0.9) 35%);
  background: -moz-linear-gradient(90deg, rgba(204, 184, 184, .9) 0%, rgba(77, 0, 0, 0.9) 35%);
  background: linear-gradient(90deg, rgba(204, 184, 184, .9) 0%, rgba(77, 0, 0, 0.9) 35%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#CCB8B8", endColorstr="#4D0000", GradientType=1);
  width: 100%;
  position: absolute;
}
footer .ism-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--montserrat);
}
footer .ism-footer .footer-img img {
  object-fit: contain;
  filter: drop-shadow(0 0 4px rgba(252, 225, 252, .945));
}
footer .ism-footer .footer-menu ul {
  padding: 0;
  margin: 0;
}
footer .ism-footer .footer-menu li {
  list-style: none;
}
footer .ism-footer .footer-menu li a {
  color: #FFFFFF;
  display: inline-block;
  transition: transform .05s ease, color .1s ease, text-shadow .1s ease;
}
footer .ism-footer .footer-menu li .nav-active {
  color: var(--red);
  cursor: default;
  transform: scale(1.05);
  text-shadow: 0 .2vw .3vw rgba(0, 0, 0, 0.5);
}
footer .ism-footer .footer-menu li a:not(.nav-active):hover {
  color: var(--red);
  transform: scale(1.05);
  text-shadow: 0 .2vw .3vw rgba(0, 0, 0, 0.5);
}
footer .ism-footer h3 {
  color: #FFFFFF;
}
footer .ism-footer .first-line,
footer .ism-footer .second-line {
  border-top-style: solid;
  border-top-color: var(--red);
  opacity: 1;
}
footer .ism-footer .footer-contact p {
  color: #FFFFFF;
}
/********** END_FOOTER **********/
/********** BTN_WHATSAPP **********/
.link-ws {
  position: fixed;
  border-radius: 50%;
  z-index: 100;
}
.link-ws .btn-ws {
  position: relative;
  border-radius: 50%;
  background-color: #25D366;
  background-image: url(/static/assets/img/icons/whatsapp.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: .2vw .2vw .3vw #2c2c2c;
  padding: 0;
  overflow: visible;
}
.link-ws .btn-ws::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background-color: rgba(37, 211, 102, 0.5);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(1);
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}
.link-ws .btn-ws:hover::before {
  animation: hover-pulse 0.6s ease-out forwards;
}
/********** END_BTN_WHATSAPP **********/
/********** INDEX **********/
.ism-index .sect-banner {
  width: 100%;
}
.ism-index .sect-banner .slider {
  position: relative;
  overflow: hidden;
}
.ism-index .sect-banner .slider canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  display: block;
}
.ism-index .bg-grad .bg-detail-1 {
  background-image: var(--bg_circle_blue);
  background-repeat: no-repeat;
}
.ism-index .bg-grad .bg-detail-2 {
  background-image: var(--bg_circle_red);
  background-repeat: no-repeat;
}
.ism-index .sect-projects h4 {
  font-family: var(--montserrat);
  font-weight: bold;
  color: var(--dark_blue);
}
.ism-index .sect-projects .container-card {
  display: inline-block;
}
.ism-index .sect-projects .card-project {
  position: absolute;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  text-align: center;
  color: #FFFFFF;
  backface-visibility: hidden;
  transition: transform 1.5s cubic-bezier(0.4, 0.2, 0.2, 1);
}
.ism-index .sect-projects .card-project::before,
.ism-index .sect-projects .card-project::after {
  content: "";
  position: absolute;
  z-index: 2;
}
.ism-index .sect-projects .front-card {
  background-position: center;
  background-size: cover;
  transform: rotateY(0deg);
}
.ism-index .sect-projects .back-card {
  background-position: center;
  background-size: cover;
  transform: rotateY(180deg);
  transform-style: preserve-3d;
  backface-visibility: hidden;
}
.ism-index .sect-projects .back-card .back-inner {
  position: relative;
  transform-style: preserve-3d;
  z-index: 5;
}
.ism-index .sect-projects .container-card:hover .front-card {
  transform: rotateY(-180deg);
  transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
}
.ism-index .sect-projects .container-card:hover .back-card {
  transform: rotateY(0deg);
  transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
}
.ism-index .sect-projects .back-card .bg-filter {
  position: absolute;
  inset: 0;
  background-color: rgba(227, 6, 19, 0.8);
  mix-blend-mode: multiply;
  z-index: 1;
}
.ism-index .sect-projects .back-card h3 {
  font-family: var(--montserrat);
  font-weight: bold;
  text-transform: uppercase;
  margin: 0;
  z-index: 10;
}
.ism-index .sect-service-type .service-type h2 {
  font-family: var(--montserrat);
  font-weight: bold;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0;
}
.ism-index .sect-service-type .service-type hr {
  border-top-style: solid;
  border-top-color: var(--red);
  opacity: 1;
}
.ism-index .sect-service-type .service-type h3 {
  font-family: var(--montserrat);
  font-weight: 600;
  text-transform: capitalize;
  color: var(--dark_blue);
}
.ism-index .sect-service-type .service-type a {
  display: inline-block;
}
.ism-index .sect-service-type .service-type .btn-primary {
  font-weight: 500 !important;
}
.ism-index .sect-transparency {
  text-align: center;
}
.ism-index .sect-transparency h3 {
  font-family: var(--montserrat);
  font-weight: bold;
  text-transform: uppercase;
  color: var(--red);
  text-align: center;
}
.ism-index .sect-transparency .transparency-icons {
  display: flex;
  justify-content: center;
}
.ism-index .sect-transparency .transparency-icons a {
  cursor: pointer;
}
.ism-index .sect-transparency .transparency-icons a figure {
  transition: transform .2s ease, filter .2s ease;
}
.ism-index .sect-transparency .transparency-icons a:hover figure {
  transform: scale(1.05) translateY(-0.2vw);
  filter: drop-shadow(0 0 1vw rgba(60, 100, 180, 0.35));
}
.ism-index .sect-transparency .transparency-icons a figure img {
  width: 100%;
  height: 100%;
}
.ism-index .sect-last-news h4 {
  font-family: var(--montserrat);
  font-weight: bold;
  text-transform: uppercase;
  color: var(--red);
  text-align: center;
}
.ism-index .sect-last-news .news .card-news {
  background-color: #FFFFFF;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ism-index .sect-last-news .news .card-news figure {
  position: relative;
  overflow: hidden;
}
.ism-index .sect-last-news .news .card-news figure::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0D26D6;
  background: -webkit-linear-gradient(0deg, rgba(13, 38, 214, 0.55) 0%, rgba(223, 0, 13, 0.82) 100%);
  background: -moz-linear-gradient(0deg, rgba(13, 38, 214, 0.55) 0%, rgba(223, 0, 13, 0.82) 100%);
  background: linear-gradient(0deg, rgba(13, 38, 214, 0.55) 0%, rgba(223, 0, 13, 0.82) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0D26D6", endColorstr="#DF000D", GradientType=0);
  pointer-events: none;
  opacity: .9;
}
.ism-index .sect-last-news .news .card-news figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ism-index .sect-last-news .news .card-news .info-news {
  font-family: var(--montserrat);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ism-index .sect-last-news .news .card-news .info-news .date {
  font-weight: 500;
  text-transform: capitalize;
  margin-bottom: auto;
}
.ism-index .sect-last-news .news .card-news .info-news .title {
  font-weight: bold;
  text-transform: capitalize;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ism-index .sect-last-news .news .card-news .info-news .description {
  font-weight: 500;
  margin-bottom: 0;
  display: -webkit-box;
  line-clamp: 4;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ism-index .sect-last-news .news .card-news .info-news a {
  display: inline-block;
  align-self: flex-start;
  margin-top: auto;
}
.ism-index .sect-last-news .news .card-news .info-news .btn-secondary {
  font-weight: 500;
}
.ism-index .sect-clients {
  text-align: center;
}
.ism-index .sect-clients h3 {
  font-family: var(--montserrat);
  font-weight: bold;
  color: var(--blue);
  margin-bottom: 0;
  text-transform: uppercase;
}
.ism-index .client-slider {
  overflow: hidden;
  position: relative;
}
.ism-index .client-slider::before,
.ism-index .client-slider::after {
  content: "";
  position: absolute;
  z-index: 2;
}
.ism-index .client-slider::after {
  right: 0;
  top: 0;
  transform: rotateZ(180deg);
}
.ism-index .client-slider::before {
  left: 0;
  top: 0;
}
.ism-index .client-slider .slide-track {
  display: flex;
  width: fit-content;
}
.ism-index .client-slider .slide {
  flex: 0 0 auto;
}
.ism-index .client-slider .slide img {
  height: 100%;
  object-fit: contain;
}
/********** END_INDEX **********/
/********** MODAL_TRANSPARENCY **********/
.transparency-modal .modal-dialog {
  max-width: none;
  margin: auto;
}
.transparency-modal .modal-content {
  border-radius: 1.5vw;
}
.transparency-modal .modal-content::before {
  content: "";
  background-image: url(/static/assets/img/utils/bg_modal_red.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}
.transparency-modal .modal-content::after {
  content: "";
  background-image: url(/static/assets/img/utils/bg_modal_blue.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.transparency-modal .btn-close {
  z-index: 10;
}
.transparency-modal .btn-close:focus {
  box-shadow: none;
}
.transparency-modal .modal-header {
  border: 0;
}
.transparency-modal .modal-body {
  z-index: 10;
}
.transparency-modal .modal-body h3 {
  font-family: var(--no_move);
  font-weight: 500;
  color: var(--blue);
  text-transform: uppercase;
  text-shadow: 0 3.5px 4px rgba(0, 0, 0, 0.5);
}
.transparency-modal .modal-body p {
  font-family: var(--montserrat);
  font-weight: 500;
}
.transparency-modal .modal-body p a {
  color: var(--red);
  cursor: pointer;
  transition: .3s ease;
}
.transparency-modal .modal-body p a:hover {
  color: var(--dark_red);
}
.transparency-modal#transparency_modal h3 {
  text-align: center;
  color: var(--red);
}
.transparency-modal .transparency-icons a figure {
  transition: transform .2s ease, filter .2s ease;
}
.transparency-modal .transparency-icons a:hover figure {
  transform: scale(1.05) translateY(-0.2vw);
  filter: drop-shadow(0 0 1vw rgba(60, 100, 180, 0.35));
}
.transparency-modal .transparency-icons a figure img {
  width: 100%;
  height: 100%;
}
/********** END_MODAL_TRANSPARENCY **********/
/********** PRIVACY_POLICIES **********/
.ism-privacy-policies {
  width: 100%;
}
.ism-privacy-policies .sect-privacy-policies h4 {
  font-family: var(--no_move);
  font-weight: bold;
  text-transform: uppercase;
  color: var(--red);
  text-align: center;
}
.ism-privacy-policies .sect-privacy-policies p {
  font-family: var(--montserrat);
  font-weight: 400;
  color: var(--dark_blue);
  margin-bottom: 0;
  text-align: justify;
}
.ism-privacy-policies .sect-privacy-policies .title {
  font-weight: 800;
}
.ism-privacy-policies .sect-privacy-policies p span {
  font-weight: 900;
}
.ism-privacy-policies .sect-privacy-policies .btn-container {
  display: flex;
  justify-content: end;
}
.ism-privacy-policies .sect-privacy-policies .btn-container .btn-primary {
  font-weight: 500 !important;
  display: flex !important;
  align-items: center;
}
/********** END_PRIVACY_POLICIES **********/
/********** ETHICS_CHANNEL **********/
.ism-ethics-channel {
  width: 100%;
}
.ism-ethics-channel .sect-ethics-channel h4 {
  font-family: var(--no_move);
  font-weight: bold;
  text-transform: uppercase;
  color: var(--red);
  text-align: center;
}
.ism-ethics-channel .sect-ethics-channel p {
  font-family: var(--montserrat);
  font-weight: 400;
  color: var(--dark_blue);
  margin-bottom: 0;
  text-align: justify;
}
.ism-ethics-channel .sect-ethics-channel .form-ethics {
  font-family: var(--montserrat) !important;
}
.ism-ethics-channel .sect-ethics-channel .form-ethics-file {
  width: fit-content;
  color: #000000;
}
.ism-ethics-channel .sect-ethics-channel .form-ethics-file input {
  background-color: #D9D9D9;
  border-radius: 5px;
}
.ism-ethics-channel .sect-ethics-channel .form-check-label {
  line-height: 20px;
}
.form-outline .form-control:disabled,
.form-outline .form-control.disabled,
.form-outline .form-control[readonly] {
  background-color: transparent !important;
}
.ism-ethics-channel .sect-ethics-channel .link-pp {
  color: var(--blue);
}
.ism-ethics-channel .sect-ethics-channel .link-pp:hover {
  color: var(--red);
}
.ism-ethics-channel .sect-ethics-channel .btn-container {
  display: flex;
}
.ism-ethics-channel .sect-ethics-channel .btn-container .btn {
  font-weight: 500 !important;
}
.ism-ethics-channel .sect-ethics-channel .btn-container {
  display: flex;
  justify-content: end;
}
.ism-ethics-channel .sect-ethics-channel .btn-container .btn-secondary {
  font-weight: 500 !important;
  display: flex !important;
  align-items: center;
}
/********** END_ETHICS_CHANNEL **********/
/********** ABOUT_US **********/
.ism-about-us .sect-banner {
  width: 100%;
  background-image: url(/static/assets/img/utils/aboutus_banner.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.ism-about-us .sect-banner .bg-fill {
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .4);
  display: flex;
  align-items: center;
}
.ism-about-us .sect-banner .bg-fill .text {
  text-align: center;
}
.ism-about-us .sect-banner .text h3 {
  font-family: var(--no_move);
  font-weight: bold;
  color: var(--red);
  text-transform: uppercase;
}
.ism-about-us .sect-banner .text p {
  font-family: var(--montserrat);
  font-weight: 500;
  color: var(--dark_blue);
}
.ism-about-us .sect-info .bg-detail-1,
.ism-about-us .sect-info .bg-detail-2,
.ism-about-us .sect-info .bg-detail-3 {
  position: relative;
  overflow: hidden;
}
.ism-about-us .sect-info .bg-detail-1::before,
.ism-about-us .sect-info .bg-detail-2::before,
.ism-about-us .sect-info .bg-detail-3::before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
}
.ism-about-us .sect-info .bg-detail-1::before,
.ism-about-us .sect-info .bg-detail-3::before {
  background-image: var(--bg_circle_blue);
}
.ism-about-us .sect-info .bg-detail-2::before {
  background-image: var(--bg_circle_red);
}
.ism-about-us .sect-info .vision,
.ism-about-us .sect-info .mission {
  border-style: solid;
  position: relative;
  display: flex;
  align-items: center;
}
.ism-about-us .sect-info .vision {
  border-color: var(--red);
}
.ism-about-us .sect-info .mission {
  border-color: var(--blue);
}
.ism-about-us .sect-info .vision h3,
.ism-about-us .sect-info .mission h3 {
  font-family: var(--no_move);
  font-weight: bold;
  text-transform: uppercase;
}
.ism-about-us .sect-info .vision h3 {
  color: var(--blue);
}
.ism-about-us .sect-info .mission h3 {
  color: var(--red);
}
.ism-about-us .sect-info .vision p,
.ism-about-us .sect-info .mission p {
  font-family: var(--montserrat);
  color: var(--dark_blue);
}
.ism-about-us .sect-info .vision figure,
.ism-about-us .sect-info .mission figure {
  position: absolute;
}
.ism-about-us .sect-info .vision figure img,
.ism-about-us .sect-info .mission figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ism-about-us .sect-info .values h3 {
  font-family: var(--no_move);
  font-weight: bold;
  text-transform: uppercase;
  color: var(--red);
  text-align: center;
}
.ism-about-us .sect-info .values .cont-values {
  display: flex;
}
.ism-about-us .sect-info .values .desc-values {
  background-color: var(--dark_blue);
  color: #FFFFFF;
  text-align: center;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ism-about-us .sect-info .values .desc-values #desc_values {
  transition: opacity 0.5s ease-in-out, transform 0.5s ease;
  opacity: 1;
  transform: translateY(0);
}
.ism-about-us .sect-info .values .desc-values #desc_values.fade-out {
  opacity: 0;
  transform: translateY(1vw);
}
.ism-about-us .sect-info .values .desc-values h4 {
  font-family: var(--montserrat);
  font-weight: 700;
  text-transform: uppercase;
}
.ism-about-us .sect-info .values .desc-values p {
  font-family: var(--montserrat);
  font-weight: 500;
}
.ism-about-us .sect-info .values .list-values {
  display: flex;
  justify-content: center;
}
.ism-about-us .sect-info .values .list-values .value {
  position: relative;
}
.ism-about-us .sect-info .values .list-values .value figure {
  background-color: var(--dark_blue);
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition:
    background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.ism-about-us .sect-info .values .list-values .value figure:hover,
.ism-about-us .sect-info .values .list-values .value figure.active {
  background-color: var(--blue);
  transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
}
.ism-about-us .sect-info .values .list-values .value figure img {
  object-fit: contain;
}
.ism-about-us .sect-info .values .list-values .value h4 {
  font-family: var(--montserrat);
  font-weight: 600;
  text-transform: uppercase;
  color: var(--red);
  text-align: center;
}
.ism-about-us .sect-info .values .list-values .value figure:hover + h4,
.ism-about-us .sect-info .values .list-values .value figure.active + h4 {
  font-weight: 700;
  transition:
    text-shadow .3s ease-in-out,
    font-weight .3s ease-in-out;
}
/********** END_ABOUT_US **********/
/********** SERVICES **********/
.ism-services .sect-services .bg-service {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
}
.ism-services .sect-services .bg-service:nth-child(odd) .bg-filter {
  position: absolute;
  inset: 0;
  background-color: rgba(27, 27, 71, .18);
  mix-blend-mode: multiply;
  z-index: 1;
}
.ism-services .sect-services .bg-service .text {
  position: relative;
  z-index: 10;
}
.ism-services .sect-services .bg-service .text h2 {
  font-family: var(--montserrat);
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
}
.ism-services .sect-services .bg-service:nth-child(3n + 1) .text h2 {
  color: #FF4B00;
}
.ism-services .sect-services .bg-service:nth-child(3n + 2) .text h2 {
  color: #FFFFFF;
}
.ism-services .sect-services .bg-service:nth-child(3n) .text h2 {
  color: #66E306;
}
.ism-services .sect-services .bg-service .text p {
  font-family: var(--montserrat);
  font-weight: 500;
  color: white;
}
.ism-services .link-brochure {
  position: fixed;
  border-radius: 50%;
  z-index: 100;
}
.ism-services .link-brochure .btn-brochure {
  position: relative;
  border-radius: 50%;
  background-color: var(--red);
  background-image: url(/static/assets/img/icons/brochure.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: .2vw .2vw .3vw #2c2c2c;
  padding: 0;
  overflow: visible;
}
.ism-services .link-brochure .btn-brochure::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background-color: rgba(227, 6, 19, 0.5);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(1);
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}
.ism-services .link-brochure .btn-brochure:hover::before {
  animation: hover-pulse 0.6s ease-out forwards;
}
.ism-services .link-brochure .btn-brochure.btn-disabled {
  filter: grayscale(100%) brightness(0.7);
  pointer-events: none;
}
/********** END_SERVICES **********/
/********** BG_BASE **********/
.bg-base {
  width: 100%;
  min-height: 100vh;
}
.bg-base::before {
  content: "";
  background-image: var(--bg_circle_red);
  background-position: center;
  background-repeat: no-repeat;
  position: fixed;
  z-index: -1;
}
.bg-base::after {
  content: "";
  background-image: var(--bg_circle_blue);
  background-position: center;
  background-repeat: no-repeat;
  position: fixed;
  z-index: -1;
}
/********** END_BG_BASE **********/
/********** PAGINATION **********/
.pagination {
  font-family: var(--no_move);
  border-radius: 0;
  margin-bottom: 0;
}
.pagination .page-link {
  font-weight: 500;
  border: none;
  background-color: transparent;
  color: var(--blue);
  transform: skew(-20deg);
}
.pagination .page-link:hover {
  background-color: #D9D9D9;
}
.pagination .page-link span {
  display: inline-block;
  transform: skew(20deg);
}
.pagination .page-link:focus {
  box-shadow: none;
}
.pagination .page-item:first-child .page-link {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.pagination .page-item:last-child .page-link {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.active>.page-link, .page-link.active {
  background-color: var(--blue) !important;
  color: #FFFFFF;
}
.active>.page-link:hover, .page-link:hover.active {
  background-color: var(--blue);
}
/********** END_PAGINATION **********/
/********** PROJECTS **********/
.ism-projects {
  width: 100%;
}
.ism-projects h2 {
  font-family: var(--no_move);
  font-weight: bold;
  text-transform: uppercase;
  color: var(--blue);
  text-align: center;
}
.ism-projects .sect-projects form select {
  font-family: var(--montserrat);
  font-weight: 500;
  color: var(--dark_blue);
  border-color: var(--dark_blue);
  border-radius: 5px;
}
.ism-projects .sect-projects form select::picker(select) {
  border: .1vw solid var(--dark_blue);
  border-radius: 5px;
}
.ism-projects .sect-projects form select:hover {
  background-color: whitesmoke;
}
.ism-projects .sect-projects form option:hover {
  background: #020068;
  color: #FFFFFF;
}
.ism-projects .sect-projects .list-projects {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.ism-projects .sect-projects .list-projects .project {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 10px;
  position: relative;
  transition: .5s ease-in-out;
  overflow: hidden;
}
.ism-projects .sect-projects .list-projects .project a {
  position: absolute;
  left: 0;
  border-bottom-right-radius: 10px;
  border-top-right-radius: 10px;
  background-color: rgba(255, 255, 255, 0.7);
  color: var(--dark_blue);
  text-transform: capitalize;
  visibility: hidden;
  opacity: 0;
  transition: all .3s ease-in;
}
.ism-projects .sect-projects .list-projects .project:hover a {
  visibility: visible;
  opacity: 1;
  transition: all .3s ease-in .2s;
  cursor: pointer;
}
.ism-projects .sect-projects .list-projects .project a:hover {
  background-color: rgba(0, 0, 84, 0.8);
  color: #FFFFFF;
  transition: .1s ease-in-out;
}
.ism-projects .sect-projects .list-projects .project h4 {
  font-family: var(--montserrat);
  font-weight: 600;
}
.ism-projects .sect-projects .list-projects .project h5 {
  font-family: var(--montserrat);
  font-weight: 500;
  margin: 0;
}
.ism-projects .sect-projects .list-projects .no-info {
  font-family: var(--montserrat);
  font-weight: 500;
  text-align: center;
  width: 100%;
}
/********** END_PROJECTS **********/
/********** MODAL_PROJECT **********/
.ism-projects .modal .modal-dialog {
  max-width: none;
  margin: auto;
}
.ism-projects .modal .modal-content {
  border-radius: 1vw;
}
.ism-projects .modal .modal-content::before {
  content: "";
  background-image: url(/static/assets/img/utils/bg_modal_red.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}
.ism-projects .modal .modal-content::after {
  content: "";
  background-image: url(/static/assets/img/utils/bg_modal_blue.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.ism-projects .modal .btn-close {
  z-index: 10;
}
.ism-projects .modal .btn-close:focus {
  box-shadow: none;
}
.ism-projects .modal .modal-header {
  border: 0;
}
.ism-projects .modal .modal-body {
  display: flex;
  align-items: center;
  z-index: 10;
}
.ism-projects .modal .modal-body .text h5 {
  font-family: var(--no_move);
  font-weight: 500;
  color: var(--blue);
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 3.5px 4px rgba(0, 0, 0, 0.5);
}
.ism-projects .modal .modal-body .text p {
  font-family: var(--montserrat);
  font-weight: 500;
}
.ism-projects .modal .modal-body .text p:last-child {
  margin-bottom: 0;
}
.ism-projects .modal .modal-body .imgs .img-border {
  width: 100%;
  height: 100%;
  background: var(--blue);
  clip-path: polygon(0% 15%, 100% 0%, 100% 85%, 0% 100%);
}
.ism-projects .modal .modal-body .imgs figure {
  width: 100%;
  height: 100%;
  clip-path: polygon(0% 15%, 100% 0%, 100% 85%, 0% 100%);
  margin: 0;
}
.ism-projects .modal .modal-body .imgs figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/********** END_MODAL_PROJECT **********/
/********** NEWS **********/
.ism-news {
  width: 100%;
}
.ism-news h2 {
  font-family: var(--no_move);
  font-weight: bold;
  text-transform: uppercase;
  color: var(--red);
  text-align: center;
}
.ism-news .sect-news {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
}
.ism-news .entry-wrapper {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
.ism-news .entry-wrapper .entry-preview {
  background: rgba(255, 255, 255, 0.7);
  position: absolute;
  display: flex;
  transition: all .2s ease-in-out;
}
.ism-news .entry-wrapper:hover .entry-preview {
  visibility: hidden;
}
.ism-news .entry-wrapper .entry-preview .subtitle {
  font-family: var(--montserrat);
  font-weight: 600;
  color: var(--dark_blue);
  text-transform: capitalize;
  margin: auto 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ism-news .entry-wrapper .entry-content {
  background: rgba(0, 0, 84, .9);
  color: #FFFFFF;
  opacity: 0;
  visibility: hidden;
  height: 100%;
  position: relative;
  float: right;
  display: flex;
  flex-direction: column;
  -webkit-transform: translateX(100%);
  -moz-transform: translateX(100%);
  -ms-transform: translateX(100%);
  -o-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.ism-news .entry-wrapper:hover .entry-content {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}
.ism-news .entry-wrapper .entry-content h4 {
  font-family: var(--montserrat);
  font-weight: 600;
  text-transform: capitalize;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ism-news .entry-wrapper .entry-content .date::before {
  content: "";
  background-image: url(/static/assets/img/icons/date.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
}
.ism-news .entry-wrapper .entry-content .date {
  font-family: var(--montserrat);
  font-weight: 400;
  display: flex;
}
.ism-news .entry-wrapper .entry-content .description {
  font-family: var(--montserrat);
  font-weight: 400;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ism-news .entry-wrapper .entry-content a {
  display: inline-block;
  align-self: flex-start;
  margin-top: auto;
}
.ism-news .entry-wrapper .entry-content .btn-primary {
  font-weight: 500 !important;
}
/********** END_NEWS **********/
/********** DETAIL_NEWS **********/
.ism-detail-news {
  width: 100%;
}
.ism-detail-news .sect-detail-news h4 {
  font-family: var(--no_move);
  font-weight: bold;
  text-transform: uppercase;
  color: var(--dark_blue);
  text-align: center;
}
.ism-detail-news .sect-detail-news figure img {
  width: 100%;
  height: 100%;
}
.ism-detail-news .sect-detail-news p {
  font-family: var(--montserrat);
  font-weight: 400;
  color: var(--dark_blue);
  margin-bottom: 0;
}
.ism-detail-news .sect-detail-news .btn-container {
  display: flex;
  justify-content: end;
}
.ism-detail-news .sect-detail-news .btn-container .btn-primary,
.ism-detail-news .sect-detail-news .btn-container .btn-secondary {
  font-weight: 500 !important;
  display: flex !important;
  align-items: center;
}
/********** END_DETAIL_NEWS **********/
/********** CONTACT **********/
#contact_modal .modal-dialog {
  max-width: none;
  margin: auto;
}
#contact_modal .modal-content {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}
#contact_modal .modal-content::before {
  content: "";
  background-image: url(/static/assets/img/utils/design_contact.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
#contact_modal .modal-content .modal-header {
  border: 0;
}
#contact_modal .modal-content .modal-body {
  display: flex;
}
#contact_modal .modal-body .contact-form h5 {
  font-family: var(--no_move);
  font-weight: bold;
  color: var(--red);
  text-transform: uppercase;
}
#contact_modal .modal-body .contact-form .form-contact {
  font-family: var(--montserrat) !important;
}
#contact_modal .modal-body .contact-form .form-contact .form-check-label {
  line-height: 20px;
}
#contact_modal .modal-body .contact-form .link-pp {
  color: var(--blue);
}
#contact_modal .modal-body .contact-form .link-pp:hover {
  color: var(--red);
}
#contact_modal .modal-body .contact-form .btn-container {
  display: flex;
}
#contact_modal .modal-body .contact-form .btn-container .btn {
  font-weight: 500 !important;
}
.form-outline textarea.form-control {
  --mdb-border-width: 2px !important;
  border: var(--mdb-border-width) solid rgba(0,0,0,.1) !important;
  border-radius: var(--mdb-border-radius);
  min-height: calc(1.5em + .75rem + calc(var(--bs-border-width) * 1));
}
.form-outline textarea.form-control:focus {
  border-color: #3b71ca !important;
  box-shadow: none !important;
}
.form-outline .form-control.active~.form-label-textarea {
  background-color: #FFFFFF;
}
.form-outline textarea.form-control:focus~.form-label {
  background-color: #FFFFFF;
  padding-left: 5px;
  padding-right: 5px;
}
.form-outline .form-control:focus~.form-label {
  white-space: normal; /* permite saltos de línea */
  overflow-wrap: break-word;
}
#contact_modal .modal-body .contact-info {
  font-family: var(--montserrat);
  font-weight: 500;
  text-transform: capitalize;
}
.form-check-input:focus:before {
  box-shadow: none !important;
}
/********** END_CONTACT **********/
