/*body*/
@font-face {
    font-family: Poppins;
    src: url(fonts/Poppins/Poppins-Regular.ttf);
}

html {
    scroll-behavior: smooth;
}

body {
    /*
    background-color: #141416;
    background-image: url("/static/images/background/waveblue.png");
    */
}

h1, h2, h3 {
    font-family: Poppins, sans-serif;
}
h1,h4{
    color: #2362B1;
}
p{
    font-family: Arial, Helvetica, sans-serif;
}

ul li a, ul li {
    color: #fff;
}

.newsBlack li{
    color: #000;
}

footer {
    background-color: #2362B1;
    color: #fff;
}

/*header*/
#header-wrap {
    position: relative;
}

.container-header {
    padding-top: 10px;
    display: flex; /* Makes it a flex container */
    justify-content: space-between; /* Distributes the space between the items */
    align-items: center; /* Vertically center aligns the items */
    width: 100%;
    padding-bottom: 10px;
    z-index: 1000;
    position: fixed;
    top: 0;
    transition: opacity 0.5s, visibility 0.5s, background-color 0.5s;
}

.hide-header {
    opacity: 0;
    visibility: hidden;
}

.container-header.scrolled {
    background-color: #2362B1;
}

.hero-parallax {
    min-height: 500px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: inherit;
}

.hero-parallax-news {
    min-height: 300px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: inherit;
}

.top-header {
    position: absolute;
    width: 100%;
    padding-top: 4px;

}

#logo {
    order: 0;
    position: relative;
    font-family: 'Raleway', sans-serif;
    font-size: 36px;
    line-height: 100%;
    margin-right: 10px;
    margin-bottom: 10px;
    margin-left: 50px;
}

#headerh1 {
    order: 1;
}

.logo-title-group {
    display: flex;
    align-items: center;
    gap: 10px;
}

/*menu*/
#primary-menu, #footer-menu {
    order: 2;
    margin-top: 10px;
    margin-right: 70px;
}

#primary-menu ul li, #footer-menu ul li {
    list-style-type: none;
}

#primary-menu ul li > a, #footer-menu ul li > a {
    display: block;
    line-height: 22px;
    padding: 10px;
    font-size: 15px;
    letter-spacing: 1px;
}

#primary-menu ul li > a:hover, #footer-menu ul li > a:hover {
    text-decoration: none;
}

#primary-menu {
    display: block;
}

/* Styles for burger menu icon, hidden by default */
.burger-menu-icon {
    display: none;
}

#burger-menu-button{
    font-size: 30px;
    color: #fff;
}

.logo-title-group{
    display: block;
}

.mobileLogo{
    display: none;
    order: 3;
}

.mobileLogoImg{
    width: 40px;
}

/* Responsive styles */
@media (max-width: 425px) {
    /* Hide the primary menu */
    #primary-menu .row.justify.dropup{
        padding: 0;
        margin-left: 20px;
    }
    #primary-menu {
        display: none;
    }

    /* Show the burger menu icon */
    .burger-menu-icon {
        display: block;
    }
    .logo-title-group{
        display: none;
    }

    .mobileLogo{
        display: block;
        margin-left: auto;
    }
}

.redhover:hover {
    color: #C90E29;
}
.cerebrumhover:hover {
    color: #0EBAEA;
}

.iconstart {
    margin-right: -10px;
}

.startbuttonmenu {
    color: #fff;
    border-color: #fff;
    background-color: #141416;
}

.startbuttonmenu:hover {
    background-color: #889CE7;
    border-color: #889CE7;
}

/*body*/
.justify {
    justify-content: center;
    align-items: center;
}

.boxwaves {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: inherit;
}

.boxwaves,
.boxwavesMove,
.boxwavesSize,
.boxwavesMoveInverted,
.boxwavesSizeInverted {
    background-repeat: no-repeat;
    background-color: #000;
}

.divider {
    border: 1px solid gray;
}

@keyframes fadeInLeft {
    from {
      opacity: 0;
      transform: translateX(-50px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
  
.fadeInLeft {
    animation-name: fadeInLeft;
    animation-duration: 1s; /* Animation time */
    animation-fill-mode: both;
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

.fadeOut {
    animation-name: fadeOut;
    animation-duration: 1s; /* Animation time */
    animation-fill-mode: both;
}

.gotonews{
    color: #fff;
    background-color: #0EBAEA;
    padding: 10px;
    transition: background-color 0.5s;
}
.gotonews p{
    font-size: 30px;
}

@keyframes flickerAnimation {
    0%   { opacity: 1; }
    50%  { opacity: 0.5; }
    100% { opacity: 1; }
}

.gotonews:hover {
    animation: flickerAnimation 1s infinite;
    background-color: #2362B1;
}

/*websites*/
.website-card {
    position: relative;
    height: 400px;
    width: 100%;
    background-color: gray;
    overflow: hidden; /* Ensure the overlay does not go outside the card */
}

.website-card img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease; /* Smooth transition for zoom effect */
}
.text-website{
    padding: 45px;
    text-align: justify;
    margin: 0;
}
.website-card .overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%; /* Start from the center */
    right: 50%; /* Start from the center */
    background: rgba(109, 107, 107, 0.7); /* Semi-transparent black background */
    transition: left 0.3s ease, right 0.3s ease; /* Animate the left and right properties */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0; /* Start fully transparent */
    transition: opacity 0.3s ease, left 0.3s ease, right 0.3s ease;
}

.website-card .overlay .text {
    color: white;
    font-size: 18px; /* Adjust font size as needed */
    opacity: 0;
    transition: opacity 0.3s ease;
}

.website-card:hover .overlay {
    left: 0; /* Expand to full width */
    right: 0; /* Expand to full width */
    opacity: 1; /* Fully visible */
}

.website-card:hover .overlay .text {
    opacity: 1; /* Text appears with delay */
    transition-delay: 0.3s; /* Delay the text appearance slightly */
}

.website-card:hover img {
    transform: scale(1.1); /* Optional: Slight zoom on hover */
}
.websiteContainer{


}

.websiteContent{
    display: flex;
    flex-direction: row;

    width: 100%;
    background-color: rgba(32, 145, 239, 0.3);
    padding: 10px;
    cursor: pointer; /* Indicates the item is clickable */
    transition: all 0.3s ease; /* Smooth transition for expanding */
    align-items: center;
}
.vigilante{
    background-color: rgba(173, 0, 0, 0.8);
}
.website-card.vigilante .overlay {
    background-color: rgba(173, 0, 0,1);
}

.vert{
    background-color: rgba(85,185,89,0.8);
}

.website-card.vert .overlay {
    background-color: rgba(85,185,89,1);
}

.zamna{
    background-color: rgba(22, 116, 209, 0.8);
}
.website-card.zamna .overlay {
    background-color: rgba(22, 116, 209, 1);
}

.apalacheEstruct{
    background-color: rgba(110,177,228, 0.8);
}
.website-card.apalacheEstruct .overlay {
    background-color: rgba(110,177,228, 1);
}

.irstrat{
    background-color: rgba(0, 0, 0, 0.8);
}

.website-card.irstrat .overlay {
    background-color: rgba(0, 0, 0, 1);
}

.inmotion{
    background-color: rgba(25,61,121, 0.8);
}
.website-card.inmotion .overlay {
    background-color: rgba(25,61,121, 1);
}


.orbex{
    background-color: rgba(63,78,99, 0.8);
}
.website-card.orbex .overlay {
    background-color: rgba(63,78,99, 1);
}
.apalacheAna{
    background-color: rgba(50,51,68, 0.8);
}
.website-card.apalacheAna .overlay {
    background-color: rgba(50,51,68, 1);
}

.logoWebsite {
    width: 150px; /* Fixed logo size, adjust as necessary */
    /*margin-right: 10px; Spacing between logo and arrow */
}

.titleWebsite {
    margin-right: auto; /* Pushes the rest to the right */
    margin-bottom: 0;
}

.websiteContent .titleWebsite,
.websiteContent .descriptionWebsite {
    display: block; /* or inline-block, depending on your layout */
    transition: opacity 0.3s ease;
    color: #fff;
}

/* Initially hide the description using jQuery so it can be animated */
.websiteContent .descriptionWebsite {
    display: none;
}
.descriptionWebsite {
    color: #fff;
    flex-grow: 1; /* Takes up available space */
}

.arrowWebsite{
    margin-right: 10px;
}

.btnWebsite{
    color: #fff;
    padding: 10px;
    opacity: 1; /* Initial opacity */
    transition: opacity 1s ease-in-out; /* Transition only for opacity */
}

.btnVisible {
    opacity: 1; /* Fully visible */
    pointer-events: auto; /* Enable mouse events when button is visible */
}

.vigilante .btnWebsite{
    background-color: #CE0B2E;
}
.vert .btnWebsite{
    background-color: #55B959;
}
.apalacheEstruct .btnWebsite{
    background-color: #6EB1E4;
}
.zamna .btnWebsite{
    background-color: #1674D1;
}
.irstrat .btnWebsite{
    background-color: #000000;
}
.inmotion .btnWebsite{
    background-color: #193D79;
}
.apalacheAna .btnWebsite{
    background-color: #323344;
}
.orbex .btnWebsite{
    background-color: #3F4E63;
}
.btnWebsite:hover{
    color: #fff;
    background-color: transparent;
    text-decoration: underline;
}

.bluebackground{
    background-color: #2362B1;
    display: flex; /* Ensure the container is a flex container */
    align-items: stretch;
}
/*
.bluebackground .row > div {
    flex: 1;
}
.bluebackground img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
*/
.typewriter {
    font-family: Poppins, sans-serif;
    /*white-space: pre-wrap;*/
    word-wrap: break-word;
  }
  .typewriter #text{
    font-size: x-large;
  }
  .caret {
    animation: blink 1s infinite;
    font-size: x-large;
  }
  .blinking {
    animation: blink-caret 1s step-end infinite;
  }
  @keyframes blink-caret {
    from, to { opacity: 1; }
    50% { opacity: 0; }
  }
  @keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
  }
/*newstab*/

.input-group-text {
    background: transparent; /* Make the background transparent */
    border-radius: 50px; /* Circular shape */
    padding-left: 20px; /* Padding to the left of the icon */
}

#searchInput {
    border-radius: 50px; /* Circular shape */
    box-shadow: none; /* Remove any box shadows */
}

.fa.fa-search {
    color: #02BFAC ; /* Style the icon color */
}
.nav-tabs {
    display: flex;
    justify-content: space-around; /* This will equally space the tabs */
}

/* Make each LI flex to 1, so it takes up an equal portion of space */
.nav-tabs > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px 30px;
    position: relative; /* Required for z-index to work */
    background: #f8f8f8; /* Default background color */
    color: black; /* Default text color */
    text-decoration: none; /* Removes underline from links */
    overflow: hidden; /* Ensures the pseudo-element doesn't spill out of the tab */
}

/* Ensure the text span is positioned above the pseudo-element */
.nav-tabs > li > a > span {
    position: relative;
    z-index: 2; /* Higher than the pseudo-element */
    transition: color 0.5s ease-out; /* Transition for text color */
}

/* Pseudo-element for the hover effect */
.nav-tabs > li > a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0; /* Start with no width */
    height: 100%;
    background-color: #19305C; /* Hover color */
    transition: width 0.5s ease-out; /* Animate the width */
    z-index: 1; /* Behind the text */
}

/* Hover effect - animate the pseudo-element from left to right */
.nav-tabs > li > a:hover::before,
.nav-tabs > li > a:focus::before {
    width: 100%; /* Full width */
}

/* Change text color as the hover effect takes place */
.nav-tabs > li > a:hover > span,
.nav-tabs > li > a:focus > span {
    color: #fff; /* Change text color as the hover effect takes place */
}

/* Active tab style */
.nav-tabs > li > a.active > span {
    color: #fff; /* Active tab text color */
}

/* Active pseudo-element style to stay after hover */
.nav-tabs > li > a.active::before {
    width: 100%; /* Full width for active tab */
    background-color: #19305C; /* Hover color */
}


.tabs-style-lg .nav-tabs > li:first-child {
    border-left: 1px #e9e9e9 solid;
}
.tabs-style-lg .nav-tabs{
    justify-content: center;
}
.tabs-style-lg .nav-tabs > li > a {
    font-size: 15px;
    padding: 25px 30px;
    border: 0;
    margin: 0;
}

.tabs-style-lg .nav-tabs > li > a {
    font-size: 22px;
    padding: 25px 30px;
    border: 0;
    margin: 0;
    display: flex;
    height: 100%;
    justify-content: center;
    align-content: center;
    align-items: center;
    text-align: center;
}

.tabs-style-lg .nav-tabs > li {
    border-right: 1px #e9e9e9 solid;
    border-top: 1px #e9e9e9 solid;
    flex-grow: 1;
}

.tabs-style-lg .nav-tabs > li > a.active {

    background-color: #19305C;
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);

}


.styleline{
    background-color: #2362B1;
    width: 20%;
    height: 10px;
}

/*news-card*/
.news-card {
    position: relative;
    width: 300px; /* Adjust as needed */
    overflow: hidden; /* Ensures content animates within the card */
  }
  .news-category {
    position: absolute;
    top: 0; /* Align to the top of the parent */
    right: 0; /* Align to the right of the parent */
    background-color: rgba(14, 186, 234, 0.8); /* Semi-transparent background */
    color: white; /* White text */
    padding: 0.5em; /* Padding around the text */
    border-radius: 0 0 0 10px; /* Rounded bottom left corner */
    font-size: 0.9em; /* Adjust size as needed */
    z-index: 2; /* Ensure it's above the image */
}
.readMoreNews{
    border-radius: 10px;
    background-color: #02BFAC;
    color: #fff;
}
  .news-image {
    width: 100%;
    display: block;
    transition: transform 0.5s ease-in-out;
  }
  
  .news-info {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 10px;
    background: rgba(255, 255, 255, 0.9); /* Semi-transparent background */
    width: 100%;
    transition: transform 0.5s ease-in-out;
  }
  
  .news-title{
    font-size: 1rem;
  }
  .news-title, .news-date {
    margin: 5px 0;
  }
  
  .news-description {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #FFF; /* Background for the description overlay */
    transform: translateY(100%); /* Start offscreen */
    transition: transform 0.5s ease-in-out;
    padding: 10px;
  }
  
  .news-card:hover .news-image {
    transform: translateY(-100%); /* Slide image up */
  }
  
  .news-card:hover .news-description {
    transform: translateY(0); /* Slide description into view */
  }
  

/*cards*/
.padding1 {
    padding: 100px;
}

.align-top {
    justify-content: flex-start; /* Aligns children to the top */
}

.align-bottom {
    justify-content: flex-end; /* Aligns children to the bottom */
}

.align-bottom, .align-top {
    display: flex;
    flex-direction: column;
}

.box {
    margin-bottom: 20px;
    background-color: #1B1C1E;
    padding: 20px;
    border-radius: 10px;
}

.box h4 {
    color: #889CE7;
}

.align-top .box:last-child, .align-bottom .box:last-child {
    margin-bottom: 0;
}

.graybar {
    width: 100%;
    height: 5px;
    border-radius: 5px;
    background-color: #3F4349;
}

.buttonsred {
    border-radius: 5px;
    background-color: #C90E29;
}

.btn-up {
    border-radius: 5px;
    background-color: #02BFAC;
    position: fixed;
    bottom: 2%;
    right: 2%;
    z-index: 1000;
}

.btn-up:focus {
    outline: solid #19305C;
}

.btn-up:hover {
    background-color: #19305C;
}

.cerebrumcolor > a{
    color: #0EBAEA;
}

.cerebrumcolor > a:hover{
    color: #19305C;
}
.redcolor > a {
    color: #C90E29;
}

.redcolor > a:hover {
    color: #562A2C;
}

.buttonsred:hover {
    color: #fff;
    border-color: #fff;
    background-color: #141416;
}

.full_height {
    height: 100%;
}

.purplecolor{
    color: #889CE7;
}

.scrolling-wrapper {
    display: flex;
    flex-wrap: nowrap; /* Prevent wrapping of items */
    overflow-x: hidden;
    margin-bottom: 10px; /* Space below the scrolling icons */
    animation: scrolling 30s linear infinite;
}

.icon-container {
    display: inline-block;
    min-width: 200px; /* Adjust the width as needed */
    margin-right: 10px; /* Space between icons */
}

.icon-container a img{
    max-height: 100px;
}

@keyframes scrolling {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-50%); }
}

.scrolling-wrapper {
    animation: scrolling 10s linear infinite;
}


/*footer*/
footer p, footer ul li a, footer #primary menu ul li a, footer ul li, footer address {
    font-size: 20px;
}

.politicalink:hover {
    text-decoration: none;
}

.socialIcons{
    color: #fff;
}

.socialIcons:hover{
    color: rgba(255, 255, 255, 0.5)
}

#email_subscription {
    border-color: gray;
    background-color: transparent;
    border-radius: 5px;
    height: 45px;
    color: gray;
}

#subscription {
    border-color: gray;
    background-color: transparent;
    border-radius: 5px;
    color: gray;
    padding-left: 25px;
    padding-right: 25px;
}

#subscription:hover {
    border-color: #889CE7;
    background-color: #889CE7;
    color: #000;
}

@media (max-width: 991px) {
    body {
        font-size: 18px;
    }
}

@media (max-width: 767px) {
    body {
        font-size: 18px;
    }
}

/*solutions*/

.bluesvg {
    background-color: #889CE7;
}

.redsvg {
    background-color: #C90E29;
}

.bluesvg, .redsvg {
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; /* stack the items vertically */
    height: 100%; /* or any specific height you want */
    width: 100%; /* or any specific width you want */
}

.bluesvg svg, .redsvg svg {
    width: 40px;
    height: 40px;
}

.blackbar {
    width: 50%;
    height: 3px;
    border-radius: 5px;
    background-color: #1B1C1E;
}

.paddingscolorsvgs {
    padding: 80px;
}

.paddingsolutions {
    padding: 50px;
}

/*planes*/
.graybarplanes {
    width: 15%;
    height: 2px;
    border-radius: 5px;
    background-color: #3F4349;
}

.graycolor {
    color: gray;
}

/*pricing*/
#pricing {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#pricing h2 {
    color: gray;
}

#pricing h1 {
    color: gray;
    font-size: 60px;
}

.pricingcontainer {
    width: 60%;
}

#pricing .row svg {
    height: 38px;
    width: 38px;
}

.graypricingline {
    width: 100%;
    height: 1px;
    border-radius: 5px;
    background-color: #3F4349;
}

.pricinglink {
    color: #C90E29;
    text-decoration: underline;
}

.pricinglink:hover {
    color: #562A2C;
}


/*blog*/
#blogcontainer {
    width: 100%;
    min-height: 300px;
    align-items: center;
    display: flex;
    flex-direction: column;
}

#blogcontainer h2 {
    color: gray;
}

/*empezar*/
.form-group input {
    border-color: gray;
    border-radius: 5px;
    height: 60px;
    color: gray;
}

.form-group input:focus {
    border-color: gray;
    border-radius: 5px;
    height: 60px;
    color: black;
}
.form-group textarea {
    border-color: gray;
    border-radius: 5px;
    color: black;
}
.form-group textarea:focus {
    border-color: gray;
    border-radius: 5px;
    color: black;
}


label {
    color: gray;
}

/*politica*/

#politica ul li {
    font-size: 10px;
    color: #181818;
}

.spacer {
    min-height: 100px;
}

#integracion .col-md-4 {
    height: 200px;
    background-repeat: no-repeat;
    background-size: contain;
}

.layer {
    height: 250px;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: rgba(0, 0, 0, 0.5);
    transition: background-color 1s;

}

.box.shadow {
    transform: translateY(0px);
    transition: transform 0.5s;
}

.box.shadow:hover {
    transform: translateY(-10px);
    transition: transform 0.5s;
}

.redh1bold {
    color: #C90E29;
    font-weight: bold;
}

.greenh1bold {
    color: #437C15;
    font-weight: bold;
}

.blueh1bold {
    color: #2091EF;
    font-weight: bold;
}

.greenCerebrumcolor {
    color: #437C15;
}

.blueCerebrumcolor {
    color: #2091EF;
}

#integracion .col-md-4:hover .layer {

    background-color: transparent;
    transition: all 1s;
}

#integracion .col-md-4:hover .text-white {
    z-index: 9;
}

#integracion a {
    position: absolute;
    right: 0;
    top: 0;
}

/* Submenu */
.dropup-content {
    opacity: 0;
    position: absolute;
    background-color: rgba(255, 255, 255, 10%);
    min-width: 160px;
    z-index: 1;
    color: gray;
    transition: all .5s;
}

.dropup-content a {
    color: gray;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropup-content a:hover {
    background-color: transparent;
    color: #C90E29;
}

.dropbtn:hover .dropup-content {
    opacity: 1;
    color: gray;
}

/* Submenu */