* {
    box-sizing: border-box;
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

*:hover,
*:active,
*:focus {
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

:root {
    --space-container: 1.5rem;
}

/* SECTION 1 LAYOUT DEL SITIO*/

.page_container {
    position: relative;
    display: grid;
    margin-left: auto;
    margin-right: auto;
    max-width: 1100px;
    grid-template-columns: 70% 30%;
    grid-template-areas:
        "header_section header_section"
        "nav_menu_section nav_menu_section"
        "slider_section slider_section"
        "main_content_section aside_section"
        "footer_section footer_section";
    box-shadow: 0px 0px 2px #ccc;
}

/* .change_theme_section{
    grid-area: change_theme_section;    
} */


.header_section {
    grid-area: header_section;
}

.navbar_section {
    grid-area: nav_menu_section;
}

.slider_section {
    grid-area: slider_section;
    position: relative;
    padding-bottom: 3rem;
}

.aside_section {
    grid-area: aside_section;
}

.main_content_section {
    grid-area: main_content_section;
}

.footer_section {
    grid-area: footer_section;
}


/* SECTION ESTILOS CSS */

.options_themes{
    display: flex;
    justify-content: space-around;
}

.themes_section{
    margin-bottom: 2.4rem;
}

.themes_section h4{
    font-family: Helvetica, Arial;
    padding-top: 1rem;
    font-size: 1.4rem;
    text-align: center;
    color: #333;
    
}

.themes_section span{
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    padding: .7rem;
    cursor: pointer;
}

.themes_section span.red{
    background: #ca3413;
}

.themes_section span.blue{
    background: #1f87C4;
}

.themes_section span.green{
    background: #235e3f;
}
/* SECCIONES */

.main_content_section,
.header_section,
.navbar_section,
.slider_section,
.footer_section {
    padding-left: var(--space-container);
    padding-right: var(--space-container);
}

.main_content_section,
.header_section,
.slider_section,
.aside_section,
.navbar_section {
    background: white;
}

body {
    background-attachment: fixed;
    margin-top: 1.5rem;
    transition: all 1s;
}

.header_section {
    display: flex;
    height: 120px;
    align-items: center;
    justify-content: space-between;
    /* margin-bottom: 1.3rem; */


}

#logo {
    font-family: Verdana, Arial;
    font-size: 35px;
    font-weight: bold;
    padding-bottom: 1rem;
    padding-top: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    text-transform: uppercase;
}

.buscador input {
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.navbar_section label,
.navbar_section input {
    display: none;
}

#menu_page {
    display: flex;
    list-style: none;
    margin-top: .5rem;
    margin-bottom: .5rem;
    background: #343334;
}

#menu_page li {
    margin-right: 2rem;
    font-size: 1.3rem;
    font-family: Helvetica, Arial;
    transition: all 300ms;
    padding: 1rem;
}

#menu_page li a {
    text-decoration: none;
    color: white;
}

#menu_page li:hover {
    cursor: pointer;
}


.main_content_section {
    padding-left: var(--space-container);
    padding-right: var(--space-container);
}

/* ESTILOS ARTICULOS */
.post {
    font-family: Helvetica, Arial;
}

.post:last-child{
    padding-bottom: 1.8rem;
}

.post h2 {
    margin-bottom: 8px;
}

.post span {
    color: gray;
}

.btn_see_more {
    padding: 12px;
    text-decoration: none;
    margin-top: 10px;
    display: block;
    width: 120px;
    text-align: center;
    font-size: 1rem;
}

/* SECTION ASIDE */

.about_section,
.login_section {
    font-family: Helvetica, Arial;
    margin: 1.5rem;
}

.about_section h4 {
    text-align: center;
    color: #333;
    font-size: 1.4rem;

    /* background: url("../img/lines.png"); */
}

.about_section span {
    background: #fff;
}

.about_section img {
    display: block;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.about_section p {
    font-size: 1rem;
    text-align: justify;
}


.footer_section {
    text-align: center;
}



/* ESTILOS FORMULARIOS */

.login_section h4 {
    text-align: center;
    color: #333;
    font-size: 1.4rem;
}

.login_section h5{
    text-align: center;
    font-size: 1.2rem;
    color: #333;
    cursor: pointer;
}

.form{
    font-family: Helvetica, Arial;
}

form label{
    display: block;
    font-size: 1.2rem;
}

form input[type='text'],
form input[type='password'],
form input[type="email"],
form input[type="date"],
form input[type="number"],
select {
    padding: 5px;
    border-radius: 2px;
    border: 1px solid #ccc;
    width: 100%;
    margin-bottom: 10px;
    margin-top: 10px;
    box-shadow: 0px 0px 2px #ccc;
}

form input[type='submit'] {
    display: block;
    padding: .8rem 1.2rem;
    font-size: 1rem;
    font-weight: 400;
    background: #ccc;
    border: 1px solid gray;
    background-color: #6c757d;;
    border-color: #6c757d;;
    color: #fff;
    border-radius: .25rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: .7rem;
    cursor: pointer;
}

form input[type='submit']:hover{
    background-color: #5a6268;
    border-color: #545b62;
}

/* FOOTER SECTION */

.footer_section {
    font-family: Helvetica, Arial;
    color: #fff;
    height: 50px;
    background: rgba(51, 51, 51, 0.70);
    text-align: center;
    font-weight: bold;
}

.footer_section p{
    display: flex;
    justify-content: space-around;
}

.footer_section span{
    cursor: pointer;
}

/* CARRUSEL */
.carrusel_slider_sm {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.slider_sm_item {
    max-width: 1100px;
    width: 100%;
    height: 400px;
}

.slider_sm_item img {
    width: 100%;
    height: 100%;
}

.slider_sm_item {
    position: relative;
    display: none;
    transition: all 1s;
    animation-duration: 1.5s;
    animation-name: fadeImage;
}

.slider_sm_item.active {
    display: block;

}

.slide_change {
    animation-name: fadeIn;
    animation-duration: 0.25s;
}

/* CAPTION SLIDE */
.slider_sm_caption {
    font-family: Helvetica, Arial;
    position: absolute;
    bottom: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    background: #7d7b6d;
    color: #fff;
    height: 50px;
    font-size: 1.3rem;
    opacity: .8;
    font-weight: bold;
}

/* DOTS */
.slider_sm_dots {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;

}

.item_dot {
    cursor: pointer;
    width: 30px;
    height: 30px;
    background: #797873;
    border-radius: 50%;
    margin-left: .7rem;
    margin-left: .7rem;
    transition: all .5s;
    opacity: .4;
}

.item_dot.active {
    background: #797873;
    opacity: 1;
}

/* CONTROLS */
.left_control,
.right_control {
    position: absolute;
    top: 40%;
    z-index: 10;
    opacity: .7;
    color: #fff;
}

.left_control a i,
.right_control a i {
    font-size: 70px;
    color: #fff;
}

.left_control {
    left: 5%;
}

.right_control {
    right: 5%;
    color: #fff;
    opacity: .7;
}

/* PRELOADER */
.hide_page {
    display: none !important;
}

/* CIRCLE */

.items_preloader {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.preloader_circle:before,
.preloader_circle:after,
.preloader_circle {
    border-radius: 50%;
    width: 3.5em;
    height: 3.5em;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load_circle 1.8s infinite ease-in-out;
    animation: load_circle 1.8s infinite ease-in-out;
}

.preloader_circle {
    margin: 8em auto;
    font-size: 10px;
    position: relative;
    -webkit-animation-delay: 0.16s;
    animation-delay: 0.16s;
}

.preloader_circle:before {
    left: -3.5em;
}

.preloader_circle:after {
    left: 3.5em;
    -webkit-animation-delay: 0.32s;
    animation-delay: 0.32s;
}

.preloader_circle:before,
.preloader_circle:after {
    content: '';
    position: absolute;
    top: 0;
}

@keyframes load_circle {

    0%,
    80%,
    100% {
        box-shadow: 0 3.5em 0 -1.3em #00ffb8;
    }

    40% {
        box-shadow: 0 3.5em 0 0 #00ffb8;
    }
}

/* SERVICIOS */

.services_section{
    margin-top: 2rem;
    font-family: Helvetica, Arial;
}

.item_service_title{
    background: #eeedef;
    border-radius: 5px 5px 0 0;
    color: #8f9096;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    z-index: 100;
    margin: 0;
    align-items: center;
    margin-bottom: .3rem;
}

.item_service_title.active{
    color: #fff;
    margin-bottom: 0;
}

.item_service_title:after{
    content: "\002B";
    font-size: 1.8rem;
}

.item_service_title.active:after{
    content: "\002D";
}

.item_service_title + .content_item{
    
    /* height: 0px; */
    /* transform: scale(-1); */
    opacity: 0;
    transition: all .2s;
    display: none;
}

.item_service_title.active + .content_item{
    text-align: center;
    /* height: auto; */
    /* min-height: 130px; */
    color: #3c3b3e;
    padding: .31rem;
    opacity: 1;
    /* transform: scale(1); */
    display: block;
}

.content_item{
    border: 1px solid #e4e3e4;
    padding: 1rem;
    font-size: 1.3rem;
    border-radius: 0 0 5px 5px;
    margin-bottom: .3rem;
}

.animation_reveal{
    animation-name: animation_reveal_dn;
    animation-duration: .5s;
}


/* RELOJ */
.live_time{
    display: block;
    text-align: center;
    font-size: 1.3rem;
    font-weight: bold;
    font-family: Helvetica, Arial;
    color: #333;
    padding: 30px;
    padding-bottom: 0;
    margin-left: auto;
    margin-right: auto;
}

/* FORMULARIO CONTACTO */


.form_contact_section h2{
    text-align: center;
    color: #333;
    font-size: 2rem;
}
/*Fin de CSS Preloader*/

/* RESPONSIVE MEDIA QUERIES */
@media screen and (max-width: 860px) {
    body {
        margin-top: 0;
        --space-container: .5rem;
    }

    .header_section {
        flex-direction: column;
    }

    .page_container {
        margin-top: 0;
        grid-template-columns: 100%;
        width: 100%;
        grid-gap: 0px;
        grid-template-areas:
            "header_section"
            "nav_menu_section"
            "slider_section"
            "main_content_section"
            "aside_section"
            "footer_section";
    }

    #menu_page {
        display: block;
        text-align: center;
        padding-left: 0;
        margin-top: 0;
        height: 0;
        opacity: 0;

    }

    #menu_page li {
        padding-right: 0;
        margin-right: 0;
        cursor: pointer;
    }

    .navbar_section input {
        display: none;
    }

    .navbar_section label {
        display: block;
        background: #343334;
        padding: .6rem;
        margin: 0;
        color: white;
        text-align: center;
        cursor: pointer;
        font-weight: bold;
        font-size: 1.8rem;
    }

    #toggle_menu:checked+#menu_page {
        animation: showMenu .2s ease-in;
        opacity: 1;
        height: auto;
        transition: height 0ms 0ms ease-in-out, opacity 600ms 0ms ease-in-out;
    }

    #logo {
        width: 100%;
    }

    .buscador,
    .buscador input {
        width: 100%;
    }

    .navbar_section {
        padding-top: 1.1rem;
    }

    .slider_sm_item {
        height: 300px;
    }

    .left_control,
    .right_control {
        top: 30%;
    }



}

@keyframes showMenu {
    0% {
        height: 0;
        opacity: 0;
    }

    100% {
        height: auto;
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeImage {
    0% {
        opacity: .3;
    }

    100% {
        opacity: 1;
    }
}


/* HELPERS */
.alert-danger{
    color: #b94a48;
    background-color: #f2dede;
    border: 1px solid #b94a48;
    border-radius: 4px;
    padding: 15px;
    font-size: 1.2rem;
}

.form-error{
    color: #b94a48;
}

.has-error{
    margin-top: .6rem;
    margin-bottom: .6rem;
}

/* ANIMACION OCULTAR */
@keyframes animation_reveal_dn {
	0% {
		/* display: none; */
		/* opacity: 0; */
		transform: scale(0);
		/* -webkit-transform: scale(0); */
	}
	100% {
		/* display: block; */
		/* opacity: 1; */
		transform: scale(1);
		/* -webkit-transform: scale(1); */
	}
}