﻿/*
Sitio web soluciona
desarrollado por : Fernando
url: http://posicionamientodigital.com.mx
*/
	
html{
	scroll-behavior: smooth;
}

@media screen {
	div,h1,h2,h3,h4,p,body{
		margin:0;
		padding:0;
		display:block;
	}
	* { margin: 0; padding: 0;
		-webkit-box-sizing: border-box; 
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	a{
		text-decoration:none;
        color:black;
	}
	body {
		background-color: white;
        background-image: url(../images/g269.jpg);
        background-size: cover;
        font-family: "Red Hat Display", sans-serif;
        font-size: 24px;
        overflow: hidden;
	}
	.cont_centrado{
		width:1100px;
		display:block;
		margin:auto;
	}
    header{
        width: 100%;
        height: 100px;
        display: flex;
        align-items: center;
        font-size: 20px;
        margin-top: 40px;
    }
    header .cont_centrado{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    header .contacto{
        display: flex;
        width: 150px;
        float: right;
        justify-content: space-between;
        align-items: center;
    }
    header .iconmail, header .icontel,header .iconcontacto{
       width:29px;
       height: 29px;;
    }
    header .btncontacto{
        background: linear-gradient(45deg, rgba(195,193,207,1) 0%, rgba(92,102,112,1) 100%);
        border-radius: 10px;
        padding: 10px 15px;
        color: white;
        font-weight: 600;
    }
    header .separador{
        width:1px;
        height: 46px;
        display: block;
        background-color:#021636 ;
    }
    .columnas{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    h1{
        margin-bottom: 0px;
        font-size: 80px;
        letter-spacing: -4px;
    }
    h2{
        margin-bottom: 60px;
        font-size: 45px;
    }
    #socios{
        margin-top: 10px;
        
    }
    #socios .columnas{
        width: 100%;
        background-image: url(../images/g283.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        padding: 50px 30px;
        position: relative;
        border-radius: 20px;
        padding-bottom: 150px;
    }
    #socios .columnas:before {
        content: "";
        background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.8253676470588236) 14%, rgba(255,255,255,0) 69%);
        width: 524px;
        height: 100%;
        display: block;
        position: absolute;
        top: 0px;
        left: 0px;
        border-radius: 20px;
    }
    #socios .columnas .col1{
        width:560px;
        position: relative;
    }
     #socios .columnas .col1  h1 ~ p{
        text-shadow: 3px 3px 3px white;
    }
    #socios .columnas .col2{
        width:350px;
        position: relative;
    }
    #socios .columnas2{
        width: 100%;
        display: flex;
        align-items: center;
    }
    #socios .columnas2 .col1{
        width: 83%;
        float: left;
    }
    #socios .columnas2 .col2{
        width: 17%;
        float: left;
    }

    #socios .promo{
        width: 350px;
        height: 390px;
        border:2px solid white;
        border-radius: 20px;
        background-image: url(../images/g298.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        font-size: 46px;
        font-weight: bold;
        color: white;
        padding: 20px;
        display: flex;
        align-items: end;
        line-height: 59px;
    }
    #socios .promo p{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        text-shadow: 5px 5px 9px black;
    }
    #socios .promo .desc{
        font-size: 70px;
        font-weight: bolder;
    }
    #socios .promo .soc{
        font-size: 30px;
        margin-left: 16px;
    }
    #socios .btndetalle{
        background-color:#e1e1e1;
        padding: 15px 45px;
        font-weight: bold;
        border-radius: 10px;
        float: left;
        display: block;
        margin-top: 30px;
        box-shadow: 5px 5px 10px #0000009e;
    }
    .btns{
        display: flex;
        justify-content: space-between;
    }
    footer{
        display: block;
        float: left;
		width:100%;
        margin-top: -90px;
        z-index: 999;
        position: relative;
    }
    footer .cont_centrado{
        padding: 0px 30px;
    }
    footer .rec{
        box-shadow: 10px 10px 15px #00000069
    }
    footer .rec .columnas.infolin1{
        display: flex;
        justify-content: space-around;
        border-bottom:1px solid #727070;
        padding-bottom: 11px;
        font-size: 18px;
    }

    footer .rec .columnas.infolin1 .col{
        display: flex;
        align-items: center;
    }
    footer .rec .columnas.infolin1 a{
        display: flex;
        align-items: center;
    }
    footer .rec .columnas.infolin1 a img{
        margin-right:10px;
    }
    footer .rec{
        background-color: #f5f5f5;
        padding: 20px 50px;
        border-radius: 20px;
    }
    footer .col1,footer .col2, footer .col3{
        //background-color:#e1e1e1;
        padding: 16px 20px;
        border-radius:10px;
        background-image:url(../images/g348.png);
        background-size: 100% 100%;
        background-repeat:no-repeat;
    }
    footer .col1{
        width: 420px;
    }
    footer .col2{
        width: 240px;
    }
    footer .col3{
        width: 180px;
    }
    footer .col3 a img{
        margin-right:5px;
    }
    footer .colvigencia{
        border-left: 1px solid #727070;
        padding-left: 15px;
        display: block;
    }
    footer .col4{
        background-color:#dbab00;
        padding: 16px 20px;
        border-radius:10px;
        width: 76px;
        display: flex;
        align-items: center;
    }
    footer .col4 .icono{
        display: flex;
        align-items: center;
    }
    footer h2{
        font-size: 18px;
        color:#727070;
        font-weight: 400;
        margin-bottom: 0px;
    }
    footer .infolin2{
        margin-top: 20px;
        font-size: 18px;
    }
    .posleft{
        float: left;
        margin-right: 30px;
    }
    .posright{
        float: right;
    }
    /*********************** popup *********************************/
    
.input[type="checkbox"] {
    display: none;
  }
  
  
   
  .custom-checkbox {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #333;
    border-radius: 4px;
    position: relative;
    cursor: pointer;
  }
  
  
  .custom-checkbox::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background-color: #333;
    border-radius: 2px;
    opacity: 0;
  }
  
  .input[type="checkbox"]:checked + .custom-checkbox::after {
    opacity: 1;
  }
  
  .container {
    cursor: pointer;
    margin-left: 32px;
    font-size:18px;
    position: relative;
    margin-bottom: 10px;
    padding: 0px 10px;
  }
  
  .container input {
    display: none;
  
  }
  
  .container svg {
    overflow: visible;
    position: absolute;
    margin-left: -32px;
    top:5px;
    display: block;
  }
  
  .path {
    fill: none;
    stroke: #ffbb00;
    stroke-width: 12;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke-dasharray 0.5s ease, stroke-dashoffset 0.5s ease;
    stroke-dasharray: 241 9999999;
    stroke-dashoffset: 0;
  }
  
  .container input:checked ~ svg .path {
    stroke-dasharray: 70.5096664428711 9999999;
    stroke-dashoffset: -262.2723388671875;
  }
  
  table,tr,th,td{
      border:1px solid blue;
  }
  table{
      width:100%;
      table-layout:auto;
  }
  
  .listaserv{
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    background-color: #aeaeae;
    color:white;
    border:none;
  }
  .listaserv legend{
    color: black;
    background-color: #aeaeae;
    border-radius: 5px;
    padding: 3px 8px;
    font-size: 21px;
    font-weight: bold;
  }
  .listaserv legend span{
    font-size: 14px;
    margin-left: 0px;
    font-weight: 400;
  }
  /********************* input numero**************************/
  .form-control {
    position: relative;
    width: 190px;
    padding: 10px;
    border:1px solid #0000001f;
    margin: auto;
    margin-top: 15px;
    margin-bottom: 15px;
    background-color: #dfe3ea8c;
    border-radius: 10px;
  }
  
  .form-control input {
    background-color: transparent;
    border: 0;
    border-bottom: 2px black solid;
    display: block;
    width: 100%;
    padding: 10px 0;
    font-size: 18px;
    color: gray;
    margin-top: 10px;
  }
  
  .form-control input:focus,
  .form-control input:valid {
    outline: 0;
    border-bottom-color: #aeaeae
  }
  
  .form-control label {
    position: absolute;
    top: 25px;
    left: 16px;
    pointer-events: none;
    font-size: 15px;
  }
  
  .form-control label span {
    display: inline-block;
    font-size: 18px;
    min-width: 5px;
    color: black;
    transition: 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    margin-left: -4px;
  }
  
  .form-control input:focus+label span,
  .form-control input:valid+label span {
    color: rgb(90, 90, 90);
    transform: translateY(-20px);
  }
  popup{
    width: 380px;
    height: auto;
    position: absolute;
    top:calc(30vh - 150px);
    transform: translate(100vw,0px);
    opacity: 0;
    background-image: url(https://expertosenemailhosting.com/images/slider_desk.jpg);
    background-size: 290%;
    background-repeat: no-repeat;
    background-position: top;
    padding: 15px;
    box-shadow: 0px 14px 18px white;
    border-radius: 10px;
    transition: transform 1s, opacity 3s,box-shadow 500ms, top 500ms;
    z-index: 999;
    display: none;
  }
  popup.visible{
    opacity: 1;
    transform: translate(calc(50vw - 150px));
    box-shadow: 0px 14px 18px #00000082;
    top:calc(30vh - 160px);
    transition: transform 1s, opacity 3s,box-shadow 1s 1s,top 300ms 1s;
    display: block;
  }
  
  popup :where(h2,h3,p){
    text-align: center;
    margin: 3px 0px;
  }
  popup  h2{
    font-size:25px;
  }
  popup  h3{
    font-size:20px;
  }
  .btnpop{
    width: 70px;
    height: 74px;
    position: fixed;
    top:50%;
    right: 0px;
    background-color: #ffbb00;
    z-index: 900;
    padding: 10px;
    font-size: 17px;
    box-shadow: -4px 3px 10px black;
    cursor: pointer;
  }
  .btnpop img{
    width: 80%;
    height: auto;
    margin: auto;
    display: block;
  
  }
  .cerrarpop{
    cursor: pointer;
  }
  .ptotal p{
    font-size: 32px;
  }
  .ptotal #precio{
    font-weight: bold;
  }
  #btncotiza{
    background-color: #dbab00;
    padding: 5px 20px;
    border-radius: 8px;
    margin: auto;
    display: block;
    text-align: center;
    color: white;
  }
  .txtmes{
    font-size:14px;
  }
}   

/******************************************** 570 *********************************/
@media screen and (max-width: 570px) {
    body{
        padding:0px;
        font-size: 18px;
        overflow: visible;
    }
    .cont_centrado{
		width:100%;
    }
    header,header .cont_centrado{
        margin-top: 0px;
        padding-top: 0px;
        font-size: 16px;;
    }
    .logo{
        width:200px;
        display: block;
    }
    .logo img{
        width: 100%;
        height: auto;
    }
    header .contacto{
        width: 115px;
        flex-wrap: wrap;
        margin-top: 10px;
    }
    header .btncontacto{
        margin-top: 12px;
    }
    h1 {
        margin-bottom: 0px;
        margin-top: 30px;
        font-size: 51px;
        letter-spacing: -2px;
    }
    .col{
        width: 100%;
    }
    
    .btnsocios {
        width: 221px;
    }
    
    #socios .columnas .col2 {
        margin-top:30px;
    }
    footer .rec {
        background-color: #f5f5f5;
        padding: 20px 30px;
        border-radius: 20px;
    }
    footer .rec .columnas.infolin1{
        row-gap: 20px;
    }
    footer .col1,footer .col2{
        width: 100%;
        margin-bottom: 4px;
    }
    footer .col3{
        width: calc(100% - 81px);
    }
    popup{
        transform: translate(0px);
        top:00px;
        width:100%;
        background-size: 330%;
        display: none;
        opacity:0;
    }
    popup.visible {
        transform: translate(0px);
        top:0px;
        display: block;
    }
    .btnpop{
        top: 20%;
        z-index: 1000;
    }
    #socios .columnas .col1 {
        width: 100%;
        position: relative;
    }
    #socios .btndetalle{
        font-size: 17px;
        padding: 10px 22px;
    }
    #socios .columnas {
        padding: 30px 10px;
    }
    #socios .columnas .col2 {
        width: 100%;
        position: relative;
    }
    footer .cont_centrado {
        padding: 0px 10px;
    }
    #socios .promo {
        width: 100%;
    }
    #socios .columnas:before{
        width: 100%;
    }
    .listaserv label{
        font-size: 16px;
    }
}
