.fz-d-36 {
  font-size: calc(100vw * (36 / 1000));
}
@media (min-width: 1000px) {
  .fz-d-36 {
    font-size: 36px;
  }
}

.fz-d-32 {
  font-size: calc(100vw * (32 / 1000));
}
@media (min-width: 1000px) {
  .fz-d-32 {
    font-size: 32px;
  }
}

@media (max-width: 767px) {
  .fz-m-38 {
    font-size: calc(100vw * (38 / 375));
  }

  .fz-m-35 {
    font-size: calc(100vw * (35 / 375));
  }

  .fz-m-32 {
    font-size: calc(100vw * (32 / 375));
  }

  .fz-m-30 {
    font-size: calc(100vw * (30 / 375));
  }

  .fz-m-28 {
    font-size: calc(100vw * (28 / 375));
  }

  .fz-m-26 {
    font-size: calc(100vw * (26 / 375));
  }

  .fz-m-25 {
    font-size: calc(100vw * (25 / 375));
  }

  .fz-m-24 {
    font-size: calc(100vw * (24 / 375));
  }
}
.invisible.visible {
  visibility: visible !important;
}

.spotlight-item-view .container {
  overflow-x: visible;
}

.flex-media {
  display: flex;
  align-items: flex-start;
}

.flex-media .body {
  flex: 1;
}

.border-main-color {
  border: 2px solid var(--main-color);
}

.border-main-bottom {
  border-bottom: 10px solid var(--main-color);
}

.w-20 {
  width: 20% !important;
}

.mw-100vw {
  max-width: 100vw;
}

.mw-1440px {
  max-width: 1440px;
}

.mw-1280px {
  max-width: 1280px;
}

.mw-1140px {
  max-width: 1140px;
}

.mw-1000px {
  max-width: 1000px;
}

.text-fat {
  transform: scale(1, 0.85);
}

ul.disc-ul,
ul.outline-ul {
  padding-left: 9%;
}
ul.disc-ul li,
ul.outline-ul li {
  position: relative;
}
ul.disc-ul li:before,
ul.outline-ul li:before {
  content: "●";
  position: absolute;
  margin-left: -9%;
}

ul.outline-ul li {
  position: relative;
}
ul.outline-ul li:before {
  content: "◦";
}

.over-width {
  margin-left: calc(-1 * (50vw - 360px));
  margin-right: calc(-1 * (50vw - 360px));
}

@media (max-width: 991px) {
  .over-width {
    margin-left: calc(-1 * (50vw - 285px));
    margin-right: calc(-1 * (50vw - 285px));
  }
}
@media (max-width: 600px) {
  .over-width {
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media (max-width: 581px) {
  .over-width .container .wrapper {
    max-width: 100vw;
  }

  .over-width > .container > .wrapper:not(.px-0) {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}
br[d] {
  display: inline;
}
@media (max-width: 767px) {
  br[d] {
    display: none;
  }
}
br[m] {
  display: none;
}
@media (max-width: 767px) {
  br[m] {
    display: inline;
  }
}

hr[v] {
  border: none;
  border-left-style: solid;
  border-left-width: 1px;
  height: 100%;
  min-height: 2rem;
  width: 1px;
}

.between-line {
  display: inline-block;
  position: relative;
}
.between-line:before, .between-line:after {
  content: "";
  position: absolute;
  border-bottom: 1px solid black;
  top: 50%;
  width: 50vw;
}
.between-line:before {
  right: 100%;
  margin-right: 15px;
}
.between-line:after {
  left: 100%;
  margin-left: 15px;
}

.square-box {
  position: relative;
}
.square-box:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.square-box .content {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  color: white;
  text-align: center;
}

@font-face {
  font-family: HappyTime;
  src: url("https://www.jeban.com/spotlight-item/_fonts/HappyTime.woff") format("woff");
}
.font-happy {
  font-family: "HappyTime" !important;
}

.text-bold {
  font-weight: bold;
}
@supports (-webkit-overflow-scrolling: touch) {
  .text-bold {
    -webkit-font-smoothing: antialiased;
  }
}

.flex-center-center {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}

.cover.over-width {
  background: url("https://www.jeban.com/spotlight-item/revlon/swatches-bg.png") center bottom -100px repeat-x #f5e2e4;
  position: relative;
  z-index: 1;
  padding: 40px 0 300px;
  background-size: 600px auto;
}
@media (max-width: 767px) {
  .cover.over-width {
    background-size: calc(100vw * 480/375) auto;
    background-position: center bottom calc(100vw * -50/375);
    padding: calc(100vw * 50/375) 0 calc(100vw * 300/375);
  }
}
@media (min-width: 768px) {
  .cover.over-width h1 {
    font-size: 38px;
    margin-top: 1rem;
  }
}
@media (max-width: 767px) {
  .cover.over-width h1 {
    margin-top: calc(100vw * 10/375);
  }
}
.cover.over-width img.logo-img {
  width: 250px;
}
@media (max-width: 767px) {
  .cover.over-width img.logo-img {
    width: calc(100vw * 235/375);
  }
}
.cover.over-width img.packshot-top-img {
  position: absolute;
  margin: 0 auto;
  width: 740px;
  bottom: -200px;
}
@media (max-width: 767px) {
  .cover.over-width img.packshot-top-img {
    width: calc(100vw * 600/375);
    bottom: calc(100vw * -140/375);
  }
}
.cover.over-width blockquote {
  position: relative;
  padding: 44px 0;
  margin-top: 44px;
}
@media (max-width: 767px) {
  .cover.over-width blockquote {
    padding: calc(100vw * 30/375) 0;
    margin-top: calc(100vw * 30/375);
  }
}
.cover.over-width blockquote p {
  line-height: 1;
}
@media (min-width: 768px) {
  .cover.over-width blockquote p {
    font-size: 40px;
  }
}
.cover.over-width blockquote:before, .cover.over-width blockquote:after {
  content: "";
  position: absolute;
  width: 100%;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  height: 22px;
}
@media (max-width: 767px) {
  .cover.over-width blockquote:before, .cover.over-width blockquote:after {
    height: calc(100vw * 15/375);
  }
}
.cover.over-width blockquote:before {
  background-image: url("https://www.jeban.com/spotlight-item/revlon/-01@2x.png");
  top: 0;
}
.cover.over-width blockquote:after {
  background-image: url("https://www.jeban.com/spotlight-item/revlon/-02@2x.png");
  bottom: 0;
}

#sec-1.over-width {
  position: relative;
  background: white;
  z-index: 2;
  padding-bottom: 24px;
}
@media (max-width: 767px) {
  #sec-1.over-width {
    padding-bottom: calc(100vw * 26/375);
  }
}
@media (min-width: 768px) {
  #sec-1.over-width p {
    font-size: 32px;
    padding: 62px 0 24px;
  }
}
@media (max-width: 767px) {
  #sec-1.over-width p {
    padding: calc(100vw * 48/375) 0 calc(100vw * 26/375);
  }
}
#sec-1.over-width hr {
  margin: 0 auto;
  height: 64px;
}
@media (max-width: 767px) {
  #sec-1.over-width hr {
    height: calc(100vw * 64/375);
  }
}

#sec-2.over-width {
  background: black;
  padding: 64px 0;
}
@media (max-width: 767px) {
  #sec-2.over-width {
    padding: calc(100vw * 35/375) 0;
  }
}
#sec-2.over-width img.logo-img {
  width: 235px;
}
@media (max-width: 767px) {
  #sec-2.over-width img.logo-img {
    width: calc(100vw * 235/375);
  }
}
#sec-2.over-width h3 {
  color: white;
}
@media (min-width: 768px) {
  #sec-2.over-width h3 {
    font-size: 32px;
  }
}
@media (max-width: 767px) {
  #sec-2.over-width h3 {
    margin: calc(100vw * 10/375) auto calc(100vw * 20/375) !important;
  }
}
#sec-2.over-width p {
  color: white;
}
@media (min-width: 768px) {
  #sec-2.over-width p {
    font-size: 35px;
  }
}

#sec-3.over-width {
  position: relative;
  z-index: 1;
}
#sec-3.over-width > .header {
  height: 300px;
  background: url("https://www.jeban.com/spotlight-item/revlon/BG-lip-02@2x.jpg") center top no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  #sec-3.over-width > .header {
    height: calc(100vw * 240/375);
  }
}
#sec-3.over-width > .header img.matte-is-everything-img {
  width: 350px;
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  #sec-3.over-width > .header img.matte-is-everything-img {
    width: calc(100vw * 312/375);
    margin-bottom: calc(100vw * 5/375);
  }
}
#sec-3.over-width > .header h3 {
  color: white;
  text-shadow: 2px 2px black;
}
@media (min-width: 768px) {
  #sec-3.over-width > .header h3 {
    font-size: 36px;
  }
}
#sec-3.over-width > .product-info img.product-img {
  width: 280px;
  margin: 40px auto;
}
@media (max-width: 767px) {
  #sec-3.over-width > .product-info img.product-img {
    width: calc(100vw * 180/375);
    margin: calc(100vw * 40/375) auto;
  }
}
#sec-3.over-width > .product-info h2, #sec-3.over-width > .product-info h3 {
  line-height: 1;
}
@media (min-width: 768px) {
  #sec-3.over-width > .product-info h2, #sec-3.over-width > .product-info h3 {
    font-size: 36px;
  }
}
@media (min-width: 768px) {
  #sec-3.over-width > .product-info p {
    font-size: 28px;
  }
}
#sec-3.over-width > .product-info ul {
  display: flex;
  flex-flow: wrap;
  width: 100vw;
  max-width: 1000px;
}
#sec-3.over-width > .product-info ul li {
  text-align: center;
}
@media (min-width: 768px) {
  #sec-3.over-width > .product-info ul li {
    width: 25%;
  }
}
@media (max-width: 767px) {
  #sec-3.over-width > .product-info ul li {
    width: 100%;
  }
}
#sec-3.over-width > .product-info ul li:before {
  content: "•";
  font-size: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  #sec-3.over-width > .product-info ul li:before {
    font-size: calc(100vw * 50/375);
    line-height: 0.5;
    margin-top: calc(100vw * 16/375);
  }
}
#sec-3.over-width .footer {
  background: url("https://www.jeban.com/spotlight-item/revlon/swatches-bg.png") center bottom -200px repeat-x white;
  position: relative;
  z-index: 1;
  height: 200px;
  background-size: 600px auto;
}
@media (max-width: 767px) {
  #sec-3.over-width .footer {
    background-size: calc(100vw * 480/375) auto;
    background-position: center top;
    height: calc(100vw * 160/375);
    margin-top: calc(100vw * 16/375);
  }
}
#sec-3.over-width .footer .btn-user-review {
  color: black;
  background: white;
  border: 2px solid #AF2F5D;
  text-decoration: none !important;
  width: calc(100vw * 200/1000);
  height: calc(100vw * 64/1000);
  margin-top: 80px;
}
@media (min-width: 1000px) {
  #sec-3.over-width .footer .btn-user-review {
    width: 200px;
    height: 64px;
  }
}
@media (max-width: 767px) {
  #sec-3.over-width .footer .btn-user-review {
    width: calc(100vw * 100/375);
    height: calc(100vw * 36/375);
    margin-top: calc(100vw * 50/375);
  }
}

#sec-4.over-width {
  position: relative;
  z-index: 1;
}
#sec-4.over-width > .header {
  background: black;
}
#sec-4.over-width > .header .container {
  height: 345px;
}
@media (min-width: 768px) {
  #sec-4.over-width > .header .container {
    align-items: flex-start !important;
  }
}
@media (max-width: 767px) {
  #sec-4.over-width > .header .container {
    height: calc(100vw * 300/375);
  }
}
#sec-4.over-width > .header img.super-lustrous-img {
  width: 410px;
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  #sec-4.over-width > .header img.super-lustrous-img {
    width: calc(100vw * 350/375);
    margin-bottom: calc(100vw * 8/375);
  }
}
#sec-4.over-width > .header .d-flex {
  width: 410px;
}
@media (max-width: 767px) {
  #sec-4.over-width > .header .d-flex {
    width: calc(100vw * 350/375);
  }
}
#sec-4.over-width > .header .d-flex h3 {
  color: #CE6E87;
  line-height: 1;
}
@media (min-width: 768px) {
  #sec-4.over-width > .header .d-flex h3 {
    font-size: 40px;
  }
}
#sec-4.over-width > .header .d-flex span {
  flex-grow: 1;
  height: 30px;
}
@media (min-width: 768px) {
  #sec-4.over-width > .header .d-flex span {
    border-bottom: 2px solid #F4E1E5;
    margin-left: 5px;
  }
}
@media (max-width: 767px) {
  #sec-4.over-width > .header .d-flex span {
    border-bottom: calc(100vw * 2/375) solid #F4E1E5;
    margin-left: calc(100vw * 5/375);
    height: calc(100vw * 25/375);
  }
}
#sec-4.over-width > .body ul {
  flex-flow: wrap;
  align-items: flex-start;
  margin: 15px auto;
}
#sec-4.over-width > .body ul li {
  width: 25%;
  min-width: 170px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin: 15px 0;
}
#sec-4.over-width > .body ul li img {
  width: 80%;
}
#sec-4.over-width > .body ul li h3 {
  font-family: "HappyTime" !important;
  font-size: 16px;
  text-align: center;
}

#sec-5 .container {
  height: 484px;
  background: url("https://www.jeban.com/spotlight-item/revlon/bg-how-to-use@2x.jpg") center center no-repeat transparent;
  background-size: 1440px auto;
}
@media (max-width: 767px) {
  #sec-5 .container {
    height: calc(100vw * 360/375);
    background-size: auto 125%;
    background-position: right calc(100vw * -390/375) top;
  }
}
#sec-5 .container .wrapper h2 {
  margin-bottom: 45px;
}
#sec-5 .container .wrapper h2 span {
  border-bottom: 2px solid black;
}
@media (min-width: 478px) {
  #sec-5 .container .wrapper h2 span {
    font-size: 48px;
  }
}
#sec-5 .container .wrapper p {
  padding-bottom: 75px;
}
@media (min-width: 478px) {
  #sec-5 .container .wrapper p {
    font-size: 40px;
  }
}
@media (max-width: 767px) {
  #sec-5 .container .wrapper p {
    padding-bottom: calc(100vw * 125/375);
  }
}

#sec-6 {
  height: 460px;
  background: url("https://www.jeban.com/spotlight-item/revlon/bg-shopping-md.jpg") center bottom no-repeat transparent;
  background-size: auto 112%;
}
@media (max-width: 767px) {
  #sec-6 {
    height: calc(100vw * 335/375);
    background-image: url("https://www.jeban.com/spotlight-item/revlon/bg-shopping-xs.jpg");
    background-size: auto 100%;
  }
}
#sec-6 blockquote {
  position: relative;
  color: white;
  text-shadow: 2px 2px black;
  padding: 44px 0;
}
@media (max-width: 767px) {
  #sec-6 blockquote {
    padding: calc(100vw * 30/375) 0;
  }
}
@media (min-width: 768px) {
  #sec-6 blockquote p:nth-child(1) {
    font-size: 40px;
  }
  #sec-6 blockquote p:nth-child(3) {
    font-size: 42px;
  }
  #sec-6 blockquote p:nth-child(4) {
    font-size: 35px;
  }
}
@media (min-width: 768px) {
  #sec-6 blockquote h2 {
    font-size: 42px;
  }
}
#sec-6 blockquote:before, #sec-6 blockquote:after {
  content: "";
  position: absolute;
  width: 100%;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  height: 22px;
}
@media (max-width: 767px) {
  #sec-6 blockquote:before, #sec-6 blockquote:after {
    height: calc(100vw * 15/375);
  }
}
#sec-6 blockquote:before {
  background-image: url("https://www.jeban.com/spotlight-item/revlon/-03@2x.png");
  top: 0;
}
#sec-6 blockquote:after {
  background-image: url("https://www.jeban.com/spotlight-item/revlon/-04@2x.png");
  bottom: 0;
}