@font-face {
  font-family: 'Light';
  src: url("../regalosEmpresas/fonts/Montserrat-Light.ttf") format("truetype");
}

@font-face {
  font-family: 'Medium';
  src: url("../regalosEmpresas/fonts/Montserrat-Medium.ttf") format("truetype");
}

@font-face {
  font-family: 'Bold';
  src: url("../regalosEmpresas/fonts/Montserrat-Bold.ttf") format("truetype");
}

.t-left {
  text-align: left;
}

.t-right {
  text-align: right;
}

.t-center {
  text-align: center;
}

.t-justify {
  text-align: justify;
}

.capitalize {
  text-transform: capitalize;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.none {
  text-transform: none;
}

.full-width, .full-viewport {
  text-transform: full-width;
}

.primary {
  color: #F192B4;
}

.bg-primary {
  background-color: #F192B4;
}

.primary-dark {
  color: #D76890;
}

.bg-primary-dark {
  background-color: #D76890;
}

.primary-light {
  color: primaryLight;
}

.bg-primary-light {
  background-color: primaryLight;
}

.secondary {
  color: #3C3C3C;
}

.bg-secondary {
  background-color: #3C3C3C;
}

.gray {
  color: #888888;
}

.bg-gray {
  background-color: #888888;
}

.gray-soft {
  color: softgray;
}

.bg-gray-soft {
  background-color: softgray;
}

.gray-light {
  color: #F9F9F9;
}

.bg-gray-light {
  background-color: #F9F9F9;
}

.white {
  color: white;
}

.bg-white {
  background-color: white;
}

.destacado {
  color: black;
}

.bg-destacado {
  background-color: black;
}

.fondos {
  color: #013D43;
}

.bg-fondos {
  background-color: #013D43;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.relative, .relative-left, .relative-right {
  position: relative;
}

.static {
  position: static;
}

.fleft, .relative-left {
  float: left;
}

.fright, .relative-right {
  float: right;
}

.none {
  float: none;
}

.top-0 {
  top: 0px;
}

.bottom-0 {
  bottom: 0px;
}

.left-0 {
  left: 0px;
}

.right-0 {
  right: 0px;
}

.top-5 {
  top: 5px;
}

.bottom-5 {
  bottom: 5px;
}

.left-5 {
  left: 5px;
}

.right-5 {
  right: 5px;
}

.top-10 {
  top: 10px;
}

.bottom-10 {
  bottom: 10px;
}

.left-10 {
  left: 10px;
}

.right-10 {
  right: 10px;
}

.top-15 {
  top: 15px;
}

.bottom-15 {
  bottom: 15px;
}

.left-15 {
  left: 15px;
}

.right-15 {
  right: 15px;
}

.top-20 {
  top: 20px;
}

.bottom-20 {
  bottom: 20px;
}

.left-20 {
  left: 20px;
}

.right-20 {
  right: 20px;
}

.top-0 {
  top: 0;
}

.left-0 {
  left: 0;
}

.bottom-0 {
  bottom: 0;
}

.right-0 {
  right: 0;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex-start {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.flex-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.flex-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.space-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.space-around {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.y-flex-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.y-flex-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.y-flex-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.y-flex-baseline {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.y-flex-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.ml-1 {
  margin: 0 0 0 5px;
}

.pl-1 {
  padding: 0 0 0 5px;
}

.mr-1 {
  margin: 0 5px 0 0;
}

.pr-1 {
  padding: 0 5px 0 0;
}

.mt-1 {
  margin: 5px 0 0 0;
}

.pt-1 {
  padding: 5px 0 0 0;
}

.mb-1 {
  margin: 0 0 5px 0;
}

.pb-1 {
  padding: 0 0 5px 0;
}

.m-1 {
  margin: 5px 5px 5px 5px;
}

.p-1 {
  padding: 5px 5px 5px 5px;
}

.mx-1 {
  margin: 0 5px 0 5px;
}

.my-1 {
  margin: 5px 0 5px 0;
}

.px-1 {
  padding: 0 5px 0 5px;
}

.py-1 {
  padding: 5px 0 5px 0;
}

.ml-2 {
  margin: 0 0 0 10px;
}

.pl-2 {
  padding: 0 0 0 10px;
}

.mr-2 {
  margin: 0 10px 0 0;
}

.pr-2 {
  padding: 0 10px 0 0;
}

.mt-2 {
  margin: 10px 0 0 0;
}

.pt-2 {
  padding: 10px 0 0 0;
}

.mb-2 {
  margin: 0 0 10px 0;
}

.pb-2 {
  padding: 0 0 10px 0;
}

.m-2 {
  margin: 10px 10px 10px 10px;
}

.p-2 {
  padding: 10px 10px 10px 10px;
}

.mx-2 {
  margin: 0 10px 0 10px;
}

.my-2 {
  margin: 10px 0 10px 0;
}

.px-2 {
  padding: 0 10px 0 10px;
}

.py-2 {
  padding: 10px 0 10px 0;
}

.ml-3 {
  margin: 0 0 0 15px;
}

.pl-3 {
  padding: 0 0 0 15px;
}

.mr-3 {
  margin: 0 15px 0 0;
}

.pr-3 {
  padding: 0 15px 0 0;
}

.mt-3 {
  margin: 15px 0 0 0;
}

.pt-3 {
  padding: 15px 0 0 0;
}

.mb-3 {
  margin: 0 0 15px 0;
}

.pb-3 {
  padding: 0 0 15px 0;
}

.m-3 {
  margin: 15px 15px 15px 15px;
}

.p-3 {
  padding: 15px 15px 15px 15px;
}

.mx-3 {
  margin: 0 15px 0 15px;
}

.my-3 {
  margin: 15px 0 15px 0;
}

.px-3 {
  padding: 0 15px 0 15px;
}

.py-3 {
  padding: 15px 0 15px 0;
}

.ml-4 {
  margin: 0 0 0 20px;
}

.pl-4 {
  padding: 0 0 0 20px;
}

.mr-4 {
  margin: 0 20px 0 0;
}

.pr-4 {
  padding: 0 20px 0 0;
}

.mt-4 {
  margin: 20px 0 0 0;
}

.pt-4 {
  padding: 20px 0 0 0;
}

.mb-4 {
  margin: 0 0 20px 0;
}

.pb-4 {
  padding: 0 0 20px 0;
}

.m-4 {
  margin: 20px 20px 20px 20px;
}

.p-4 {
  padding: 20px 20px 20px 20px;
}

.mx-4 {
  margin: 0 20px 0 20px;
}

.my-4 {
  margin: 20px 0 20px 0;
}

.px-4 {
  padding: 0 20px 0 20px;
}

.py-4 {
  padding: 20px 0 20px 0;
}

.ml-5 {
  margin: 0 0 0 25px;
}

.pl-5 {
  padding: 0 0 0 25px;
}

.mr-5 {
  margin: 0 25px 0 0;
}

.pr-5 {
  padding: 0 25px 0 0;
}

.mt-5 {
  margin: 25px 0 0 0;
}

.pt-5 {
  padding: 25px 0 0 0;
}

.mb-5 {
  margin: 0 0 25px 0;
}

.pb-5 {
  padding: 0 0 25px 0;
}

.m-5 {
  margin: 25px 25px 25px 25px;
}

.p-5 {
  padding: 25px 25px 25px 25px;
}

.mx-5 {
  margin: 0 25px 0 25px;
}

.my-5 {
  margin: 25px 0 25px 0;
}

.px-5 {
  padding: 0 25px 0 25px;
}

.py-5 {
  padding: 25px 0 25px 0;
}

.ml-6 {
  margin: 0 0 0 30px;
}

.pl-6 {
  padding: 0 0 0 30px;
}

.mr-6 {
  margin: 0 30px 0 0;
}

.pr-6 {
  padding: 0 30px 0 0;
}

.mt-6 {
  margin: 30px 0 0 0;
}

.pt-6 {
  padding: 30px 0 0 0;
}

.mb-6 {
  margin: 0 0 30px 0;
}

.pb-6 {
  padding: 0 0 30px 0;
}

.m-6 {
  margin: 30px 30px 30px 30px;
}

.p-6 {
  padding: 30px 30px 30px 30px;
}

.mx-6 {
  margin: 0 30px 0 30px;
}

.my-6 {
  margin: 30px 0 30px 0;
}

.px-6 {
  padding: 0 30px 0 30px;
}

.py-6 {
  padding: 30px 0 30px 0;
}

* {
  padding: 0;
  margin: 0;
  font-family: sans-serif;
  font-family: 'Montserrat';
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: black;
  line-height: 2rem;
}

*:focus {
  outline: none !important;
}

.full-height {
  height: 100%;
}

.vh-100, .full-viewport {
  height: 100vh;
}

.full-width, .full-viewport {
  width: 100%;
}

.container, section {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}

a {
  text-decoration: none;
}

ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.pointer {
  cursor: pointer;
}

.lineaGris {
  width: 100%;
  height: 1px;
  border-top: 1px solid #888888;
}

.lineaRosa {
  width: 100%;
  height: 1px;
  border-top: 1px solid #F192B4;
}

.desktop {
  display: none;
}

@media only screen and (min-width: 767px) {
  .desktop {
    display: inline;
  }
}

@media only screen and (min-width: 767px) {
  .movil {
    display: none;
  }
}

.bold {
  font-weight: 800;
}

body {
  background: #F9F9F9;
}

html {
  font-size: 10px;
}

@media only screen and (min-width: 767px) {
  html {
    font-size: 12px;
  }
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.3rem;
}

p {
  font-size: 1.2rem;
}

.wrapperPrincipal {
  max-width: 1332px;
  margin: 0 auto;
  position: relative;
  color: #3C3C3C;
  background: white;
}

header {
  margin: 0px 25px 10px 25px;
  padding-top: 10px;
}

header picture {
  width: 150px;
}

.container {
  position: relative;
}

.container .cabecera {
  width: 100%;
}

.container .cabecera picture {
  width: 100%;
}

.container .titulo {
  font-size: 1rem;
  z-index: 100;
  position: absolute;
  left: 25px;
  width: 500px;
}

@media only screen and (min-width: 767px) {
  .container .titulo {
    left: 25px;
  }
}

@media only screen and (min-width: 1023px) {
  .container .titulo {
    left: 50px;
  }
}

.container .titulo h1 {
  font-size: 2em;
  margin-top: 1rem;
}

@media only screen and (min-width: 1023px) {
  .container .titulo h1 {
    font-size: 2.3em;
    margin-top: 2rem;
  }
}

.container .titulo h2 {
  font-size: 1.3em;
  font-weight: 400;
}

.container .titulo h3 {
  font-size: 1.74em;
  font-weight: 400;
  margin: 1rem 0;
}

@media only screen and (min-width: 1023px) {
  .container .titulo h3 {
    font-size: 2em;
    margin: 1rem 0 2rem 0;
  }
}

.container .bajadaDesktop {
  display: none;
}

@media only screen and (min-width: 599px) {
  .container .bajadaDesktop {
    display: block;
  }
}

.container .bajadaDesktop p {
  font-size: 1.1;
  font-weight: 400;
  font-family: 'Montserrat';
  line-height: 20px;
  margin-top: 1em;
}

.bajadaMovil {
  margin: 0 25px;
}

@media only screen and (min-width: 599px) {
  .bajadaMovil {
    display: none;
  }
}

.bajadaMovil p {
  font-size: 1.1;
  font-weight: 400;
  font-family: 'Montserrat';
  line-height: 20px;
  margin-top: 1em;
}

.wrapper {
  padding: 0 1rem;
}

.texto {
  padding: 5vw 15vw;
}

.texto h3 {
  font-size: 2rem;
}

.texto p {
  margin-top: 2vw;
  font-family: 'Montserrat';
}

.botonera {
  position: relative;
}

.botonera .tituloBotonera {
  text-align: center;
  text-transform: uppercase;
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 50px;
}

@media only screen and (min-width: 767px) {
  .botonera .tituloBotonera {
    font-size: 1.7rem;
  }
}

.botonera .fila {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media only screen and (min-width: 599px) {
  .botonera .fila {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.botonera .oferta {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  margin-top: 2rem;
}

@media only screen and (min-width: 599px) {
  .botonera .oferta {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 33%;
            flex: 1 1 33%;
    position: relative;
    margin: 1rem;
  }
}

.botonera .oferta img {
  width: 100%;
}

.botonera .oferta .btn {
  font-size: 1.5rem;
  font-weight: 800;
}

@media only screen and (min-width: 599px) {
  .botonera .oferta .btn {
    margin-bottom: 10px;
    margin-top: 25px;
  }
}

.botonera .oferta p {
  font-size: 1.2rem;
  font-family: 'Montserrat';
}

.botonera .oferta a {
  font-size: 1.3rem;
  font-weight: 600;
  margin-top: 1rem;
}

.contacto {
  padding-top: 5vw;
  padding-bottom: 5vw;
}

.contacto .titulo {
  text-align: center;
  text-transform: uppercase;
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 50px;
  margin-bottom: 40px;
}

@media only screen and (min-width: 767px) {
  .contacto .titulo {
    font-size: 1.7rem;
  }
}

.contacto .fila {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media only screen and (min-width: 767px) {
  .contacto .fila {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.contacto .fila .presentacion {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
          flex: 1 1 50%;
  margin-right: 30px;
}

.contacto .fila h3 {
  font-size: 1.5rem;
}

.contacto .fila .formulario {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
          flex: 1 1 50%;
}

.contacto .fila .formulario .fila {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media only screen and (min-width: 992px) {
  .contacto .fila .formulario .fila {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}

.contacto .fila .formulario .fila .input {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  margin-bottom: 1rem;
}

@media only screen and (min-width: 767px) {
  .contacto .fila .formulario .fila .input {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 48%;
            flex: 0 0 48%;
  }
}

.contacto .fila .formulario .fila .input label {
  font-size: 1rem;
  text-transform: uppercase;
}

.contacto .fila .formulario .fila input, .contacto .fila .formulario .fila textarea {
  border: 1px solid black;
  border: none;
  background: #e5ebec;
  padding: 5px;
}

.contacto .fila .formulario .fila input.invalido, .contacto .fila .formulario .fila textarea.invalido {
  color: red;
}

.contacto .fila .formulario .fila .mensaje {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  /*@include media_min($md){
            flex: 1 1 75%;
            margin-right: 20px;
          } */
}

.contacto .fila .formulario .fila .acepto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
}

@media only screen and (min-width: 992px) {
  .contacto .fila .formulario .fila .acepto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 20%;
            flex: 1 1 20%;
    margin-right: 20px;
  }
}

.contacto .fila .formulario .fila .acepto .btn {
  padding: 0.3rem 2rem;
  margin-bottom: 1rem;
  width: 90px;
  text-align: center;
  background: #e5ebec;
}

.contacto .fila .formulario .fila .acepto .btn.activa {
  background: #013D43;
  cursor: pointer;
}

footer .contacto {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

footer .contacto .columnaFooter {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  text-align: center;
  font-size: 0.9rem;
  margin-top: 2rem;
}

@media only screen and (min-width: 414px) {
  footer .contacto .columnaFooter {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
}

@media only screen and (min-width: 767px) {
  footer .contacto .columnaFooter {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 25%;
            flex: 1 1 25%;
  }
}

input[type="checkbox"] {
  display: none;
}

input[type="checkbox"] + label span {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: -1px 4px 4px 0;
  padding: 1px;
  vertical-align: middle;
  cursor: pointer;
  background: #e5ebec;
}

input[type="checkbox"]:checked + label span {
  border: 4px solid #e5ebec;
  background: #013D43;
}

/* estilos modales */

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  padding-top: 100px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: #6b6b6bb3; /* Fallback color */
}

/* Modal Content */
.modal-content {
  background-color: #F9F9F9;
  margin: auto;
  padding: 20px;
  border: 1px solid #888;
  width: 300px;
  height: 140px;
}

/* The Close Button */
.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}



@keyframes loaderspin {
  0% {
    opacity: 1;
    backface-visibility: hidden;
    transform: translateZ(0) scale(1.5, 1.5);
  }
  100% {
    opacity: 0;
    backface-visibility: hidden;
    transform: translateZ(0) scale(1, 1);
  }
}
#loaderProducto .loaderspin div > div {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ff727d;
  animation: loaderspin 1s linear infinite;
}
#loaderProducto .loaderspin div:nth-child(1) > div {
  left: 74px;
  top: 44px;
  animation-delay: -0.875s;
}
#loaderProducto .loaderspin > div:nth-child(1) {
  transform: rotate(0deg);
  transform-origin: 80px 50px;
}
#loaderProducto .loaderspin div:nth-child(2) > div {
  left: 65px;
  top: 65px;
  animation-delay: -0.75s;
}
#loaderProducto .loaderspin > div:nth-child(2) {
  transform: rotate(45deg);
  transform-origin: 71px 71px;
}
#loaderProducto .loaderspin div:nth-child(3) > div {
  left: 44px;
  top: 74px;
  animation-delay: -0.625s;
}
#loaderProducto .loaderspin > div:nth-child(3) {
  transform: rotate(90deg);
  transform-origin: 50px 80px;
}
#loaderProducto .loaderspin div:nth-child(4) > div {
  left: 23px;
  top: 65px;
  animation-delay: -0.5s;
}
#loaderProducto .loaderspin > div:nth-child(4) {
  transform: rotate(135deg);
  transform-origin: 29px 71px;
}
#loaderProducto .loaderspin div:nth-child(5) > div {
  left: 14px;
  top: 44px;
  animation-delay: -0.375s;
}
#loaderProducto .loaderspin > div:nth-child(5) {
  transform: rotate(180deg);
  transform-origin: 20px 50px;
}
#loaderProducto .loaderspin div:nth-child(6) > div {
  left: 23px;
  top: 23px;
  animation-delay: -0.25s;
}
#loaderProducto .loaderspin > div:nth-child(6) {
  transform: rotate(225deg);
  transform-origin: 29px 29px;
}
#loaderProducto .loaderspin div:nth-child(7) > div {
  left: 44px;
  top: 14px;
  animation-delay: -0.125s;
}
#loaderProducto .loaderspin > div:nth-child(7) {
  transform: rotate(270deg);
  transform-origin: 50px 20px;
}
#loaderProducto .loaderspin div:nth-child(8) > div {
  left: 65px;
  top: 23px;
  animation-delay: 0s;
}
#loaderProducto .loaderspin > div:nth-child(8) {
  transform: rotate(315deg);
  transform-origin: 71px 29px;
}
#loaderProducto .loading-spinner {
  width: 100px;
  height: 100px;
  display: inline-block;
  overflow: hidden;
  background: #F9F9F9;
}
#loaderProducto .loading-spinner.transparente {
  background: transparent;
}
#loaderProducto .loaderspin {
  width: 100%;
  height: 100%;
  position: relative;
  transform: translateZ(0) scale(1);
  backface-visibility: hidden;
  transform-origin: 0 0;
  /* see note above */
}
#loaderProducto .loaderspin div {
  box-sizing: content-box;
}

