/* @import url('https://fonts.googleapis.com/css2?family=Exo:wght@100;400;700&display=swap'); */

/* =================== */ 
	html{font-size:70%;}
	@media (max-width: 550px) {
		html{font-size:57%;}
	}
	
	body{
            margin:0px;
            font-family:Lato, sans-serif;
            line-height:1.5em;
            color: #555;
	}
	img{border:none;max-width:100%;}
	a{text-decoration:none;color:#783294;}
	a:hover{color:#000;text-decoration:underline;}
	b,strong{color:#783294;}
        
/*************** Menus ***************/
	#div_menu_ppal, 
	#div_menu_foot{margin:0px;padding:0px;background-color:transparent;color:#fff;min-height:2rem;}
	#div_menu_ppal ul, 
	#div_menu_foot ul{display:block;}
	#div_menu_ppal ul li,
	#div_menu_foot ul li{display:inline-block;}
	#div_menu_ppal a,
	#div_menu_foot a{	display:inline-block;padding:5px 12px;margin:3px; color:#fff;
						margin-left:0px;margin-right:4px; line-height:2.5rem;
						font-size:1.1em; text-decoration:none; background-color: rgba(255,255,255,0.2)!important;
						font-weight:light;text-align:center; white-space: nowrap; border-radius:2px;}
	#div_menu_ppal a:hover,
	#div_menu_foot a:hover{background-color:#ffffff; background-color:rgba(255,255,255,0.4)!important; margin-bottom:3px;border-radius:2px;}

	@media (max-width: 550px) {
		#div_menu_ppal a, 
		#div_menu_foot a{ font-size:1.0em;padding:0 0.4em;margin-top:0.1em;}
		#div_menu_ppal ul,
		#div_menu_foot ul{margin:0;padding:0;margin-top:0.5rem;}
		#div_menu_ppal ul li,
		#div_menu_foot ul li{padding: 0.1em 0.2em;padding-top:0;}
	}
	
/*************** Forms ***************/

input.text-input,
input,
select,
textarea{
        padding: 3px 6px;
        margin: 5px 1px;
        font-size: 1.1em;
        background: #fff; /* url('bg-form-field.gif') top left repeat-x; */
        border: 1px solid #bbb;
        border-radius:3px;
	color: #333;
        }
input[type="checkbox"],
input[type="radio"] {
	padding: 0;
        background: none;
	border: 0;
        }
input[type="button"] {
	background-color:#444;
	color:#ddd;
	letter-spacing:1px;
	cursor:pointer;
	}

/* === galleries == */

.galleries a{
	display:inline-block;
	width:100%;
	max-width:250px;
	margin:3rem;
}
.galleries img{
	padding:0.5rem;
	border:2px #783294 solid;
	border-radius:3px;
	width:100%;
	max-width:200px;
}
.galleries img:hover{
	border:2px #aaa solid;
}

.step{
	background-color: #783294;
	color: white;
	border-radius: 50%;
	display: inline-block;
	width: 1.2rem;
	font-size: 2rem;
	line-height: 1.23rem;
	padding: 0.8rem;
	font-weight: bold;
	min-width: 3rem;
	text-align: center;
}

/* ========= styles for alerted_field (error or missing data population forms) ======== */
    .alerted_field{background-color: yellow!important;background: yellow!important;}
    input[type=radio].alerted_field{box-shadow: 0px 0px 1px 4px yellow;}
    input[type=checkbox].alerted_field{box-shadow: 0px 0px 1px 4px yellow;}
	.disabled{background-color:#eee!important;}
	.valid_antispam{background-color:rgba(80,200,80,0.2)!important;border-color:rgba(80,200,80,0.7)!important;}
	.not_valid_antispam{background-color:rgba(200,80,80,0.2)!important;border-color:rgba(200,80,80,0.7)!important;}


/* ====== default style for buttons ===== */

.bt{
    position:relative;
    display: inline-block;
    padding: 3px 11px;
    letter-spacing: 1px;
    background-color: #783294;
    color: #FFF;
    font-weight: bold;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}
.bt:hover{
    background-color: #333!important;
    color: #fff!important;    
    text-decoration:none!important;
}


.lazo, .lazo li {
    background: url(../../../UserFiles/Image/lazo.png) top left no-repeat;
    text-indent: 30px;
    list-style:none;
}

/* 
==============================
    SOCIAL ICONS BAR
==============================
*/

.social ul {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-bottom:3px;
  display: flex;
  justify-content:right;
  gap: 1rem; /* Espacio entre botones */
}

/* Eliminar estilos por defecto de los li */
.social ul li {
  margin: 0;
  padding: 0;
}

/* Estilo para los enlaces circulares */
.social ul li a {
  display: flex;
  align-items: center;    /* Centrado vertical */
  justify-content: center; /* Centrado horizontal */
  width: 32px;           /* Tamaño del círculo */
  height: 32px;          /* Igual que el width para hacer un círculo perfecto */
  border-radius: 50%;    /* Hace el círculo */
  background-color: #f0f0f0; /* Color de fondo del círculo */
  color: #666;           /* Color del icono */
  text-decoration: none; /* Elimina el subrayado del enlace */
  transition: all 0.3s ease; /* Suaviza las transiciones */
}

/* Efecto hover opcional */
.social ul li a:hover {
  background-color: #666;
  color: #fff;
}

/* Ajustes para el icono */
.social ul li a .fa {
  font-size: 16px; /* Tamaño del icono */
  line-height: 1;  /* Asegura que el icono no tenga altura extra */
}

/* Eliminar el espacio que genera &nbsp; */
.social ul li a .fa::after {
  content: none;
}
    
/* 
==============================
    MINI ICONS
==============================
*/
	.ic-phone, .ic-bars, .ic-facebook, .ic-twitter, .ic-youtube, .ic-home, .ic-mail, .ic-search, .ic-sitemap
    {display:inline-block;min-width:19px;min-height:17px;}
    .ic-phone::before, .ic-bars::before, .ic-facebook::before, .ic-twitter::before, .ic-youtube::before, .ic-home::before, .ic-mail::before, .ic-search::before, .ic-sitemap::before
    {content:' '; display: inline-block; width:19px; height:17px;margin-right:0.2rem;margin-bottom:-0.2rem; background-image: url('ic-minicons.png'); }
    
    .ic-sitemap::before{ background-position: 0px 0px; }
    .ic-search::before{ background-position: -19px 0px; }
    .ic-mail::before{ background-position: -38px 0px; }
    .ic-facebook::before{ background-position: -57px 0px; }
    .ic-home::before{ background-position: -76px 0px; }
    .ic-phone::before{ background-position: -95px 0px; }
    .ic-bars::before{ background-position: -114px 0px; }
    .ic-twitter::before{ background-position: -133px 0px; }
    .ic-youtube::before{ background-position: -154px 0px; }

    .ic-sitemap:hover::before{ background-position: 0px -17px; }
    .ic-search:hover::before{ background-position: -19px -17px; }
    .ic-mail:hover::before{ background-position: -38px -17px; }
    .ic-facebook:hover::before{ background-position: -57px -17px; }
    .ic-home:hover::before{ background-position: -76px -17px; }
    .ic-phone:hover::before{ background-position: -95px -17px; }
    .ic-bars:hover::before{ background-position: -114px -17px; }
    .ic-twitter:hover::before{ background-position: -133px -17px; }
    .ic-youtube:hover::before{ background-position: -154px -17px; }

/* ====== default style for div.block areas ===== */

.block{
    padding:3px 11px;
    padding-bottom:10px;
    width:92%;
    margin: 1rem auto;
    margin-bottom:30px;
    background: rgba(0,0,0,0.05);
    border-color:transparent;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

/* ====== NO TOCAR ===== */

.clear{float:none;clear:both;}
.a_l{text-align:left;}
.a_c{text-align:center;}
.a_r{text-align:right;}
.a_t{vertical-align:top;}
.a_m{vertical-align:middle;}
.a_b{vertical-align:bottom;}
.c_b{color:#222;}
.n_w{white-space:nowrap;}
.nw{white-space:nowrap;}

.w50{width:50px;max-width:100%;}
.w100{width:100px;max-width:100%;}
.w150{width:150px;max-width:100%;}
.w200{width:200px;max-width:100%;}
.w250{width:250px;max-width:100%;}
.w300{width:300px;max-width:100%;}
.w350{width:350px;max-width:100%;}
.w400{width:400px;max-width:100%;}

.w50p{min-width:50%;max-width:100%;}
.w70p{min-width:70%;max-width:100%;}
.w80p{min-width:80%;max-width:100%;}
.w100p{min-width:100%;max-width:100%;}

/* 
==============================
    LAYOUT
==============================
*/
    #container1, #container2, #container3, #container4, #container5{
        background-color: #FFF;
        border: 0px none;
        margin: 0px auto;
        padding: 0px;
        /*box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.15);*/
        width:100%;
    }
    /*#container1 .row:first-child{display:none;}*/
    #container5 .row:first-child{display:none;}
    #container2, #container1 {
        background-color:#783294;
    }
    #container4 {
        border:none;
        background-color: #783294;
        color:#fff;
        border-left:none;
        border-right:none;
    }

/* ======= FIRST HEADER ======= */

    #first_header_wrapper{
        width:100%;
        max-width:1000px;
        background-color: transparent;
        margin:0px auto;
        padding:0.5rem 3rem;
        line-height:2em;
        font-size: 0.9em;
    }
        @media (max-width: 550px) {
            #first_header_wrapper div.columns, #first_header_wrapper div.columns > div{
				display:inline-block!important; float:none!important; width:auto!important;
            }
            #first_header_wrapper div.social{padding-left:1rem!important;}
            #first_header_wrapper *{
                text-align:center;
            }
        }
    
/* ======= SECOND HEADER ======= */   

    #second_header_wrapper{
        width:100%;
        max-width:1000px;
        background-color: transparent;
        margin:0px auto;
        padding:0rem 1.5rem;
        color: #fff;
        text-shadow: 1px 1px 1px #783294;
    }
    #second_header_wrapper a{
		text-shadow: 1px 1px 1px #783294;
    }
    #second_header_wrapper h1{
		font-size:3.5rem;
    }
    #second_header_wrapper h1, #second_header_wrapper h2{
        color: #fff;
        text-shadow: 1px 1px 1px #783294;
    }
    
    
/* ======= CENTRAL WRAPPER ======= */

    #central_wrapper{
        color: #555;
        padding: 2rem;
        background-color: #fff;
        margin:0rem auto;
        width:100%;
        max-width:1000px;
        min-height:400px;
    }
    #central_wrapper h1, #central_wrapper h2, #central_wrapper h3,
    #central_wrapper h4, #central_wrapper h5, #central_wrapper h6{
        font-weight: bold;
        color: #783294;
        margin: 0px;
        margin-bottom: 1.5rem;
        margin-top: 2rem;
    }
    #central_wrapper h1{
        border-bottom: 1px #aaa solid;
    }
        @media (max-width: 750px) {
                #sidebar { text-align:center;}
                #central_wrapper{ padding: 1em; }
        }
        @media (max-width: 550px) {
                #central_wrapper{ padding: 0.5em; }
        }
    #main { 
        min-height:30em;
    }

/* ======= FIRST FOOT ======= */
    #first_foot_wrapper{ 
        width:100%;
        max-width:1000px;
        padding:1em; padding-bottom:0.6em;
        background-color: transparent;
        margin:0 auto;
    }
    #first_foot_wrapper h1, #first_foot_wrapper h2, #first_foot_wrapper h3,
    #first_foot_wrapper h4, #first_foot_wrapper h5, #first_foot_wrapper h6{
        text-align:left;
        position:relative;
        color: #fff;
        background-color: #ca9;
        padding:3px 6px;
    }
    #first_foot_wrapper h1:before, #first_foot_wrapper h2:before, #first_foot_wrapper h3:before, 
    #first_foot_wrapper h4:before, #first_foot_wrapper h5:before, #first_foot_wrapper h6:before{
        content: '';
        display:inline-block;   margin-right:5px;
        width:0.8em;  height:0.8em;
        background: url('edging_yellow.gif') center center repeat;    
    }
    #first_foot_wrapper .social ul{
        text-align:left;
    }
    #first_foot_wrapper .social ul a{
        color: #ca9;
    }
    @media (max-width: 750px) {
        #first_foot_wrapper .social ul,
        #first_foot_wrapper .horizontal_menu{
            text-align:center;
        }
        #first_foot_wrapper .social ul{
            margin-bottom:0.8rem;
        }
    }
    
/* 
==============================
    TREE MENU (for main menu at top page)
==============================
*/

    .tree_menu{
        padding:0px;
        text-align:center;
    }

    .tree_menu ul{
            margin: 5px 9px;
            padding: 6px;
            font-weight:normal;
            text-align:center;
    }
    .tree_menu ul li {
			display:inline-block;
            line-height: 18px;
            margin: 0;
            padding: 0 0.3em;
            position: relative; 
            list-style: none;
    }
    .tree_menu ul li:before {
            display:none;
    }

    /* main level link */
    .tree_menu ul a {
            float:left;
            margin:2px 7px;
            min-width: 7rem;
            text-align:center;
            color:#555;
            font-size:1.1em;
            text-decoration:none;
            border-bottom:none;
            display: block;
            padding:  8px 5px;
            margin: 0;
    }
    /* main level link hover */
    .tree_menu ul a.current, .tree_menu ul li:hover > a {
            transition: background-color 0.2s ease-in-out 0s;
            color: #783294;
            text-decoration:none!important;
    }

    /* sub levels link hover */
    .tree_menu ul ul li a{
            text-align: left;
    }
    .tree_menu ul ul li:hover{
            color: #783294!important;
    }
    .tree_menu ul ul li:hover a, .tree_menu ul li:hover li a {
            background: none;
            border: none;
            color: #777;
    }
    .tree_menu ul ul li a:hover {
            color: #783294;
    }

    /* dropdown */
    .tree_menu ul li:hover > ul {
            display: block;
    }

    /* level 2 list */
    .tree_menu ul ul {
            display: none;
            z-index: 15;
            background-color:#f5f5f5;
            margin: 0;
            padding: 0.5em;
            position: absolute;
            top: 28px;
            left: 0;
            border-top:3px #783294 solid;
            border-bottom:3px #ccc solid;
    }
    .tree_menu ul ul li {
            position: relative;
            width:100%;
            margin: 0;
            padding: 0;
            white-space: nowrap;
    }

    .tree_menu ul ul a {
            font-weight: normal;
            display:block!important;
    }

    /* level 3+ list */
    .tree_menu ul ul ul {
            left: 181px;
            top: -3px;
    }

    /* clearfix */
    .tree_menu ul:after {
            content: '.';
            display: block;
            clear: both;
            visibility: hidden;
            line-height: 0;
            height: 0;
    }
    .tree_menu ul {
            display: inline-block;
    }

    html[xmlns] .tree_menu ul {
            display: block;
    }

    * html .tree_menu ul {
            height: 1%;
    }    
    

    
/* ======= SECOND FOOT ======= */
    #second_foot_wrapper{ 
        padding:1em; padding-top:2em;
        width:100%;
        max-width:1000px;
        margin:0 auto;
    }
        #second_foot_wrapper h3{
            font-size:1.1rem;
            font-weight: 900;
			color: #fff;
			background-color: #ca9; border-radius:2px;
			padding:3px 6px;
        }
        #second_foot_wrapper a { 
            display:inline-block;
        }
        #second_foot_wrapper li a:hover { 
            color: #ca9;
            margin-left: -4px;
        }
        #second_foot_wrapper li a:hover:before { 
            color: #ca9;
        }
        #second_foot_wrapper ul, #second_foot_wrapper ul li{
            position:relative;
            list-style: none;
        }
        #second_foot_wrapper li{
            padding-left:1.3rem;
        }
        #second_foot_wrapper li a:before{
            content: "";
            display: block;
            width: 12px;
            height: 12px;
            position: absolute;
            top: 0px;
            left: 0px;
            font-family: FontAwesome;
            font-size: 0.9rem;
            color: #666;
        }
        
/* ======= THIRD FOOT ======= */
    #third_foot_wrapper{
        padding-top:2rem;
        border-top: 1px #d6d6d6 solid;
        background-color: #ece9ea;
        line-height: 1.3;
    }   

