/* --------------------------------------------------------------- */

:root {
    
    /* COLORS */
    --greenConexo: #00ff91;
    --blueConexo: #01faff;
    --purpleConexo: #9354ff;
    --whiteConexo: #fff;
    --lightGrayConexo: #f2f2f2;
    --grayConexo: #717171;
    --blackConexo: #000;
    
    /* FONTS */
    --fs-smaller: 0.75rem;
    --fs-small: 0.8rem;
    --fs-regular: 1rem;
    --fs-medium: 1.35rem;
    --fs-large: 1.75rem;

    --ff-primary: 'Cocogoose';
    --ff-secondary: 'Gilroy';
    
}

/* --------------------------------------------------------------- */

/* TEXT */

/* ---------- */

/* TEXT SIZE */

.fs-small {
    font-size: var(--fs-small) !important;
}
.fs-regular {
    font-size: var(--fs-regular) !important;
}
.fs-medium {
    font-size: var(--fs-medium) !important;
}
.fs-large {
    font-size: var(--fs-large) !important;
}

@media screen and (max-width:560px) {
    .fs-small {
        font-size: var(--fs-regular);
    }
}

/* ---------- */

/* TEXT COLOR */

.text-green {
    color: var(--greenConexo);
}
.text-purple {
    color: var(--purpleConexo);
}

/* --------------------------------------------------------------- */

/* BORDERS */
.border-green {
    border-color: var(--greenConexo);
}
.border-purple {
    border-color: var(--purpleConexo);
}

/* --------------------------------------------------------------- */

/* BACKGROUND */

/* ---------- */

/* BACKGROUND COLOR */

.bg-green {
    background-color: var(--greenConexo);
}
.bg-purple {
    background-color: var(--purpleConexo);
}
.bg-black {
    background-color: var(--blackConexo) !important;
}
.bg-light {
    background-color: var(--lightGrayConexo) !important;
}

/* --------------------------------------------------------------- */

/* ICONS */
.icon-purple {
    color: var(--purpleConexo);
}

/* --------------------------------------------------------------- */

.list-group-item {
    cursor: pointer;
    --bs-list-group-action-hover-bg: transparent !important;
    --bs-list-group-action-active-bg: transparent !important;
}

/* --------------------------------------------------------------- */

/* BUTTONS */

/* ---------- */

/* BUTTON SHAPE */

.btn-square {
    width: 50px; /* hard code */
    height: 50px; /* hard code */
}

/* ---------- */

/* BUTTON BACKGROUND COLOR */

.btn-green {
    background-color: var(--greenConexo) !important;
    border-color: var(--greenConexo) !important;
    color: var(--blackConexo) !important;
}
.btn-outline-green {
    background-color: transparent !important;
    border-color: var(--greenConexo) !important;
    color: var(--whiteConexo) !important;
}
.btn-purple {
    background-color: var(--purpleConexo) !important;
    border-color: var(--purpleConexo) !important;
    color: var(--whiteConexo) !important;
}
.btn-outline-purple {
    background-color: transparent !important;
    border-color: var(--whiteConexo) !important;
    color: var(--purpleConexo) !important;
}
.btn-gray {
    background-color: var(--grayConexo) !important;
    border-color: var(--grayConexo) !important;
    color: var(--whiteConexo) !important;
}
.btn-light-gray {
    background-color: var(--lightGrayConexo) !important;
    border-color: var(--lightGrayConexo) !important;
    color: var(--blackConexo) !important;
}

.btn-transparent {
    background-color: transparent !important;
    border-color: transparent !important;
    /* color: var(--whiteConexo) !important; */
}

.btn-about {
    background-color: var(--grayConexo) !important;
    border-color: var(--grayConexo) !important;
    color: var(--lightGrayConexo) !important;
}

/* ---------- */

.btn:focus {
    box-shadow: none !important;
}

/* ---------- */



@media (hover: hover) {
    .btn:focus, .btn.focus {
        outline: 0;
        box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
      }
    }

/* ---------- */

.btn-fake {
    cursor: default !important;   
}

/* ---------- */

.btn-back {
    /* Basic styles */
    padding: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;

    /* Position and size */
    position: relative;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;

    /* Other styles */
    opacity: .5;
    transition: opacity .15s ease;
    color: inherit;
    font-size: 1.5em;
    line-height: 1;
    overflow: hidden;
}

.btn-back:hover {
    opacity: .75;
}

.btn-back:focus {
    opacity: 1;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
}

/* Style the arrow icon */
.btn-back .bi-arrow-left {
    width: 1em;
    height: 1em;
    fill: currentColor; /* makes the SVG color match the font color */
}
 
.btn-close,
.btn-back {
    padding: 0 !important;
}

/* --------------------------------------------------------------- */

/* BADGES */

/* ---------- */

/* BADGE BACKGROUND COLOR */
.badge-purple,
.badge-purple {
    background-color: var(--purpleConexo) !important;
    border-color: var(--purpleConexo) !important;
    color: var(--whiteConexo) !important;
}
.badge-green,
.badge-green {
    background-color: var(--greenConexo) !important;
    border-color: var(--greenConexo) !important;
    color: var(--blackConexo) !important;
}
.badge-gray,
.badge-gray {
    background-color: var(--grayConexo) !important;
    border-color: var(--grayConexo) !important;
    color: var(--whiteConexo) !important;
}
.badge-light-gray,
.badge-light-gray {
    background-color: var(--lightGrayConexo) !important;
    border-color: var(--lightGrayConexo) !important;
    color: var(--blackConexo) !important;
}

/* ---------- */

.badge-number {
    
    font-family: 'DINPro', sans-serif;
    font-size: 1rem !important;
    line-height: 2.1rem !important;

    height: 50px;
    width: 50px;
}

@media screen and (max-width:560px) {

    .badge-number {
        line-height: 2.5rem !important;
    }
    
} 

/* --------------------------------------------------------------- */

/* TOOLTIP */
.custom-tooltip {
    --bs-tooltip-opacity: 1 !important;
    --bs-tooltip-bg: var(--whiteConexo) !important;
    --bs-tooltip-color: var(--blackConexo) !important;
    --bs-tooltip-font-size: var(--fs-regular) !important;
    --bs-tooltip-max-width: 300px !important;
    --bs-tooltip-border-radius: 50vh !important;
    --bs-tooltip-padding-x: 20px !important;
  }

/* --------------------------------------------------------------- */

/* OFFCANVAS (global) */
.offcanvas {
    /* --bs-offcanvas-bg: black !important; */

    min-height: 30svh !important;
    max-height: 96svh !important;

    min-width: 30svw !important;
    max-width: 30svw !important;
}

@media only screen and (max-width: 560px) {

    /* OFFCANVAS (mobile) */
    .offcanvas {

        min-height: 84svh !important;
        max-height: 90svh !important;

        min-width: 80svw !important;
        max-width: 100svw !important;
    }
    
    #listings-offcanvas {
        
        min-height: 90svh !important;
        max-height: 96svh !important;
    
    }
}

/* OFFCANVAS HEADER TITLE */
.offcanvas-header-title {
    line-height: 2rem !important;
}

/* --------------------------------------------------------------- */

/* SEARCH BAR */
.form-control,
.form-control:focus {
    color: var(--blackConexo) !important;
}


::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: var(--grayConexo) !important;
    opacity: 1;
    /* Firefox */
}

:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--grayConexo) !important;
}

::-ms-input-placeholder {
    /* Microsoft Edge */
    color: var(--grayConexo) !important;
}

/* ----------------------------------------------------- */

/* BOOTSTRAP STANDARD FOCUS */

/* form control */
/* accordion button */

.form-control:focus,
.accordion-button:focus {

    outline: none !important;
    border: none !important;
    box-shadow: none !important;

    touch-action: manipulation !important;
    -ms-touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;

}

/* ----------------------------------------------------- */

/* HEADER SECTION */
.main-logo {
    width: 10%;
}
.main-logo-md {
    width: 20%;
}

@media only screen and (max-width:1080px) {
    
    .main-logo {
        width: 30%;
    }
    .main-logo-md {
        width: 40%;
    }

}

/* ----------------------------------------------------- */

/* CATEGORIES ACCORDION */

/* BUTTON TEXT */
.accordion-button{
    font-weight: normal !important;
    box-shadow: none !important;
}
.accordion-button:not(.collapsed) {
    font-weight: bold !important;
    color: var(--blackConexo) !important;
}

/* PLUS/MINUS ICON */
.accordion-button::after {
    background-image: none !important; 
    font-family: 'Font Awesome 5 Free' !important; 
    content: "\f067" !important; 
    font-weight: bolder !important; 
    transform: scale(0.8) !important;
}

.accordion-button:not(.collapsed)::after {
    background-image: none !important; 
    font-family: 'Font Awesome 5 Free' !important; 
    content: "\f068" !important; 
    font-weight: bolder !important; 
}



/* ----------------------------------------------------- */

/* NUMBERS SECTION */

.btn-num-white {
    color: black;
    background-color: white;
    border: 0;
}
.btn-num-black {
    color: white;
    background-color: black;
    border: 0;
}
.btn-num-green {
    color: black;
    background-color: transparent;
    border: 2px solid black;
}

.btn-num-sm {
    height: 160px;
    aspect-ratio: 1/1;
    border-radius: 50%;
}
.btn-num-md {
    height: 210px;
    aspect-ratio: 1/1;
    border-radius: 50%;
}
.btn-num-lg {
    height: 240px;
    aspect-ratio: 1/1;
    border-radius: 50%;
}

/* NUMBER CIRCLE POSITIONING */
#numbers-leis {
    position: absolute;
    z-index: 30;
    top: 33%;
    left: 0;
}
#numbers-startups {
    position: absolute;
    z-index: 20;
    left: 11%;
    top: 50%
}
#numbers-ensino {
    position: absolute;
    z-index: 20;
    left: 30%;
    top: 33%
}
#numbers-eventos {
    position: absolute;
    z-index: 30;
    left: 19%;
    top: 0%
}
#numbers-agentes {
    position: absolute;
    z-index: 10;
    left: 44%;
    top: 45%
}
#numbers-cases {
    position: absolute;
    z-index: 5;
    right: 17%;
    top: 12%
}
#numbers-espacos {
    position: absolute;
    z-index: 30;
    left: 63%;
    bottom: 0%
}
#numbers-investidores {
    position: absolute;
    z-index: 30;
    right: 0%;
    top: 26%
}


.numbers-container {
    height: 100%;
}

@media screen and (max-width:560px) {

    .numbers-container {
        height: 120svh;
    }


    .btn-num-sm {
        height: 160px;
    }
    .btn-num-md {
        height: 200px;
    }
    .btn-num-lg {
        height: 230px;
    }

    

    /* NUMBER CIRCLE POSITIONING */
    #numbers-leis {
        top: 0%;
        left: 5%;
    }
    #numbers-startups {
        top: 85%;
        left: 35%;
    }
    #numbers-ensino {
        left: 5%;
        top: 50%;
    }
    #numbers-eventos {
        left: 0%;
        top: 75%;
    }
    #numbers-agentes {
        left: 45%;
        top: 58%;
    }
    #numbers-cases {
        top: 21%;
        left: 0%;
    }
    #numbers-espacos {
        top: 5%;
        left: 45%;
    }
    #numbers-investidores {
        top: 40%;
        left: 50%;
    }
    
}

/* ----------------------------------------------------- */

/* TESTIMONIALS SECTION */

#testimonials-section .card-body {
    min-height: 70svh !important;   
}

@media screen and (max-width:560px) {
    
    #testimonials-section .card-body {
        min-height: 85svh !important;   
    }

}

.testimonial-picture {

    border-radius: 50%;

    aspect-ratio: 1/1;
    width: min(70px, 70px);

    object-fit: cover;

    background-repeat: no-repeat;
    background-clip: content-box;
    
}

/* ----------------------------------------------------- */

/* MAP SECTION */

#map-section {
    position: relative;
    overflow: hidden;
}

#blurry-map::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background-image: linear-gradient(to top, rgba(0, 0, 0, .98), rgba(0, 0, 0, .5), rgba(0, 0, 0, .98)), 
    url('/assets/img/expanded_map_desktop.png');
    background-size: cover;
    background-position: center;
    filter: blur(.3rem);
    transform: scale(1.3);
}

/* ----------------------------------------------------- */

/* SERVICES SECTION (conexo) */
.service-image {
    aspect-ratio: 10 / 4;
    width: 100%;
    object-fit: cover;
}

/* ----------------------------------------------------- */

/* PARTNERS SECTION */
.partner-logo {
    height: 30px;
}
.partner-logo-md {
    height: 60px;
}

@media screen and (max-width:560px) {
    
    /* .partner-logo-md {
        height: 80px;
    } */

}

/* ----------------------------------------------------- */

@media screen and (min-width:1920px) {
    
    #footer-logo {
        width: 85%;
    }
    
}

/* ----------------------------------------------------- */
