@font-face {
	font-family: NewText;
	src: url('/fonts/Newtext_Regular.ttf');
}
@font-face {
	font-family: Eurasia;
	src: url('/fonts/Eurasia_Regular.ttf');
}

html, body {
     height: 100%;
}

body {
    font-family: 'Ubuntu', sans-serif;
}

#turinter-site {
	height: 100%;
	/*display: flex;
	flex-direction: column;*/
}

#goTop {
	opacity: 1;
	position: fixed;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	text-align: center;
	line-height: 50px;
	right: 25px;
	bottom: 25px;
	font-size: 32px;
	background: rgba(32,60,141,1);
	color: rgba(255,255,255,1);
	display: none;
}

.btn-primary, .bg-primary, .badge-primary {
    background-color: rgba(32,60,141,1);
}

.table-primary, .table-primary>th, .table-primary>td {
    background-color: rgba(32,60,141,1);
}
/*titulo de los productos  */ 

.titulo-producto {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 7px 15px;
	background-color: rgba(32,60,141,1);
	font-size: 14px;
	font-weight: bold;
	color: rgba(255,255,255,1);
	box-shadow: 5px 5px 3px rgba(0,0,0,.2);
}
.product-hero{
    position:relative;
    width:100%;
    overflow:hidden;
    border-radius:12px 12px 0px 0px;
}

.product-hero img{
    width:100%;
    height:auto;
    display:block;
}

.product-title-box{
    position:absolute;
    bottom:20px;
    left:20px;
    background:rgba(32,60,141,0.92);
    padding:10px 18px;
    border-radius:10px;
    box-shadow:0 4px 12px rgba(0,0,0,.25);
    z-index:2;
    max-width:70%;
}

.product-title-box h1{
    margin:0;
    font-size:28px;
    color:#fff;
    font-weight:700;
    line-height:1.2;
}

.product-downloads{
    position:absolute;
    top:20px;
    right:20px;
    z-index:2;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.product-downloads .btn{
    font-size:13px;
    padding:8px 14px;
    border-radius:8px;
}

/* MOBILE FIX */
@media(max-width:768px){

    .product-title-box{
        position:relative;
        bottom:auto;
        left:auto;
        max-width:100%;
        margin-bottom:12px;
        border-radius:8px;
    }

    .product-title-box h1{
        font-size:20px;
        text-align:center;
    }

    .product-downloads{
        position:relative;
        top:auto;
        right:auto;
        justify-content:center;
        margin-bottom:12px;
    }

    .product-hero{
        display:flex;
        flex-direction:column;
    }
}


/* Info Navigation */
.navbar-info {
	background: rgba(250,250,250,1);
    border-top: solid 2px rgba(28,187,180,1);
}
.navbar-info .container {
	height: 45px;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: space-between;
	font-size: 16px;
}
.navbar-info a {
	text-decoration: none;
	color: rgba(130, 130, 130, 1);
	margin: 0 5px;
}

/* Main Navigation */
.navbar-custom {
	background-color: rgba(32,60,141,1);
	padding: 5px 15px;
}
.navbar-custom .navbar-brand {
	display: flex;
	flex-direction: column;
	font-family: NewText;
}
.navbar-custom .navbar-brand #since{
	font-size: 10px;
}
.navbar-custom .navbar-brand #name{
	font-style: italic;
	font-size: 30px;
}
.navbar-custom .navbar-brand #slogan{
	font-size: 12px;
}
.navbar-custom .navbar-brand #yellow-line{
	background-color: yellow;
}
.navbar-custom .hamburger {
	padding: 0px;
	outline: 0;
}
.navbar-custom .hamburger-box {
    height: 8px;
}

.navbar-custom .hamburger-inner, .navbar-custom .hamburger-inner::before, .navbar-custom .hamburger-inner::after {
	background-color: #fff;
	opacity: 1;
}
.navbar-custom .hamburger.is-active .hamburger-inner,
.navbar-custom .hamburger.is-active .hamburger-inner::before,
.navbar-custom .hamburger.is-active .hamburger-inner::after {
    background-color: #fff;
    opacity: 1;
}

.second-navbar-custom {
	background-color: rgba(32,60,141,1);
	padding: 3px 15px;
}

/* Main Content Wrapper */
#main-content-wrapper {
	padding: 30px 0;
	flex: 1;
}

/* Footer */
#footer-wrapper {
	/*margin-top: 100px;*/
}
#footer-top {
	background-color: rgba(36,47,62,1);
	color: rgba(200,200,200,1);
	padding: 35px 0 0 0;
	font-size: 14px;
	text-align: justify;
}
#footer-top i {
	width: 20px;
	text-align: center;
}
#footer-top ul li {
	margin-bottom: 3px;
}
#footer-botton {
	background: rgba(245,245,245,1);
}
#footer-botton .container {
	padding: 15px;
	display: flex;
	-ms-align-items: center;
	align-items: center;
}

/* Section Title */
.section-title {
	border-top: 5px solid rgba(32,60,141,.8);
    margin-bottom: 5px;
    margin-top: 24px;
    font-weight: bold;
    color: rgba(32,60,141,1);
    /*text-align: center;*/
}
.section-title span {
	/*font-weight: bold;*/
	background: #fff;
    display: inline-block;
    padding: 0 24px 0 0;
    position: relative;
    top: -18px;
}

/* Products */
.card-product {
	position: relative;
}
.card-product .product-price {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 7px 15px;
	background-color: rgba(32,60,141,1);
	font-size: 14px;
	font-weight: bold;
	color: rgba(255,255,255,1);
	box-shadow: 5px 5px 3px rgba(0,0,0,.2);
}

.card-product-availability {
	background-color: rgba(32,60,141,1);
}
/* Products */


/* Tarifario */
.table .thead-custom th {
    color: #fff;
    background-color: rgba(32,60,141,1);
    border-color: rgba(32,60,141,1);
}
/* Tarifario */


/* Product Page */
.child-allow-number {
	margin: 7px 0px 0px 0px;
}
.child-allow-number span {
	padding: 12px 20px 12px 20px;
}
/* Product Page */
#stmenu{
font-family: Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, "sans-serif";
}


/* =========================================
   SUPLEMENTOS PRODUCT
========================================= */

.supplement-card{
    position: relative;

    margin-bottom: 35px;
}

/* =========================================
   IMAGEN
========================================= */

.supplement-img-wrapper{
    position: relative;

    overflow: hidden;

    border-radius: 20px;

    box-shadow:
        0 12px 30px rgba(0,0,0,.15);
}

.supplement-img{
    width: 100%;
    aspect-ratio: 16/9;

    object-fit: cover;

    display: block;

    transition: transform .4s ease;
}

.supplement-card:hover .supplement-img{
    transform: scale(1.05);
}

/* =========================================
   OVERLAY
========================================= */

.title-overlay{
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    padding: 16px;

    background: linear-gradient(
        to top,
        rgba(0,0,0,.88),
        transparent
    );
}

.title-overlay h5{
    margin: 0;

    color: #fff;

    font-size: 15px;
    font-weight: 700;
}

/* =========================================
   BOTON FLOTANTE
========================================= */

.supplement-button-wrap{
    position: relative;

    margin-top: -12px;

    z-index: 20;
}

/* =========================================
   BOTON MODERNO
========================================= */

.btn-add-modern{
    display: flex;
    justify-content: center;

    width: 100%;
}

.btn-check{
    display: none !important;
}

.btn-modern{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    height: 46px;

    padding: 0 22px;

    border-radius: 999px;

    /* AZUL GLASS */
    background: rgba(0,123,255,.18);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    border: 1px solid rgba(0,123,255,.25);

    color: #FFFFFF;

    font-size: 14px;
    font-weight: 700;

    box-shadow:
        0 10px 25px rgba(0,123,255,.18);

    transition: all .25s ease;
	text-shadow: 0 1px 3px rgba(0,0,0,.25);
}

.btn-modern:hover{
    transform: translateY(-3px);

    background: rgba(0,123,255,.24);

    box-shadow:
        0 14px 30px rgba(0,123,255,.28);
}
/* =========================================
   ACTIVO
========================================= */

.btn-check:checked + .btn-modern{
    background: linear-gradient(
        135deg,
        #00b894,
        #00d2a0
    );

    color: #fff;
}

/* =========================================
   DIVIDER
========================================= */

.section-divider{
    display: flex;
    align-items: center;
    width: 100%;
    margin: 35px 0;
}

.section-divider::before,
.section-divider::after{
    content: "";

    height: 1px;

    background: linear-gradient(
        to right,
        transparent,
        rgba(0,0,0,0.25),
        transparent
    );

    flex: 1;
}

.section-divider span{
    padding: 6px 14px;
    margin: 0 12px;

    font-size: 13px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;

    color: #555;

    background: rgba(255,255,255,0.6);

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    border-radius: 999px;

    border: 1px solid rgba(0,0,0,0.06);

    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
/* =========================================
   PROGRAM TIMELINE
========================================= */

.program-container{
    position: relative;
}

.program-list{
    display: flex;
    flex-direction: column;
    gap: 42px;
}

/* =========================================
   ITEM
========================================= */

.program-item{
    position: relative;

    display: flex;
    gap: 26px;
}

/* =========================================
   TIMELINE
========================================= */

.program-timeline{
    position: relative;

    width: 40px;
    min-width: 40px;

    display: flex;
    justify-content: center;
}

/* PUNTO */

.timeline-dot{
    position: relative;
    z-index: 3;

    width: 18px;
    height: 18px;

    margin-top: 18px;

    border-radius: 50%;

    background: linear-gradient(135deg,#ffb347,#ff8c42);

    border: 4px solid #fff;

    box-shadow:
        0 0 0 4px rgba(255,140,66,.14),
        0 6px 14px rgba(0,0,0,.14);
}

/* LINEA */

.timeline-line{
    position: absolute;

    top: 36px;
    bottom: -42px;

    left: 50%;
    transform: translateX(-50%);

    width: 3px;

    border-radius: 20px;

    background: linear-gradient(
        to bottom,
        rgba(255,179,71,.95),
        rgba(31,99,146,.22)
    );
}

/* OCULTAR ULTIMA LINEA */

.program-item:last-child .timeline-line{
    display: none;
}

/* =========================================
   CONTENT
========================================= */

.program-content{
    display: flex;
    gap: 34px;

    width: 100%;
}

/* =========================================
   IMAGE
========================================= */

.program-image{
    width: 240px;
    min-width: 240px;
}

.program-image img{
    width: 100%;

    aspect-ratio: 16 / 9;

    object-fit: cover;

    border-radius: 18px;

    display: block;

    box-shadow: 0 10px 28px rgba(0,0,0,.12);

    transition: transform .35s ease,
                box-shadow .35s ease;
}

.program-image img:hover{
    transform: translateY(-4px) scale(1.01);

    box-shadow: 0 18px 36px rgba(0,0,0,.18);
}

/* =========================================
   INFO
========================================= */

.program-info{
    flex: 1;
}

.program-title{
    font-size: 20px;
    font-weight: 800;

    margin-bottom: 14px;

    color: #2b2b2b;

    line-height: 1.3;
}

.program-description{
    font-size: 15px;
    line-height: 1.7;

    color: #555;

    margin-bottom: 22px;
}

/* =========================================
   DETAILS BOX
========================================= */

.program-details-box{
    display: flex;
    flex-wrap: wrap;
    gap: 26px;

    border: 1px solid #dfe8e2;

    background: linear-gradient(
        135deg,
        #ffffff,
        #f8fbf9
    );

    border-radius: 18px;

    padding: 20px 22px;

    box-shadow: 0 6px 18px rgba(0,0,0,.04);
}

.program-detail{
    display: flex;
    align-items: flex-start;
    gap: 12px;

    min-width: 190px;
}

.program-detail-icon{
    width: 42px;
    height: 42px;

    min-width: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: rgba(39,74,179,.08);

    color: #274AB3;

    font-size: 17px;
}

.program-detail strong{
    display: block;

    font-size: 14px;
    font-weight: 700;

    color: #444;

    margin-bottom: 3px;
}

.program-detail span{
    display: block;

    font-size: 14px;

    color: #777;

    line-height: 1.4;
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:991px){

    .program-item{
        gap: 18px;
    }

    .program-content{
        flex-direction: column;
        gap: 20px;
    }

    .program-image{
        width: 100%;
        min-width: 100%;
    }

    .program-image img{
        width: 100%;
    }

    .program-details-box{
        gap: 18px;
    }

    .program-detail{
        min-width: 100%;
    }

}