[data-scrollbar], [scrollbar], scrollbar {
  display: block;
  position: relative; }

[data-scrollbar] .scroll-content, [scrollbar] .scroll-content, scrollbar .scroll-content {
  -webkit-transform: translateZ(0);
  transform: translateZ(0); }

[data-scrollbar].sticky .scrollbar-track, [scrollbar].sticky .scrollbar-track, scrollbar.sticky .scrollbar-track {
  background: rgba(222, 222, 222, 0.75); }

[data-scrollbar] .scrollbar-track, [scrollbar] .scrollbar-track, scrollbar .scrollbar-track {
  position: absolute;
  opacity: 0;
  z-index: 1;
  -webkit-transition: opacity .5s ease-out,background .5s ease-out;
  transition: opacity .5s ease-out,background .5s ease-out;
  background: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

[data-scrollbar] .scrollbar-track.show, [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track.show, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track.show, scrollbar .scrollbar-track:hover {
  opacity: 1; }

[data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track:hover {
  background: rgba(222, 222, 222, 0.75); }

[data-scrollbar] .scrollbar-track-x, [scrollbar] .scrollbar-track-x, scrollbar .scrollbar-track-x {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px; }

[data-scrollbar] .scrollbar-track-y, [scrollbar] .scrollbar-track-y, scrollbar .scrollbar-track-y {
  top: 0;
  right: 0;
  width: 8px;
  height: 100%; }

[data-scrollbar] .scrollbar-thumb, [scrollbar] .scrollbar-thumb, scrollbar .scrollbar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 4px; }

[data-scrollbar] .overscroll-glow, [scrollbar] .overscroll-glow, scrollbar .overscroll-glow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased; }

body {
  margin: 0;
  padding: 0;
  background: url("https://www.transparenttextures.com/patterns/white-wall-3-2.png") #c6fcfd;
  font-family: "source-serif-pro", serif; }
  body.open {
    overflow: hidden; }

button {
  border: none;
  background: none;
  cursor: pointer;
  position: relative;
  z-index: 1;
  display: block;
  outline: none; }

a {
  color: inherit;
  text-transform: uppercase;
  text-decoration: none;
  display: block; }

p {
  font-size: 1.125em;
  line-height: 1.5; }

h1, h2, h3 {
  font-family: "sofia-pro", sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  color: #133738;
  -webkit-font-smoothing: subpixel-antialiased; }

ul {
  margin: 0;
  padding: 0; }
  ul li {
    list-style: none;
    padding: 0; }

.menu-link {
  font-weight: 1.25em;
  font-family: "sofia-pro", sans-serif; }
  .menu-link.revista {
    margin-left: 6.25em; }

.read-more {
  font-size: 17px;
  padding: 0.375em 1.5em 0.5em;
  background: #ff455c;
  color: #fff;
  font-family: "sofia-pro", sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  border-radius: 2.5em;
  overflow: hidden;
  position: relative;
  border: 3px solid #ff455c;
  text-align: center; }
  .read-more::before {
    content: "";
    height: 100%;
    width: 150%;
    background: #fff;
    display: block;
    position: absolute;
    top: -100%;
    left: 0;
    transform: translate3d(0, 0, 0);
    transition: transform 100ms ease; }
  .read-more a, .read-more .inner-button {
    position: relative;
    transform: translate3d(0, 0, 0);
    transition: transform 200ms ease 100ms;
    pointer-events: none; }
  .read-more a::before, .read-more .inner-button::before {
    content: attr(data-text);
    position: absolute;
    top: -1.875em;
    left: 0;
    color: #ff455c; }
  .read-more:hover::before {
    transform: translate3d(0, 100%, 0);
    transition: transform 200ms ease-in-out; }
  .read-more:hover a, .read-more:hover .inner-button {
    transform: translate3d(0, 130%, 0);
    transition-delay: 150ms; }

.play-video {
  background: #ff455c;
  border-radius: 5em;
  width: 5em;
  height: 5em; }
  .play-video a {
    font-size: 2em;
    left: 0.0625em;
    top: 0.03125em; }
    .play-video a::before {
      text-align: center; }

.top-header {
  height: 100vh;
  background-image: url("../images/top-header-bg-small.png"), url("https://www.transparenttextures.com/patterns/white-wall-3-2.png");
  background-repeat: no-repeat, repeat;
  background-position: center center;
  background-size: 56.25em auto;
  background-color: #c6fcfd;
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center; }
  .top-header h1 {
    margin: 0; }
  .top-header .explore {
    font-size: 15px;
    position: relative;
    top: -5vw; }

.site-nav-top {
  padding-top: 3vw; }
  .site-nav-top ul {
    width: 100%;
    display: flex; }
    .site-nav-top ul li {
      margin: 0 0.9375em;
      font-size: 16px;
      font-weight: 900;
      text-shadow: 0 0 100px #c6fcfd; }
      .site-nav-top ul li a {
        color: #111;
        transition: color 300ms; }
        .site-nav-top ul li a:hover {
          color: #3eb4c3; }

.location-map {
  width: 55%;
  position: relative;
  right: 5em;
  top: -10.625em;
  z-index: 1;
  height: 100%; }
  .location-map img {
    width: 120%;
    height: auto;
    mix-blend-mode: multiply;
    background: url("https://www.transparenttextures.com/patterns/white-wall-3-2.png") #c6fcfd; }
  .location-map .map-points {
    position: absolute;
    width: 120%;
    height: 100%;
    top: 0;
    left: 0; }
    .location-map .map-points .zoom {
      height: 9.375em;
      width: 9.375em;
      background: #fff;
      border-radius: 100%;
      position: absolute;
      top: 30%;
      left: 45%;
      border: 5px solid #fff;
      overflow: hidden;
      text-align: center;
      box-shadow: 0 0 50px rgba(0, 0, 0, 0.25); }
    .location-map .map-points .info-item {
      position: absolute;
      cursor: pointer; }
      .location-map .map-points .info-item:hover .info-item-marker {
        transform: scale(2); }
      .location-map .map-points .info-item:hover .info-item-container {
        animation: show-info 500ms ease forwards; }
    .location-map .map-points .info-item-marker {
      width: 1.25em;
      height: 1.25em;
      background: #ff455c;
      border-radius: 100%;
      transition: transform 100ms ease-in-out; }

@keyframes show-info {
  0% {
    width: 0;
    height: 0.125em; }
  50% {
    width: 14.0625em;
    height: 0.125em; }
  100% {
    height: 9.375em;
    width: 14.0625em; } }
    .location-map .map-points .info-item-container {
      background: #fff;
      width: 0;
      height: 0;
      transition: height 300ms;
      position: relative;
      top: -0.625em;
      left: 0.625em;
      overflow: hidden; }
      .location-map .map-points .info-item-container .info-item-text {
        display: flex;
        position: relative;
        padding: 0.3125em; }
      .location-map .map-points .info-item-container h2 {
        font-family: "source-serif-pro", serif;
        display: block;
        width: 30%;
        text-align: center; }
      .location-map .map-points .info-item-container p {
        font-size: 13px;
        display: block;
        width: 70%;
        padding: 0 0.625em; }
    .location-map .map-points .icon-2 {
      top: 35%;
      left: 30%;
      z-index: 8; }
    .location-map .map-points .icon-1 {
      top: 45%;
      left: 25%;
      z-index: 7; }
    .location-map .map-points .icon-3 {
      top: 70%;
      left: 35%;
      z-index: 6; }
    .location-map .map-points .icon-4 {
      top: 60%;
      left: 45%;
      z-index: 5; }
    .location-map .map-points .icon-6 {
      top: 30%;
      left: 60%;
      z-index: 3; }
    .location-map .map-points .icon-5 {
      top: 25%;
      left: 45%;
      z-index: 4; }
    .location-map .map-points .icon-8 {
      top: 40%;
      left: 70%;
      z-index: 2; }
    .location-map .map-points .icon-7 {
      top: 67%;
      left: 60%;
      z-index: 1; }

.about-project {
  width: 100%;
  max-width: 78.125em;
  margin: 0 auto;
  padding: 18.75em 2.5em 0;
  padding: 10vw 2.5em 0;
  display: flex; }
  .about-project .about-info-wrap {
    width: 45%; }
  .about-project .about-info {
    width: 95%;
    display: inline-block;
    padding-right: 1.25em;
    position: relative;
    z-index: 3;
    font-size: 1.1vw; }
    @media screen and (min-width: 1500px) {
      .about-project .about-info {
        font-size: 1em; } }
  .about-project h1 {
    font-size: 7vw;
    display: block;
    text-align: right;
    width: 100%;
    line-height: 0.9;
    margin: 0 0 0.3125em;
    position: relative;
    z-index: 3; }
    @media screen and (min-width: 1500px) {
      .about-project h1 {
        font-size: 6.25em; } }
  .about-project .read-more {
    margin-top: 1.5625em; }

.inner-content {
  background: #fff;
  height: 0;
  width: 100%;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 40;
  transition: height 500ms cubic-bezier(0.92, 0.01, 0.13, 1) 200ms; }
  .inner-content.open {
    height: 100vh; }
    .inner-content.open::before {
      height: 100vh;
      transition-delay: 0ms; }
    .inner-content.open .inner-content-image {
      height: 25vw;
      transition-delay: 325ms;
      max-height: 21.875em;
      overflow: hidden; }
    .inner-content.open .text-content {
      opacity: 1;
      transform: translate3d(0, 0, 0); }
    .inner-content.open h1 {
      transform: translate3d(0, 0, 0); }
  .inner-content::after {
    content: "";
    display: block;
    position: absolute;
    height: 100vh;
    width: 100%;
    top: 0;
    left: 0;
    background: #fff;
    z-index: -1; }
  .inner-content::before {
    content: "";
    display: block;
    position: fixed;
    height: 0;
    width: 100%;
    top: 0;
    left: 0;
    background: #3eb4c3;
    z-index: -2;
    transition: height 500ms cubic-bezier(0.92, 0.01, 0.13, 1) 450ms; }
  .inner-content .article-wrapper {
    width: 100%;
    max-width: 84.375em;
    padding: 0 3.125em;
    margin: 0 auto;
    display: flex; }
  .inner-content .inner-content-image {
    width: 45%;
    background: rgba(0, 0, 0, 0.1);
    height: 0;
    overflow: hidden;
    transition: height 500ms cubic-bezier(0.85, 0.01, 0.13, 1) 0ms; }
    .inner-content .inner-content-image img {
      width: 100%;
      height: auto; }
  .inner-content .inner-content-text {
    width: 55%;
    padding: 4.6875em 0 0;
    min-width: 40.625em;
    font-size: 1vw; }
    @media screen and (min-width: 1500px) {
      .inner-content .inner-content-text {
        font-size: 1.0625em; } }
  .inner-content .text-content {
    overflow: auto;
    height: 100%;
    height: calc(100vh - 13.4375em);
    padding: 3.125em 4.6875em 12.5em 6.25em;
    position: relative;
    opacity: 0;
    transform: translate3d(0, 3%, 0);
    transition: opacity 800ms ease 800ms, transform 800ms ease 800ms; }
  .inner-content h1 {
    font-size: 3.75em;
    margin: 0 3em 0.625em -0.25em;
    line-height: 1;
    position: relative;
    z-index: 5;
    display: block;
    transform: translate3d(0, -40%, 0);
    transition: transform 900ms cubic-bezier(0.5, 0.01, 0.13, 1) 50ms;
    text-shadow: 0 0 200px white; }
    .inner-content h1::before {
      content: "";
      display: block;
      position: absolute;
      background: linear-gradient(to bottom, white, white, rgba(255, 255, 255, 0));
      width: 100%;
      height: 2.125em;
      bottom: 0;
      transform: translateY(110%);
      left: 1.875em; }
    .inner-content h1::after {
      content: "";
      display: block;
      position: absolute;
      background: #ff455c;
      width: 3.125em;
      height: 0.125em;
      bottom: -0.375em;
      transform: translateY(110%);
      left: 0; }

.reportery {
  padding-bottom: 5vw; }

.reportery-nav {
  display: flex;
  justify-content: center; }

.reportery-item {
  background: #fff;
  width: 32.5em;
  max-width: 46.875em;
  height: 45vw;
  height: 38.75em;
  padding: 6.25em 7% 3.125em 3.75em;
  position: relative;
  z-index: 2; }
  .reportery-item h1 {
    font-size: 2.6875em;
    line-height: 1; }
  .reportery-item p {
    font-size: 1.1vw;
    margin-bottom: 1.875em; }
    @media screen and (min-width: 1500px) {
      .reportery-item p {
        font-size: 1em; } }
  .reportery-item.reportery-article h1 {
    margin: 0 0 1.5625em -2.25em;
    display: block;
    position: relative; }
    .reportery-item.reportery-article h1::after {
      content: "";
      display: block;
      position: absolute;
      background: #ff455c;
      width: 3.125em;
      height: 0.125em;
      bottom: -0.375em;
      transform: translateY(400%);
      left: 0;
      bottom: 0; }

.reportery-general-item {
  background: url("https://placeimg.com/640/480/any");
  background-size: cover;
  position: relative;
  color: #fff; }
  .reportery-general-item::after {
    content: "";
    display: block;
    background: rgba(0, 0, 0, 0.7);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0; }
  .reportery-general-item h1 {
    color: #fff;
    position: relative;
    z-index: 5; }

.more-projects {
  height: 15vh;
  width: 100%; }
  .more-projects .reportery-nav {
    width: 100%;
    max-width: 65.625em;
    margin: 0 auto;
    flex-wrap: wrap;
    margin-top: 40vw;
    height: 0; }
  .more-projects .reportery-item {
    width: 50%; }
    .more-projects .reportery-item:last-of-type {
      left: 6.25em; }

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0; }
  .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh; }

.muralism {
  height: 100vh;
  width: 100%;
  background: url("..images/splatter-muralism.png") #70c8d3;
  display: flex;
  justify-content: center;
  align-items: center; }
  .muralism .muralism-preview {
    width: 52%;
    height: 38vw;
    min-width: 25em;
    min-height: 17.5em;
    background: #133738;
    margin-top: 40vw;
    position: relative;
    overflow: hidden; }
    .muralism .muralism-preview::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.25);
      background: linear-gradient(to left, rgba(0, 0, 0, 0.65), transparent);
      top: 0;
      left: 0;
      z-index: 10; }
    .muralism .muralism-preview img {
      width: auto;
      height: 100%; }
  .muralism .muralism-title {
    width: 50%;
    margin-left: -18.75em;
    margin-top: 25vw; }
  .muralism h1 {
    color: #fff;
    font-size: 7.5em;
    margin: 0; }

.close {
  font-size: 14px;
  position: absolute;
  right: 5vw;
  top: 5vw;
  height: 4.0625em;
  width: 4.0625em;
  border-radius: 100%;
  z-index: 20; }
  .close a, .close .inner-button {
    font-size: 3.57143em;
    line-height: 1;
    text-align: center;
    vertical-align: top;
    display: block;
    width: 0.71429em;
    height: 0.71429em;
    left: -0.27143em;
    top: -0.26429em; }
    .close a::before, .close .inner-button::before {
      top: -0.92857em;
      left: 0.10714em; }

.location-nav {
  font-size: 14px;
  position: absolute;
  right: 5vw;
  top: 10vw;
  height: 4.0625em;
  width: 4.0625em;
  border-radius: 100%;
  z-index: 20;
  padding: 0.625em;
  background: #fff; }
  .location-nav::before {
    background: #ff455c; }
  .location-nav a {
    top: 0.21429em;
    left: 0;
    padding: 0; }
    .location-nav a::before {
      content: url("../images/location-nav.svg");
      color: #fff;
      left: auto;
      top: -2.14286em; }

.location-section {
  width: 100%;
  max-width: 96.875em;
  margin: 0 auto;
  padding: 5vw 0% 0; }

.minga-medios h2 {
  margin-bottom: 0.3125em; }

.minga-medios p {
  margin: 0.3125em 0 1.25em; }

.minga-medios a {
  color: #ff455c;
  text-transform: none; }
  .minga-medios a:hover {
    text-decoration: underline; }

.location {
  background: url("https://www.transparenttextures.com/patterns/white-wall-3-2.png") #fff; }
  .location footer {
    display: none; }

.gallery-layout {
  max-width: 75em;
  width: 100%;
  margin: 0 auto; }
  .gallery-layout .column {
    padding-top: 3.125em;
    padding-top: 5vw; }
  .gallery-layout .image-wrapper {
    position: relative;
    cursor: pointer;
    width: 42vw;
    height: 42vw;
    min-width: 31.25em;
    min-height: 31.25em;
    overflow: hidden;
    margin-bottom: 3.125em;
    margin-bottom: 5vw; }
    .gallery-layout .image-wrapper .preview {
      height: 100%;
      position: relative; }
      .gallery-layout .image-wrapper .preview::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.75);
        opacity: 0;
        transition: opacity 300ms;
        z-index: 2; }
    .gallery-layout .image-wrapper .preview img {
      width: auto;
      height: 100%;
      display: block;
      transform: translateX(-50%);
      position: relative;
      left: 50%;
      z-index: 1;
      filter: grayscale(0);
      transition: filter 300ms; }
    .gallery-layout .image-wrapper:hover .preview::before {
      opacity: 1; }
    .gallery-layout .image-wrapper:hover .preview img {
      filter: grayscale(0); }
    .gallery-layout .image-wrapper:hover .mural-number {
      opacity: 1;
      transform: translate(-50%, -50%); }
    .gallery-layout .image-wrapper .mural-number {
      position: absolute;
      top: 50%;
      left: 50%;
      color: #fff;
      z-index: 2;
      font-family: "sofia-pro", sans-serif;
      font-size: 2.1875em;
      display: block;
      border: 4px solid #fff;
      padding: 0.5625em 0.625em 0.5em;
      text-align: center;
      line-height: 1;
      border-radius: 100%;
      width: 2.5em;
      height: 2.5em;
      transform: translate(-50%, -30%);
      opacity: 0;
      transition: all 300ms ease 100ms; }
  .gallery-layout .image-slide {
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 25;
    top: 150%;
    left: 0;
    opacity: 0;
    transition: opacity 400ms, top 0ms linear 300ms; }
    .gallery-layout .image-slide.open {
      opacity: 1;
      top: 0;
      transition: opacity 400ms, top 0ms linear 0ms; }

.map-info-wrapper {
  position: fixed;
  left: 50%;
  top: 0;
  width: 100%;
  max-width: 75em;
  height: 100vh;
  z-index: -1;
  transform: translate3d(-50%, 0, 0);
  padding-left: 42vw; }

.map-info {
  height: 100vh;
  width: 100%;
  right: 0;
  text-align: right; }
  .map-info h1 {
    font-size: 5em;
    line-height: 1;
    margin: 7vw 0 -0.3125em;
    position: relative;
    z-index: 1;
    display: block;
    padding-left: 15%;
    text-align: left; }
    .map-info h1.sanfrancisco {
      font-size: 4.6875em;
      width: 70%;
      line-height: 0.9; }
  .map-info .map-image {
    width: auto;
    height: 110%;
    position: relative;
    top: -12.5em;
    padding-top: 7.5em;
    z-index: 2; }
    .map-info .map-image.sanfrancisco {
      height: 100%;
      width: auto; }
    .map-info .map-image.tacueyo {
      height: auto;
      width: 65%;
      top: 0.1vw;
      padding-top: 0;
      left: -1.5625em; }
    .map-info .map-image.toribio {
      height: 90%;
      width: auto;
      top: 0vw;
      left: 0;
      padding-top: 0; }

.mural-description {
  font-size: 14px;
  position: absolute;
  z-index: 10;
  bottom: -5.71429em;
  left: 50%;
  color: #fff;
  width: 53.57143em;
  transform: translateX(-50%);
  display: flex;
  flex-wrap: wrap;
  transition: transform 300ms;
  padding-bottom: 3.57143em; }
  .mural-description:hover {
    transform: translate3d(-50%, -50%, 0); }
  .mural-description .col {
    margin-right: 3.125em;
    max-width: 36%; }
  .mural-description h3 {
    color: #fff;
    margin: 0; }
  .mural-description p {
    margin: 0 0 0.625em; }
  .mural-description .description {
    width: 100%;
    margin-top: 1.25em; }

.frame {
  /**
    * (optional) wrapper width, specifies width of the slider frame.
    */
  width: 100%;
  position: relative;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
  white-space: nowrap; }

.slides {
  display: inline-block;
  width: 100%; }
  .slides li {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100vh;
    text-align: center;
    padding: 6.25em; }
  .slides img {
    height: 100%;
    width: auto; }
  .slides .img-cover {
    position: relative;
    height: 80%;
    width: auto;
    top: 50%;
    transform: translateY(-55%);
    margin: 0 auto;
    display: block;
    overflow: hidden;
    opacity: 1;
    transition: opacity 300ms; }
    .slides .img-cover.description-on {
      opacity: 0.65; }

.prev, .next {
  position: absolute;
  top: 50%;
  margin-top: -25px;
  display: block;
  cursor: pointer; }

.next {
  right: 5vw; }

.prev {
  left: 5vw; }

.next svg, .prev svg {
  width: 3.125em; }

.location-menu {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 10;
  display: flex; }
  .location-menu .close {
    z-index: 10; }
  .location-menu li {
    width: 33.3%;
    width: calc(100% / 3);
    height: 100%;
    border-right: 1px solid #70c8d3;
    color: #70c8d3;
    position: relative;
    overflow: hidden; }
    .location-menu li:hover .location-img {
      opacity: 1;
      transform: translate3d(0, 0, 0); }
    .location-menu li:hover h2 {
      color: #fff; }
  .location-menu .location-img {
    width: 100%;
    height: 110%;
    background-size: cover;
    background-position: center center;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transform: translate3d(0, -4%, 0);
    transition: opacity 150ms ease-in, transform 400ms ease-in-out;
    z-index: 1; }
    .location-menu .location-img::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: rgba(0, 0, 0, 0.5); }
  .location-menu a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: #70c8d3;
    position: relative;
    z-index: 2; }
  .location-menu h2 {
    color: #3eb4c3;
    transition: color 150ms ease-in; }

footer {
  width: 100%;
  padding: 4.6875em 0;
  background: #fff; }

.location-btns {
  position: fixed;
  top: 0;
  right: 0; }

.site-logos {
  display: flex;
  margin: 0 auto;
  width: 100%;
  max-width: 81.25em;
  justify-content: center; }
  .site-logos li {
    margin: 0 1.25em; }
  .site-logos img {
    height: 5em;
    width: auto; }

.ubic {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  line-height: 1;
  color: #fff;
  text-shadow: 0 0px 3px rgba(0, 0, 0, 0.75);
  z-index: 1; }
  .ubic::before {
    content: "";
    width: 0.625em;
    height: 0.625em;
    background: #ff455c;
    display: block;
    border-radius: 100%;
    position: absolute;
    z-index: -1; }
  .ubic.tr {
    top: 38%;
    left: 44%; }
    .ubic.tr::before {
      top: 4px;
      right: -15px; }
  .ubic.tc {
    top: 34%;
    left: 46%; }
    .ubic.tc::before {
      bottom: -6px;
      right: -5px; }
  .ubic.sf {
    top: 42%;
    left: 56%; }
    .ubic.sf::before {
      top: -6px;
      left: -5px; }
