:root {
  --color-white: #ffffff;
  --color-button-bg: #0D72B1;
  --color-text: #333;
  --color-overlay-bg: rgba(0, 0, 0, 0.5);
  --color-overlay-hover-bg: rgba(0, 0, 0, 0);
  --color-text-shadow: 1px 1px black;
  --color-linear-gradient: linear-gradient(90deg, #1d1c1c 0%, var(--color-principal) 100%);
}

.banner_home {
  background-size: cover !important;
}

.banner_home .container_web {
  min-height: 500px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--color-white);
}

.banner_home .container_web .t {
  /* font-family: 'Oswald'; */
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 35px;
}

.banner_home .container_web .d {
  /* margin-bottom: 35px; */
  font-size: 16px;
}

.banner_home .container_web .btn {
  background-color: var(--color-button-bg);
  color: var(--color-white);
  /* padding: 12px 45px; */
  display: inline-block;
}

@media screen and (max-width: 1010px) {
  .banner_home .container_web {
    padding: 0px 25px;
  }
}

@media all and (max-width: 768px) {
  .banner_home .container_web .t {
    font-size: 25px;
  }

  .banner_home .container_web .d {
    font-size: 16px;
  }

  .banner_home .container_web {
    padding: 50px 25px;
    min-height: inherit;
  }
}

/* BLOQUES HOME */

#container_bloques_home {
  display: flex;
  padding: 10px;
  display: none;
}

#container_bloques_home * {
  margin: initial;
  display: flex;
}

#container_bloques_home .left_main {
  flex-direction: column;
  flex: 0 0 40%;
}

#container_bloques_home .left_main>div {
  padding: 250px 0;
  height: calc(50% - 20px);
}

#container_bloques_home .right_main {
  flex-direction: column;
  flex: 0 0 60%;
}

#container_bloques_home .right_main .up_main {
  height: 65%;
}

#container_bloques_home .right_main .up_main .left {
  flex: 0 0 50%;
  justify-content: center;
  align-items: center;
}

#container_bloques_home .right_main .up_main .right {
  flex: 0 0 50%;
  flex-direction: column;
}

#container_bloques_home .right_main .up_main .right>div {
  flex: 0 0 calc(50% - 20px);
}

#container_bloques_home .right_main .down_main {
  justify-content: center;
  align-items: center;
  height: 35%;
}

#container_bloques_home .home_cat {
  justify-content: center;
  align-items: center;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  margin: 10px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
}

#container_bloques_home .home_cat_overlay {
  position: absolute;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-transform: uppercase;
  background-color: var(--color-overlay-bg);
  color: var(--color-white);
  font-family: 'Prometo-Bold', sans-serif;
  font-size: calc(20px + 18 * (100vw - 400px) / 1600);
  transition: all ease-in-out 0.4s;
  font-family: 'Oswald';
}

#container_bloques_mobile {
  display: none;
}

@media (min-width: 2000px) {
  #container_bloques_home .home_cat_overlay {
    font-size: 38px;
  }
}

@media (max-width: 950px) {
  #container_bloques_home {
    display: none;
  }

  #container_bloques_mobile {
    display: none;
  }

  #container_bloques_mobile .home_cat {
    margin-bottom: 15px;
    font-family: 'Prometo-Bold', sans-serif;
    text-transform: uppercase;
    background-size: cover;
    background-position: center center;
    font-size: 25px;
  }

  #container_bloques_mobile .home_cat .home_cat_overlay {
    padding: 120px 0;
    display: flex;
    justify-content: center;
    background-color: var(--color-overlay-bg);
    color: var(--color-white);
    transition: all .4s cubic-bezier(.26, 1.04, .54, 1);
  }

  #container_bloques_mobile .home_cat:hover .home_cat_overlay {
    background-color: var(--color-overlay-hover-bg);
    text-shadow: var(--color-text-shadow);
  }
}

#container_bloques_home .home_cat:hover .home_cat_overlay {
  background-color: var(--color-overlay-hover-bg);
  text-shadow: var(--color-text-shadow);
}

@media all and (max-width: 768px) {
  #container_bloques_mobile {
    margin-top: 50px;
  }

  #container_bloques_mobile .home_cat .home_cat_overlay {
    text-align: center;
    font-size: 25px;
  }
}

/* BLOQUE MASONRY */
.wrapper {
  margin: 2em auto;
  max-width: 100%;
  padding: 20px;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

.masonry {
  display: flex;
  width: 100%;
}

a {
  color: var(--color-text);
}

.masonry--h {
  flex-flow: row wrap;
}

.masonry--v {
  flex-flow: column wrap;
  max-height: 1080px;
}

.masonry-brick {
  overflow: hidden;
  border-radius: 5px;
  margin: 0px 4px 8px 4px;
  position: relative;
}

.masonry-brick:after {
  cursor: pointer;
}

.masonry-brick:hover:after {
  font-size: 2.25em;
  opacity: 1;
}

.masonry-brick--h {
  background: var(--color-linear-gradient);
  flex: auto;
  height: 450px;
  min-width: 150px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  cursor: pointer;
}

@media only screen and (min-width: 1024px) {
  .masonry-brick--h:nth-child(4n+1) {
    width: 430px;
  }

  .masonry-brick--h:nth-child(4n+2) {
    width: 700px;
  }

  .masonry-brick--h:nth-child(4n+3) {
    width: 480px;
  }

  .masonry-brick--h:nth-child(4n+4) {
    width: 280px;
  }

  .masonry--v {
    max-height: 1600px;
  }

  .masonry-brick--v {
    width: 33.33333%;
  }
}

.masonry-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.text_titol {
  font-weight: normal;
  font-size: 26px;
  display: flex;
  justify-content: center;
  height: 450px;
  text-align: center;
  text-transform: uppercase;
  background-color: var(--color-overlay-bg);
  color: var(--color-white);
  align-items: center;
  font-family: 'Oswald';
  transition: background-color 0.6s ease-out;
}

.text_titol:hover {
  background-color: transparent;
}