#welcomeSec {
  position: relative;
  margin-bottom: var(--space-between-sections);
  overflow: hidden;
}

#welcomeSec span.verticalTitle {
  font-size: 14px;
  color: var(--color-black);
  line-height: 20px;
  text-transform: uppercase;
  position: absolute;
  top: 50%;
  left: 30px;
  z-index: 2;
  writing-mode: vertical-rl;
  transform: translateY(-50%) rotate(-180deg);
}

#welcomeSec span.verticalTitle:before {
  content: "";
  width: 1px;
  height: 40px;
  background-color: var(--color-black);
  position: absolute;
  top: calc(100% + 17px);
  left: 50%;
}

#welcomeSec span.verticalTitle:after {
  content: "";
  width: 1px;
  height: 40px;
  background-color: var(--color-black);
  position: absolute;
  bottom: calc(100% + 17px);
  left: 50%;
}

#welcomeSec .welcome {
  display: flex;
  float: left;
  width: 100%;
  padding-bottom: 150px;
  position: relative;
  z-index: 2;
}

#welcomeSec .welcome .image {
  position: relative;
  float: left;
  width: calc(100% + var(--container-padding));
  display: flex;
  justify-content: center;
  overflow: hidden;
}

#welcomeSec .welcome .image:after {
  content: "";
  width: 84%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  background: linear-gradient(
    -90deg,
    rgba(255, 255, 255, 0) 5%,
    var(--color-white-transparent) 40%,
    var(--color-white) 85%
  );
  position: absolute;
  top: 0;
  left: 0;
}

#welcomeSec .welcome .image picture {
  max-width: inherit;
  width: inherit;
  height: 100%;
}

#welcomeSec .welcome .thumb {
  width: 570px;
  position: absolute;
  right: 0;
  bottom: 5%;
  z-index: 1;
}

#welcomeSec .welcome .thumb img {
  width: 100%;
  height: auto;
}

#welcomeSec .welcome .content {
  position: relative;
  float: left;
  width: 50%;
  margin-left: calc(-100% - var(--container-padding));
  padding: 70px 0;
  align-self: center;
}

#welcomeSec .welcome .content span.title {
  display: block;
  margin: 0 0 40px -70px;
  font-family: var(--font-cursive-family);
  font-size: var(--font-subtitle-cursive-size);
  color: var(--color-primary);
}

#welcomeSec .welcome .content h1 {
  width: 130%;
  margin: 0 0 40px 0;
  font-family: var(--font-title-family);
  font-size: var(--font-title-size);
  color: var(--color-black);
  text-transform: uppercase;
}

#welcomeSec .welcome .content p {
  width: 80%;
  margin: 0 0 20px 0;
  font-size: var(--font-text-size);
  color: var(--color-black);
  font-weight: 400;
}

#welcomeSec .welcome .content p:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 1180px) and (max-width: 1366px) {
  #welcomeSec span.verticalTitle {
    left: 17px;
  }
  #welcomeSec .welcome .content span.title {
    margin: 0 0 40px 0;
  }
}

@media only screen and (min-width: 959px) and (max-width: 1180px) {
  #welcomeSec span.verticalTitle {
    left: 7px;
  }
  #welcomeSec .welcome .content span.title {
    margin: 0 0 40px 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 959px) {
  #welcomeSec span.verticalTitle {
    display: none;
  }
  #welcomeSec .welcome {
    padding-bottom: 115px;
  }
  #welcomeSec .welcome .thumb {
    width: 437px;
  }
  #welcomeSec .welcome .content span.title {
    margin: 0 0 20px 0;
    font-size: var(--font-subtitle-cursive-size);
    line-height: 40px;
  }
  #welcomeSec .welcome .content h1 {
    width: 130%;
    margin: 0 0 20px 0;
    font-size: var(--font-title-size);
    line-height: 45px;
  }
  #welcomeSec .welcome .content p {
    width: 80%;
    margin: 0 0 20px 0;
    font-size: 16px;
    line-height: 28px;
  }
}

@media only screen and (max-width: 767px) {
  #welcomeSec span.verticalTitle {
    display: none;
  }
  #welcomeSec .welcome {
    flex-direction: column;
    padding-bottom: 0;
  }
  #welcomeSec .welcome .image {
    width: calc(100% + 30px);
    margin-left: -15px;
  }
  #welcomeSec .welcome .image:after {
    background: linear-gradient(
      180deg,
      rgba(2, 8, 21, 0) 5%,
      var(--color-white-transparent) 65%,
      var(--color-white) 95%
    );
    width: 100%;
    height: 40%;
    top: auto;
    bottom: 0;
  }
  #welcomeSec .welcome .image img {
    max-width: 100%;
    width: inherit;
    height: auto;
  }
  #welcomeSec .welcome .thumb {
    display: none;
  }
  #welcomeSec .welcome .content {
    width: 100%;
    margin-left: 0;
    padding: 0px 0;
  }
  #welcomeSec .welcome .content span.title {
    margin: 0 0 20px 0;
    font-size: var(--font-subtitle-cursive-size);
    line-height: 40px;
  }
  #welcomeSec .welcome .content h1 {
    width: 100%;
    margin: 0 0 20px 0;
    font-size: var(--font-title-size);
    line-height: 45px;
  }
  #welcomeSec .welcome .content p {
    width: 100%;
    margin: 0 0 20px 0;
    font-size: var(--font-text-size);
    line-height: 28px;
  }
}
