body {
  background: #F1F1F1;
  font-family: 'Roboto', sans-serif;
  -webkit-transition: .3s ease all;
  transition: .3s ease all;

}

body.dark {
    background: #010103;
}
 .heading .switch {
  background: #343D5B;
  border-radius: 1000px;
  border: none;
  position: relative;
  cursor: pointer;

  display: flex;
  outline: none;
}
.heading .switch::after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  background: #F1F1F1;
  top: 0;
  left: 0;
  right: unset;
  border-radius: 100px;
  -webkit-transition: .3s ease all;
  transition: .3s ease all;
  -webkit-box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.2);
}
.heading .switch.active {
  background: orange;
  color: #000;
}
 .heading .switch.active::after {
  right: 0;
  left: unset;
}
 .heading .switch span {
  width: 30px;
  height: 30px;
  line-height: 30px;
  display: block;
  background: none;
  color: #fff;
}
.heading {
  background: url(../imagenesRaelpa/HederRaelpa.PNG) no-repeat;
  background-size: cover;
  background-position: center;
  text-align: center;
  padding-top: 9rem;
  padding-bottom: 8rem;
}
body.dark .heading{
      background: url(../imagenesRaelpa/bamina.png) no-repeat;
  background-size: cover;
  background-position: center;
  text-align: center;
  padding-top: 9rem;
  padding-bottom: 8rem;
}
.heading h1 {
  color:black;
  font-size: 4rem;
}
body.dark .heading h1 {
   color:whitesmoke;
}
.heading p {
  padding-top: 1rem;
  font-size: 2rem;
  color: #111;
  
}
body.dark .heading p {
  
  color: wheat;
  
}
.heading p a {
  color: #111;
  padding-right: .5rem;
}
body.dark .heading p a {
  
  color: wheat;
  
}

.heading p a:hover {
  color: yellow;
 
}
.titulo h2{
    font-size: 2rem;
    text-transform: uppercase;
    color:black;
    text-align: center;
}
body.dark .titulo h2{
    color:#fff;
}
.service {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(10rem, 1fr))[auto-fit];
      grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 2rem;
}

.service .box {
  text-align:center;
  padding: 1.5rem;
}
.service .box img{
    height: 7rem;
  width: 7rem;
  line-height: 1rem;
  font-size: .5rem;
  color: white;
   background:var(--yellow);
  margin-bottom: 1rem;
  border-radius: 50%;
}
body.dark .service .box img{
     color: #000;
}
.service .box i {
  height: 7.5rem;
  width: 7.5rem;
  line-height: 7.5rem;
  font-size: 3.5rem;
  color: black;
  
  background:var(--yellow);
  margin-bottom: 1rem;
  border-radius: 50%;
}
body.dark .service .box i {
    color: #000;
}
.service .box p {
  font-size: 1.1rem;
  line-height: 1.5;
  
  text-transform: uppercase;
  color: black;
}
body.dark .service .box p {
    color:#ccc;
}
/* Configuración de los slides*/
    .mySlides {display: none}
    
    /* Slideshow container */
    .slideshow-container 
    {
        /* El Tamaño del Contenedor de Imagenes */
        max-width: 800px;
        position: relative;
            margin: auto;
        }

        /* Next & previous buttons */
        .prev, .next 
        {
            cursor: pointer;
            position:initial;

            /*La posición de los botones*/
            top: 50%;
            width:fit-content;
            padding: 16px;
            margin-top: -22px;

            /*Color de las flechas*/
            color: black;
            font-weight: bold;
            

            /*Tamaño de las flechas*/
            font-size: 18px;
            transition: 0.6s ease;
            border-radius: 0 3px 3px 0;
            user-select: none;
        }
        body.dark .prev, .next{
            color: wheat;
        }

        /* Posicion del boton next a la derecha */
        .next 
        {
            right: 0;
            border-radius: 3px 0 0 3px;
        }

        .prev:hover, .next:hover 
        {
            /* Color de fondo para cuando el apuntador del mouse pasa encima*/
            background-color: rgba(0,0,0,0.8);
        }

        /* Configuracion del Texto */
        .text 
        {
            /* Color del Texto que despliega los nombres*/
            color: #f2f2f2;

            /* Tmaño de la fuente*/
            font-size: 15px;
            padding: 8px 12px;
            position: absolute;

            /* Posición del texto en la parte de abajo*/
            bottom: 8px;
            width: 100%;
            text-align: center;
        }

        /* Configuracion de los Numeros de la imagenes (1/3 etc) */
        .numbertext 
        {
            color: #f2f2f2;
            font-size: 12px;
            padding: 8px 12px;
            position: absolute;
            top: 0;
        }

        /* Configuracion de los Puntos indicadores */
        .dot 
        {
            position:initial;
            cursor: pointer;
            /*Tamaño de los botones*/
            height: 15px;
            width: 15px;
            margin: 0 2px;
            background-color: #bbb;
            /*El Radio define la figura*/
            border-radius: 50%;
            display: inline-block;
            transition: background-color 0.6s ease;
        }
        

        .active, .dot:hover 
        {
            /* Coloca de Active y hover*/
            background-color: #717171
        }

        /* Fading animation */
        .fade 
        {
            -webkit-animation-name: fade;
            -webkit-animation-duration: 1.5s;
            animation-name: fade;
            animation-duration: 1.5s;
        }
        .banner{
            background: whitesmoke;
            padding-bottom: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 50vh;
            
        }
        body.dark .banner{
            background: black;
        }
        .banner section{
            width: 1000px;
            margin: 10px;
            box-shadow: 0 10px 20px var(--black);
          
            
        }
        .banner section details summary{
            padding: 25px;
            background: #222;
            color: #ccc;
            border: 1px solid #111;
            position: relative;
            list-style: none;
            outline: none;
            cursor: pointer;
            font-size: 20px;
        }
        .banner section details p{
            font-size:15px;
            padding: 10px;
            color: #aaa;
            background: #111;
                
        }
        .banner section details summary::after{
            content: '+';
            position: absolute;
            top:10px; right: 15px;
            font-size: 30px;
            color: yellow;
            transition: .2s linear;
        }
        .banner section details[open] summary::after{
            transform: rotate(135deg);
            
        }
        .banner section details[open] summary{
            background: #454444;
            
        }
        
        @-webkit-keyframes fade 
        {
            from {opacity: .4} 
            to {opacity: 1}
        }

        @keyframes fade 
        {
            from {opacity: .4} 
            to {opacity: 1}
        }

        /* On smaller screens, decrease text size */
        @media only screen and (max-width: 300px) 
        {
            .prev, .next,.text {font-size: 11px}
        }
        


/*Texto*/
.conocer_mas {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8rem;
}

.conocer_mas .image {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 42rem;
          flex: 1 1 42rem;
  position: relative;
}

.conocer_mas .image::before, .about .image::after {
  content: '';
  position: absolute;
  z-index: -1;
  background: yellow;
  
  height: 15rem;
  width: 15rem;
}

.conocer_mas .image::before {
  top: 0;
  left: 0;
}

.conocer_mas .image::after {
  bottom: 0;
  right: 0;
}

.conocer_mas .image img {
  width: 100%;
  padding: 2rem;
}

.conocer_mas .content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 42rem;
          flex: 1 1 42rem;
}

.conocer_mas .content span {
  font-size: 2rem;
  color: yellow;
}
body.dark .conocer_mas .content span {

  color: #f00;
}

.conocer_mas .content .title {
  font-size: 4rem;
  color: black;
  margin-top: .5rem;
}
body.dark .conocer_mas .content .title {
    color:#fff ;
}

.conocer_mas .content p {
  font-size: 1.5rem;
  color: #222222;
  padding: 1rem 0;
  line-height: 2;
}
body.dark .conocer_mas .content p {
  
  color: #aaa;
}

.conocer_mas .content .box-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
  margin-top: 1rem;
}

.conocer_mas .content .box-container .box {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 20rem;
          flex: 1 1 20rem;
}

.conocer_mas .content .box-container .box h3 {
  font-size: 2rem;
  color: black;
}
body.dark .conocer_mas .content .box-container .box h3 {
 
  color: #fff;
}
.conocer_mas .content .box-container .box h3 i {
  padding-right: 1.5rem;
  color: yellow;
}

/*boton de arriba */
 .cm-up {
	display: none;
	position: fixed;
	background: #222222;
	height: 30px;
	border-radius: 35px;
	padding: 5px;
	bottom: 5px;
	right: 5px;
	cursor: pointer;
}

.cm-up .cm-text-up {
	border: none;
	background: none;
	outline: none;
	cursor: pointer;
	color: #fff;
	float: left;
	padding: 0;
	font-size: 10px;
	line-height: 20px;
	transition: 0.4s;
	width: 0px;
}

.cm-up .cm-icon {
	background: #222222;
        
	color: #f5bf23;
	font-size: 20px;
	float: right;
	width: 25px;
	height: 25px;
	border-radius: 45%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.4s
}

.cm-up:hover > .cm-text-up {
	width: 150px;
	padding: 0 6px;
}
.cm-up:hover > .cm-icon {
	background: #fff;
}
/*formulario*/
.container {
    margin-top: 50px;
}
.container .row .contact-form{
      -webkit-box-flex: 1;
      -ms-flex: 1 1 42rem;
          flex: 1 1 42rem;
}
/*.container .form__file{
    background: white;
    
    color: black;
}*/
.contact-form {
    list-style-type: none;
    
}

.contact-form li div {
    margin-bottom: 2.5em;
}
.container input{
        width: 100%;
    margin: 0;
    padding-bottom: 1.4em;
   background: white;
    font-weight: 700;
    font-size: 18px;
    transition: ease-in-out 0.25s;
}
body.dark .container input{
    background: #000;
}
.contact-form input,
.contact-form textarea,
.contact-form select {
    width: 100%;
    margin: 0;
    padding-bottom: 1.4em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-top: 0px;
    border-right: 0px;
    border-left: 0px;
    border-bottom: 3px solid slategrey;
    background: white;
    font-family: 'Roboto', sans-serif;
    color: black;
  
    font-weight: 700;
    font-size: 18px;
    transition: ease-in-out 0.25s;
}
body.dark .contact-form input,
.contact-form textarea,
.contact-form select {
    background: #000;
    color: lightgray;
}

.contact-form textarea {
    min-height: 50px;
    max-height: 500px;
    white-space: pre-wrap;
    word-wrap: break-word;
    resize: vertical;
    overflow: hidden;
}

.contact-form ::-webkit-input-placeholder {
    font-size: 12px;
    color: black;
    
    text-transform: uppercase;
    font-weight: 400;
}
body.dark .contact-form ::-webkit-input-placeholder {
    font-size: 12px;
    color: slategrey;
}

.contact-form label {
    font-size: 12px;
    color: black;
    text-transform: uppercase;
    font-weight: 400;
}
body.dark .contact-form label {
    font-size: 12px;
    color:  slategrey;
}
    
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus,
.contact-form button:focus {
    outline: none;
    resize: none;
    
    border-bottom: 3px solid var(--yellow);
    
}


.contact-form button {

    float: right;

        margin-top: 1rem;
    display: inline-block;
    padding:.9rem 3rem;
    font-size: 1.7rem;
    background: #454444;
 
     
    color:#fff;
   

    cursor: pointer;
    text-transform: capitalize;
  -webkit-transition: .2s linear;
  transition: .2s linear;
}

.contact-form button span {
    transition: ease-in-out 0.25s;
}

.contact-form button:hover {
  background: var(--yellow);
  color: var(--black);
    letter-spacing: .2rem;
   
   
}

.contact-form button:hover span {
    padding-left: 10px;
    color: white;
}



@keyframes fade {
    from {opacity: .4;}
    to{opacity:1;}
}