:root {
  --color-institucional:        #094090;
  --color-institucional-dark:   #093a82;
  --color-institucional-darker: #012354;
  --color-accent:               #029cde;
  --color-accent-light:         #16b2f5;
  --color-white:                #ffffff;
  --color-gray-silver: 			#c0c0c0;

  /*  Stops de gradientes  */
  --color-gradient-1:           #0b49a4;
  --color-gradient-2:           #0c4dad;
  --color-gradient-3:           #0868bd;
  --color-gradient-4:           #047ec5;
  --color-gradient-5:           #056eb7;
  --color-gradient-6:           #075da8;
  --color-gradient-7:           #084897;
  --color-gradient-8:           #075da9;
  --color-gradient-9:           #0574bc;

  /*  Colores de unidades  */
  --color-rvi:                  #EC3237;
  --color-procam:               #3051A0;
  --color-dicam:                #AE3335;
  --color-scanmar:              #094090;
}

body {
	font-family: 'Inter', sans-serif;
	background: var(--color-white);
	min-height: 100vh;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover,
a:focus {
  color: inherit;
  text-decoration: none;
}

/*<!-- =========================
       HEADER / NAVIGATION
  ========================== -->*/
.nav-link{
	color: var(--color-institucional) !important;
	font-weight:bold;

}

.navbar-brand {
	max-width: 50%;
}

#img-logo{
	width: 100%;
	height: 45px;
	object-fit: contain;
}

/*<!-- =========================
        HERO / SLIDER
========================== -->*/
.background-blue{
	background: linear-gradient(
	    180deg,
	    var(--color-institucional) 0%,
	    var(--color-gradient-1)    34%,
	    var(--color-gradient-2)    64%,
	    var(--color-gradient-3)    81%,
	    var(--color-accent)        100%
  	);	
	position: absolute;
	top:0;
	z-index:5;
	height: 550px;
	width: 70%;
	 clip-path: polygon(
    0 0,        /* arriba izquierda */
    100% 0,     /* arriba derecha */
    85% 100%,   /* abajo derecha inclinado hacia adentro */
    0 100%      /* abajo izquierda */
  );
}

.align-items-center{
	margin:0;	
}

.content-main-banner {
	position: relative;
	height: 550px;
	padding:0;
	overflow: hidden;
}

.video-camion-fondo{
	z-index: 0;	
	position: absolute;
	top:0;
	left: 45%;
	height: 550px;
	object-fit: cover;
    object-position: left;
    width: 55%;
}

.video-camion{
	object-fit: contain;
    object-position: right;
	height: 550px;
}

.video-mask {
	height: 550px;
	-webkit-mask: url('./images/mask.svg') no-repeat right;
	-webkit-mask-size: contain;
	mask: url('./images/mask.svg') no-repeat right;
	mask-size: contain;
	overflow: hidden;
	z-index: 10;	
	position: absolute;
	top:0;
}

.hero-content {
	display: flex;
	flex-direction:column;
	justify-content: center;
	height: 100%;	
	width: 70%;
	margin:auto;
}

#hero .hero-kicker,
#alcance .section-kicker,
#valores .section-kicker,
#historia .section-kicker{
	font-size: 40px;
	margin: 0;	
	font-weight: 500;
}

#hero .hero-title,
#alcance h2, 
#valores h2,
#historia h2,
#contacto h2{
	font-size:70px;	
	font-weight: 700;
}

.hero-content .hero-text{
	width: 65%;	
}

.hero-content a{
	width: fit-content;
}

.btn{
	padding: 13px 20px;
	border-radius: 13px;
	border: 3px solid var(--color-white);
	font-weight: 500;
}

.btn.btn-our-units{
	border: 4px solid var(--color-accent);
	box-shadow: 0 0 10px 3px var(--color-accent);
	color: var(--color-institucional);
	font-weight: bold;	
}
.btn.btn-our-units img{
	margin-left:10px;
	margin-top: -6px;
}

/*<!-- =========================
           BRANDS
========================== -->*/
.brands-strip{
	overflow: hidden;
  	width: 100%;
  	padding-inline: 0;
}

.marquee-track {
	overflow: hidden;
	width: 100%;
}

.marquee-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	/*gap: 80px;*/
	width: max-content;
	animation: marquee-scroll 22s linear infinite;
	width: calc(100vw * 2 + 80px);
	min-width: calc(1200px * 2 + 80px);
}

.marquee-inner:hover {
	animation-play-state: paused;
}

.marquee-inner img {
	height: 48px;
	width: auto;
	object-fit: contain;
	flex-shrink: 0;
}

@keyframes marquee-scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(calc((max(100vw, 1200px) + 100px) * -1));
	}
}

/*<!-- =========================
      ABOUT / ALCANCE
========================== -->*/
#alcance {
	padding-top: 80px;
	background: linear-gradient(
		180deg,
		var(--color-accent)        0%,
		var(--color-gradient-4)    12%,
		var(--color-gradient-5)    26%,
		var(--color-gradient-6)    43%,
		var(--color-institucional) 100%
	);
}

article.info-card{
	width: 384px;
    height: 348px !important;	
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 20px;
    gap: 20px;
    perspective: 1000px;
}

.card-front .card-icon img{
	height: 150px;
}

.card-back .card-icon{
	background: var(--color-institucional-dark);
    width: 82px;
    height: 78px;
    border-radius: 15px;
}

.card-back .card-icon img{
	width: 48px;
    height: 48px;
}

.card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: transform 0.6s ease;
}

article.info-card:hover .card-inner {
    transform: rotateY(-180deg);
}

.card-front,
.card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border-radius: 13px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.card-front {
    background: linear-gradient(
	    225deg,
	    var(--color-institucional-dark) 0%,
	    var(--color-institucional)      19%,
	    var(--color-accent)             76%,
	    var(--color-accent-light)       100%
  	);
    border: 2px solid var(--color-white);
    box-shadow: 0 0 10px 2px var(--color-white);
    gap: 20px;
}

.card-back {
    background: var(--color-white);
    border: 2px solid var(--color-white);
    box-shadow: 0 0 10px 2px var(--color-white);
    transform: rotateY(180deg);
    color: var(--color-white);
    font-size: 15px;
    font-weight: 500;
}

.card-back p {
    color: var(--color-institucional);
    text-align: left;
	font-size: 18px;
	margin-top: 8px;
	padding-bottom: 0;
}

article.info-card .card-back h3 {
    color: var(--color-institucional);
    font-weight: bolder;
	font-size: 22px;
	margin-top: 16px;
}

article.info-card h3{
	color: var(--color-white);
	text-transform: uppercase;
	font-size: 18px;
}

.alcance-box-container{
	display: flex;
	justify-content: space-between;
}

/*<!-- =========================
           VALUES
========================== -->*/
#valores {
	background: var(--color-institucional);
}

#valores .section-kicker{
	margin-top: 40px;
}

.values-container{
	display: flex;

}

.values-container>div{
	width: 50%;
}

#valores .values-image-wrap{
	border: 8px solid var(--color-white);
	border-radius: 30px;
	width: 100%;
	max-width: 580px;
    aspect-ratio: 116 / 101;
	overflow: hidden;
	position: relative;
	box-shadow: 0 0 10px 3px var(--color-accent);
	align-self: flex-start;
}

#valores .values-image-wrap .values-media{
	max-width: 100%;
    transition: opacity 0.1s ease;
}

button.accordion-trigger{
	background-color: transparent;	
	border:none;
	color: var(--color-white);
	font-size:22px;
	font-weight: 600;
	position: relative;
	z-index:5;
	padding: 0;
}

button.accordion-trigger i{
	transition: .3s;
	display: inline-block;
	margin-left:10px;
}

button.accordion-trigger[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.accordion-content{
	position: relative;
    padding-top: 6px;
    z-index: 0;
    color: var(--color-white);
    font-size: 18px;
}

.values-panel{
	width: 60%;
	padding-left: 50px;
	position: relative;
}

.accordion-indicator {
    position: absolute;
    left: 0;
    width: 3px;
    background: var(--color-white);
    transition: top 0.4s ease, height 0.4s ease;
    border-radius: 2px;
}

.accordion-item-custom{
	padding:20px 0px;
}

.accordion-item-custom:not(:last-child) {
    border-bottom: 0.5px solid var(--color-white);
}

/*<!-- =========================
          HISTORY
========================== -->*/
#historia {
	background: linear-gradient(
	    180deg,
	    var(--color-institucional) 0%,
	    var(--color-gradient-7)    18%,
	    var(--color-gradient-8)    50%,
	    var(--color-gradient-9)    68%,
	    var(--color-accent)        100%
	);
}

#historia .container{
	border: 4px solid var(--color-white);
	border-radius: 30px;
	box-shadow: 0 0 10px 3px var(--color-accent);
	background: var(--color-white);
	padding: 0;
	overflow: hidden;
}

.history-card{
	height: 650px;
}

.history-card .row .col-12{
	height: 100%;
}

.history-image{
	background-color: var(--color-gray-silver);
}

.history-content{
	height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 90%;
    margin: auto;
    color: var(--color-institucional);
}

.history-content h2{
	color: var(--color-institucional);
}

#historia a.btn{
	border: 4px solid var(--color-institucional);
	box-shadow: 0 0 10px 3px var(--color-accent);
	color: var(--color-white);
	font-weight: bold;
	background-color: var(--color-institucional);
}

#historia a.btn img{
	margin-left:10px;
	margin-top:-6px;
}

#historia .history-content p:not(.section-kicker){
	text-align: center;
	width: 80%;
	font-weight: 500;
	font-size: 18px;
}

/*<!-- =========================
          CONTACT
========================== -->*/
#contacto {
	background: var(--color-accent);
}

.btn-send-contact{
	box-shadow: 0 0 10px 3px var(--color-accent);
	color: var(--color-institucional);
	font-weight: bold;
	background-color: var(--color-white);
}

.btn-send-contact span{
	margin-right: 10px;
}

.contact-details p{
	display: flex;	
	gap:20px;
	align-items: center;
 	font-size: 22px;
	font-weight: 600;
}

.contact-details img{
	width: 30px;
	height: 20px;
}

#contacto input {
 	border-radius: 10px;
 	padding: 10px 16px;
 	font-size: 18px;
}

.textarea-container {
    position: relative;
    width: 100%;
    background: var(--color-white);
 	border-radius: 10px;
    padding-bottom: 65px;
    overflow: hidden;
}

.textarea-wrapper {
    position: relative;
    width: 100%;
	background: var(--color-accent);
}

.textarea-wrapper textarea {
 	border-radius: 0;
 	border-bottom-right-radius: 10px;
 	padding: 16px;
    width: 100%;
    resize: none;
	border: none;
	outline: none;
 	font-size: 18px;
}

.textarea-wrapper textarea:focus {
  outline: none;
  box-shadow: none;
}

.textarea-container::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 135px;
	height: 65px;
	background: var(--color-accent);
	border-top-left-radius: 10px;
}

.textarea-mask{
	position: absolute;
	bottom: 0;
	right: 135px;
	width: 20px;
	height: 20px;
	background: var(--color-accent);
}

.textarea-mask::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 20px;
	height: 20px;
	background: var(--color-white);
	border-bottom-right-radius: 10px;
}

.btn-send-contact {
    position: absolute;
    bottom: 0;
    right: 0;
    box-shadow: 0 0 10px 3px var(--color-accent);
    color: var(--color-institucional);
    font-weight: bold;
    background-color: var(--color-white);
    border: none;
    border-radius: 10px;
    padding: 13px 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 2;
    width: 120px;
}

.btn-send-contact img {
	width: 25px;
	height: 25px;
}

.map-card iframe{
	max-width: 100% !important;
}

/*<!-- =========================
         FOOTER
========================== -->*/
footer.footer{
	background: var(--color-institucional-darker);
}

footer.footer .container{
	display: flex;
	justify-content: space-between;
}

footer.footer .container > div{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: var(--color-white);
	gap:15px;
	text-align: left;
}

footer.footer p{
 	font-size: 18px;
	font-weight: 500;
	display: flex;
    gap: 20px;
    align-items: center;
}

footer.footer img {
	width: 25px;
	height: 25px;
}


/*<!-- =========================
	    CONTACT MODAL
========================== -->*/
#modalGracias .modal-dialog {
	width: 714px;
	max-width: 100%;
}

#modalGracias .modal-content {
	width: 714px;
	max-width: 100%;
	height: 403px;
	border-radius: 30px;
	padding: 40px 18px;
	color: var(--color-institucional);
}

#modalGracias .modal-img {
	width: 215px;
	height: 215px;
}

#modalGracias h2 {
	font-size: 45px;
	font-weight: 800;
}

#modalGracias hr {
	border: 4px var(--color-institucional) solid;
	opacity: 1;
}

#modalGracias p {
	font-size: 22px;
	font-weight: 600;
}

/*<!-- =========================
		  RESPOSIVE
========================== -->*/
@media (max-width: 1200px){
	.hero-content{	
		width: 75%;
	}

	#hero .hero-kicker,
	#alcance .section-kicker,
	#valores .section-kicker,
	#historia .section-kicker{
		font-size: 30px;
	}

	#hero .hero-title,
	#alcance h2, 
	#valores h2,
	#historia h2,
	#contacto h2{
		font-size:55px;	
	}

	.hero-content a,
	#historia a {
		font-size:16px;
	}

	.card-back .card-icon {
		width: 72px;
	    height: 68px;
	}

	.card-back .card-icon img {
	    width: 38px;
	    height: 38px;
	}

	article.info-card .card-back h3 {
	    font-size: 20px;
	}

	.card-back p {
		font-size: 16px;
	}
}

@media (max-width: 992px){
	.hero-content{	
		width: 75%;
	}

	#hero .hero-kicker,
	#alcance .section-kicker,
	#valores .section-kicker,
	#historia .section-kicker{
		font-size: 20px;
	}

	#hero .hero-title,
	#alcance h2, 
	#valores h2,
	#historia h2,
	#contacto h2{
		font-size:40px;	
	}

	.btn{
		padding: 5px;
	}

	.video-camion-fondo,
	.content-main-banner,
	.background-blue{
		height: 400px;
	}

	.video-camion-fondo{
		left: 40%;
		width: 60%;
	}

	.hero-content .hero-text {
        width: 100%;
        font-size: 14px;
    }

    .card-front .card-icon img {
	    height: 90px;
	}

	.card-back .card-icon {
		width: 62px;
	    height: 58px;
	}

	.card-back .card-icon img {
	    width: 28px;
	    height: 28px;
	}

	article.info-card .card-back h3 {
	    font-size: 18px;
	}

	.card-back p,
	#historia .history-content p:not(.section-kicker),
	.contact-details p,
	#contacto input,
	.textarea-wrapper textarea{
		font-size: 14px;
	}

	.values-container>div{
		width: 100%;
	}

	.values-panel {
		width: 100%;
		min-height: 440px;
	}

	#valores .values-image-wrap {
		width: 90%;
	}

	.history-card .row .col-12{
		height: 50%;
	}

	.textarea-container {
	    padding-bottom: 45px;
	}

	.textarea-container::after {
		width: 112px;
		height: 45px;
	}

	.textarea-mask{
		right: 112px;
	}

	.btn-send-contact {
		width: 100px;
	}

	.map-card iframe{
		width: 100% !important;
		height: 400px !important;
	}
}

@media (max-width: 768px){
	#hero .hero-kicker,
	#alcance .section-kicker,
	#valores .section-kicker,
	#historia .section-kicker{
		font-size: 16px;
	}

	#hero .hero-title,
	#alcance h2, 
	#valores h2,
	#historia h2,
	#contacto h2{
		font-size:22px;	
	}

	.brands-grid{
		flex-wrap: wrap;
	}

	.brands-grid img{
		height: 35px;
	}

	.video-camion-fondo,
	.content-main-banner,
	.background-blue{
		height: 300px;
	}

	.hero-content .hero-text{
		font-size: 10px;		
	}

	.hero-content a,
	#historia a {
		font-size:12px;
	}

	.hero-content .btn-our-units,
	#historia a {
		width: 205px;
	}

	.btn.btn-our-units img,
	#historia a.btn img,
	.btn-send-contact img{
		width: 15px;
		height: 15px;
		margin-top:-3px;
	}

	.btn-explore{
		font-size: 12px;
		width: 185px;
	}

	.background-blue-bottom{
		padding-top: 0px;		
	}

	article.info-card {
		width: 100%;
		height: 140px !important;
	}

	article.info-card h3{
		font-size:12px;
	}

    .card-front .card-icon img {
	    height: 56px;
	}

	.card-back .card-icon {
		width: 52px;
		min-width: 52px;
	    height: 48px;
	    margin-right: 20px;
	}

	.card-back .card-icon img {
	    width: 18px;
	    height: 18px;
	}

	article.info-card .card-back h3 {
	    font-size: 16px;
	    margin-top: 0;
	}

	.card-back p,
	#historia .history-content p:not(.section-kicker),
	.contact-details p,
	#contacto input,
	.textarea-wrapper textarea,
	footer.footer p{
		font-size: 12px;
	}

	.contact-details p,
	footer.footer p{
		gap: 15px;
	}

	.contact-details img,
	footer.footer img {
		width: 16px;
	}
}