
/*---------------------------------------*/
/*--------   11. Promo box       --------*/
/*---------------------------------------*/
@media (min-width: 576px) {
  .tt-layout-promo-box:not(.nomargin) {
    margin-top: -20px;
  }
}

@media (max-width: 575px) {
  .tt-layout-promo-box:not(.nomargin) {
    margin-top: -10px;
  }
}

@media (max-width: 790px) {
  .tt-list-sm-shift [class^="col-xs"] {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }
}

.tt-promo-box {
  display: block;
  position: relative;
  overflow: hidden;
  margin-top: 20px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.tt-promo-box > img {
  width: 100%;
  height: auto;
}

.tt-promo-box .tt-description {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #777777;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-box .tt-description .tt-title-small {
  font-family: "Roboto", sans-serif;
  color: #191919;
  font-size: 16px;
  line-height: 26px;
  font-weight: 600;
  letter-spacing: 0.03em;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-box .tt-description .tt-title-large {
  font-family: "Roboto", sans-serif;
  color: #191919;
  font-size: 26px;
  line-height: 34px;
  font-weight: 700;
  letter-spacing: 0.03em;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-box .tt-description p {
  font-size: 14px;
  line-height: 22px;
  margin-top: 4px;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-box .tt-description [class^="btn"] {
  margin-top: 20px;
}

.tt-promo-box .tt-description img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 1024px) {
  .tt-promo-box .tt-description .tt-title-small {
    font-size: 15px;
    line-height: 22px;
  }
  .tt-promo-box .tt-description .tt-title-large {
    font-size: 23px;
    line-height: 30px;
  }
}

@media (max-width: 575px) {
  .tt-promo-box .tt-description .tt-title-small {
    font-size: 15px;
    line-height: 22px;
  }
  .tt-promo-box .tt-description .tt-title-large {
    font-size: 20px;
    line-height: 29px;
  }
  .tt-promo-box .tt-description p {
    margin-top: 0;
    line-height: 20px;
  }
  .tt-promo-box .tt-description [class^="btn"] {
    margin-top: 10px;
  }
}

.tt-promo-box .tt-description *:nth-child(1) {
  margin-top: 0;
}

@media (max-width: 575px) {
  .tt-promo-box {
    margin-top: 10px;
  }
}

html:not(.ie) .tt-promo-box .tt-description .tt-description-wrapper .tt-background {
  transition: all 0.2s linear;
  -ms-transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}

.tt-promo-box:not(.tt-one-child) .tt-description .tt-description-wrapper {
  padding: 27px;
  text-align: center;
  max-width: 409px;
  min-width: 47%;
  position: relative;
}

.tt-promo-box:not(.tt-one-child) .tt-description .tt-description-wrapper .tt-background {
  content: '';
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(255, 255, 255, 0.9);
}

.tt-promo-box:not(.tt-one-child) .tt-description .tt-description-wrapper > *:not(.tt-background) {
  position: relative;
}

@media (max-width: 1024px) {
  .tt-promo-box:not(.tt-one-child) .tt-description .tt-description-wrapper {
    padding: 19px;
  }
}

@media (max-width: 575px) {
  .tt-promo-box:not(.tt-one-child) .tt-description .tt-description-wrapper {
    padding: 15px;
  }
}

@media (min-width: 576px) {
  .tt-promo-box:not(.tt-one-child) .tt-description img:first-child + * {
    margin-top: 24px;
  }
}

@media (max-width: 575px) {
  .tt-promo-box:not(.tt-one-child) .tt-description img:first-child + * {
    margin-top: 12px;
  }
}

@media (min-width: 576px) {
  .tt-promo-box:not(.tt-one-child) .tt-description [class^="tt-title"] + img,
  .tt-promo-box:not(.tt-one-child) .tt-description p + img {
    margin-top: 11px;
    margin-bottom: 11px;
  }
}

@media (max-width: 575px) {
  .tt-promo-box:not(.tt-one-child) .tt-description [class^="tt-title"] + img,
  .tt-promo-box:not(.tt-one-child) .tt-description p + img {
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

.tt-promo-box.tt-one-child .tt-description .tt-description-wrapper {
  padding: 13px 39px 11px;
  text-align: center;
  max-width: 409px;
  position: relative;
}

.tt-promo-box.tt-one-child .tt-description .tt-description-wrapper .tt-background {
  content: '';
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(255, 255, 255, 0.9);
}

.tt-promo-box.tt-one-child .tt-description .tt-description-wrapper > *:not(.tt-background) {
  position: relative;
}

@media (max-width: 1024px) {
  .tt-promo-box.tt-one-child .tt-description .tt-description-wrapper {
    padding: 13px 18px 11px;
  }
}

@media (max-width: 575px) {
  .tt-promo-box.tt-one-child .tt-description .tt-description-wrapper {
    padding: 13px 15px 11px;
  }
}

.tt-promo-box.tt-one-child .tt-description img {
  max-width: inherit;
  width: 100%;
}

@media (max-width: 575px) {
  .tt-promo-box.tt-one-child .tt-description img {
    max-width: 147px;
  }
}

@media (min-width: 576px) {
  .tt-promo-box.tt-one-child .tt-description img:first-child:not(:last-child) {
    margin-top: 6px;
  }
}

@media (max-width: 575px) {
  .tt-promo-box.tt-one-child .tt-description img:first-child:not(:last-child) {
    margin-top: 2px;
  }
}

@media (min-width: 576px) {
  .tt-promo-box.tt-one-child .tt-description img:first-child:not(:last-child) + * {
    margin-top: 12px;
  }
}

@media (max-width: 575px) {
  .tt-promo-box.tt-one-child .tt-description img:first-child:not(:last-child) + * {
    margin-top: 9px;
  }
}

@media (min-width: 576px) {
  .tt-promo-box.tt-one-child .tt-description img:not(:first-child):not(:last-child) {
    margin-top: 11px;
    margin-bottom: 8px;
  }
}

@media (max-width: 575px) {
  .tt-promo-box.tt-one-child .tt-description img:not(:first-child):not(:last-child) {
    margin-top: 11px;
  }
}

.tt-promo-box:not(.hover-type-2):hover {
  text-decoration: none;
}

.tt-promo-box:not(.hover-type-2):hover .tt-description-wrapper .tt-background {
  top: -10px;
  left: -10px;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
}

.tt-promo-box:not(.hover-type-2):hover .tt-title-large {
  color: #191919;
}

.tt-promo-box:not(.hover-type-2):hover .tt-title-small {
  color: #191919;
}

.tt-promo-box:not(.hover-type-2):hover .btn-underline {
  border-color: transparent;
  color: #f558a2;
}

.tt-promo-box.hover-type-2:hover .tt-description-wrapper .tt-background {
  background: rgba(245,88,162,0.85)
}

.tt-promo-box.hover-type-2:hover .tt-description-wrapper *:not(.tt-base-color) {
  color: #ffffff;
}

.tt-promo-box.hover-type-2:hover .tt-description-wrapper .btn-underline {
  border-color: transparent;
}

/*
	tt-promo-fullwidth
*/
.tt-promo-fullwidth {
  display: block;
  position: relative;
  overflow: hidden;
}

.tt-promo-fullwidth > img {
  width: 100%;
  height: auto;
}

.tt-promo-fullwidth .tt-description {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #191919;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-fullwidth .tt-description .tt-description-wrapper {
  max-width: 600px;
  text-align: center;
}

.tt-promo-fullwidth .tt-description .tt-title-small {
  font-family: "Roboto", sans-serif;
  color: #191919;
  font-size: 50px;
  line-height: 60px;
  font-weight: 600;
  letter-spacing: 0.03em;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-fullwidth .tt-description .tt-title-large {
  font-family: "Roboto", sans-serif;
  color: #191919;
  font-size: 90px;
  line-height: 90px;
  font-weight: 700;
  letter-spacing: 0.03em;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-fullwidth .tt-description p {
  font-size: 16px;
  line-height: 22px;
  margin-top: 20px;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-fullwidth .tt-description [class^="btn"] {
  margin-top: 34px;
}

.tt-promo-fullwidth .tt-description img {
  max-width: 100%;
  height: auto;
}

@media (min-width: 1701px) {
  .tt-promo-fullwidth .tt-description {
    padding: 10% 17.6%;
  }
}

@media (min-width: 1401px) and (max-width: 1700px) {
  .tt-promo-fullwidth .tt-description {
    padding: 10% 8%;
  }
}

@media (max-width: 1400px) {
  .tt-promo-fullwidth .tt-description {
    padding: 10% 5%;
  }
  .tt-promo-fullwidth .tt-description .tt-title-small {
    font-size: 40px;
    line-height: 50px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-large {
    font-size: 65px;
    line-height: 75px;
  }
  .tt-promo-fullwidth .tt-description p {
    margin-top: 15px;
  }
  .tt-promo-fullwidth .tt-description [class^="btn"] {
    margin-top: 27px;
  }
}

@media (max-width: 1100px) {
  .tt-promo-fullwidth .tt-description {
    padding: 10% 5%;
  }
  .tt-promo-fullwidth .tt-description .tt-title-small {
    font-size: 35px;
    line-height: 45px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-large {
    font-size: 50px;
    line-height: 60px;
  }
  .tt-promo-fullwidth .tt-description p {
    margin-top: 10px;
  }
  .tt-promo-fullwidth .tt-description [class^="btn"] {
    margin-top: 20px;
  }
}

@media (max-width: 900px) {
  .tt-promo-fullwidth .tt-description .tt-title-small {
    font-size: 20px;
    line-height: 30px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-large {
    font-size: 37px;
    line-height: 44px;
  }
  .tt-promo-fullwidth .tt-description p {
    margin-top: 5px;
  }
  .tt-promo-fullwidth .tt-description [class^="btn"] {
    margin-top: 15px;
  }
  .tt-promo-fullwidth .tt-description .tt-description-wrapper {
    max-width: 332px;
  }
}

@media (max-width: 789px) {
  .tt-promo-fullwidth .tt-description {
    padding: 5% 3%;
  }
  .tt-promo-fullwidth .tt-description .tt-title-small {
    font-size: 17px;
    line-height: 25px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-large {
    font-size: 30px;
    line-height: 35px;
  }
  .tt-promo-fullwidth .tt-description p {
    line-height: 20px;
  }
  .tt-promo-fullwidth .tt-description [class^="btn"] {
    margin-top: 15px;
  }
  .tt-promo-fullwidth .tt-description .tt-description-wrapper {
    max-width: 283px;
  }
}

@media (max-width: 657px) {
  .tt-promo-fullwidth .tt-description {
    padding: 5% 10px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-small {
    font-size: 15px;
    line-height: 20px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-large {
    font-size: 25px;
    line-height: 30px;
  }
  .tt-promo-fullwidth .tt-description p {
    font-size: 14px;
    line-height: 18px;
  }
  .tt-promo-fullwidth .tt-description [class^="btn"] {
    margin-top: 10px;
  }
  .tt-promo-fullwidth .tt-description .tt-description-wrapper {
    max-width: 251px;
  }
}

@media (max-width: 575px) {
  .tt-promo-fullwidth .tt-description .tt-description-wrapper {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 200px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-small {
    font-size: 14px;
    line-height: 16px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-large {
    font-size: 21px;
    line-height: 24px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-large br {
    display: none;
  }
  .tt-promo-fullwidth .tt-description p {
    font-size: 13px;
    line-height: 16px;
    margin-top: 0;
  }
  .tt-promo-fullwidth .tt-description [class^="btn"] {
    margin-top: 5px;
  }
}

@media (max-width: 450px) {
  .tt-promo-fullwidth .tt-description .tt-description-wrapper {
    padding-left: 5px;
    padding-right: 0px;
    max-width: 160px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-large {
    font-size: 17px;
    line-height: 20px;
  }
  .tt-promo-fullwidth .tt-description .tt-title-small {
    font-size: 12px;
    line-height: 12px;
  }
  .tt-promo-fullwidth .tt-description p {
    font-size: 12px;
    line-height: 14px;
  }
}

.tt-promo-fullwidth .tt-description *:nth-child(1) {
  margin-top: 0;
}

@media (max-width: 450px) {
  .tt-promo-fullwidth .tt-description:not(.tt-point-h-r):not(.tt-point-h-l) .tt-description-wrapper {
    max-width: 270px;
  }
}

/*
	tt-promo-fullwidth-02
*/
.tt-promo-fullwidth-02 {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.tt-promo-fullwidth-02 > img {
  width: 100%;
  height: auto;
}

.tt-promo-fullwidth-02 .tt-description {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #777777;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-fullwidth-02 .tt-description .tt-description-wrapper {
  text-align: center;
}

.tt-promo-fullwidth-02 .tt-description .tt-title-large {
  font-family: "Roboto", sans-serif;
  color: #191919;
  font-size: 34px;
  line-height: 44px;
  font-weight: 700;
  letter-spacing: 0.03em;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-fullwidth-02 .tt-description p {
  font-size: 14px;
  line-height: 22px;
  margin-top: 23px;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-fullwidth-02 .tt-description img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 1024px) {
  .tt-promo-fullwidth-02 .tt-description .tt-title-large {
    font-size: 24px;
    line-height: 30px;
  }
  .tt-promo-fullwidth-02 .tt-description p {
    line-height: 19px;
    margin-top: 15px;
  }
}

@media (max-width: 789px) {
  .tt-promo-fullwidth-02 .tt-description .tt-title-large {
    font-size: 18px;
    line-height: 22px;
  }
  .tt-promo-fullwidth-02 .tt-description p {
    margin-top: 8px;
  }
}

@media (max-width: 575px) {
  .tt-promo-fullwidth-02 .tt-description .tt-title-large {
    font-size: 16px;
    line-height: 19px;
  }
  .tt-promo-fullwidth-02 .tt-description .tt-title-large br {
    display: none;
  }
  .tt-promo-fullwidth-02 .tt-description p {
    margin-top: 5px;
  }
}

.tt-promo-fullwidth-02 .tt-description *:nth-child(1) {
  margin-top: 0;
}

/*
	tt-promo-custom

	*have 2 color schemes:
        - tt-color-scheme-01 (green)
        - tt-color-scheme-02 (dark)
*/
.tt-promo-custom {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  overflow: hidden;
  width: 100%;
  padding: 10px 20px;
}

.tt-promo-custom .tt-img img {
  border-radius: 50%;
}

.tt-promo-custom .tt-img + .tt-description {
  padding-left: 20px;
}

.tt-promo-custom .tt-description {
  -webkit-flex: 2 1 auto;
  -ms-flex: 2 1 auto;
  flex: 2 1 auto;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.tt-promo-custom .tt-description .tt-title {
  font-size: 50px;
  font-weight: 600;
  line-height: 1.1;
  -webkit-flex: 2 1 auto;
  -ms-flex: 2 1 auto;
  flex: 2 1 auto;
}

.tt-promo-custom .tt-description .tt-title .text-small {
  font-size: 24px;
}

.tt-promo-custom .tt-description [class^="btn"] {
  padding-left: 19px;
  padding-right: 19px;
}

@media (max-width: 1229px) {
  .tt-promo-custom .tt-description .tt-title .text-small {
    display: block;
  }
}

@media (max-width: 1024px) {
  .tt-promo-custom .tt-description .tt-title {
    font-size: 37px;
  }
  .tt-promo-custom .tt-description .tt-title .text-small {
    font-size: 20px;
  }
}

@media (max-width: 790px) {
  .tt-promo-custom .tt-description {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: left;
    -ms-flex-align: left;
    align-items: left;
  }
  .tt-promo-custom .tt-description .tt-title {
    font-size: 30px;
  }
  .tt-promo-custom .tt-description .tt-title .text-small {
    font-size: 18px;
  }
  .tt-promo-custom .tt-description [class^="btn"] {
    margin-top: 10px;
  }
}

@media (max-width: 575px) {
  .tt-promo-custom .tt-description {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: left;
    -ms-flex-align: left;
    align-items: left;
  }
  .tt-promo-custom .tt-description .tt-title {
    font-size: 22px;
    line-height: 1.2;
  }
  .tt-promo-custom .tt-description .tt-title .text-small {
    font-size: 15px;
  }
  .tt-promo-custom .tt-description [class^="btn"] {
    margin-top: 10px;
  }
}

.tt-promo-custom.tt-color-scheme-01 {
  background: #f558a2;
}

.tt-promo-custom.tt-color-scheme-01 .tt-title {
  color: #ffffff;
}

.tt-promo-custom.tt-color-scheme-01 .tt-title .text-small {
  color: #ffffff;
}

.tt-promo-custom.tt-color-scheme-02 {
  background: #191919;
}

.tt-promo-custom.tt-color-scheme-02 .tt-title {
  color: #ffffff;
}

.tt-promo-custom.tt-color-scheme-02 .tt-title .text-small {
  color: #ffffff;
}

.tt-promo-custom.tt-color-scheme-02 [class^="btn"]:hover {
  background: #ffffff;
  color: #191919;
}

/* tt-promo-03 (listing banner aside) */
.tt-promo-03 {
  display: block;
  position: relative;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.tt-promo-03 > img {
  width: 100%;
  height: auto;
}

.tt-promo-03 .tt-description {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-03 .tt-description .tt-title-large {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-03 .tt-description p {
  font-weight: 300;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-promo-03 .tt-description .tt-title-large:not([class$="color"]) {
  color: #ffffff;
}

.tt-promo-03 .tt-description p:not([class$="color"]) {
  color: #ffffff;
}

.tt-promo-03 .tt-description img {
  max-width: 100%;
  height: auto;
}

@media (min-width: 1230px) {
  .tt-promo-03 .tt-description {
    padding: 20px;
  }
  .tt-promo-03 .tt-description .tt-title-large {
    font-size: 21px;
    line-height: 22px;
  }
  .tt-promo-03 .tt-description p {
    font-size: 13px;
    line-height: 17px;
    margin-top: 7px;
    letter-spacing: -0.02em;
  }
}

@media (max-width: 1229px) {
  .tt-promo-03 .tt-description {
    padding: 15px;
  }
  .tt-promo-03 .tt-description .tt-title-large {
    font-size: 18px;
    line-height: 18px;
  }
  .tt-promo-03 .tt-description p {
    font-size: 13px;
    line-height: 17px;
    margin-top: 4px;
    letter-spacing: -0.01em;
  }
}

.tt-promo-03 .tt-description *:nth-child(1) {
  margin-top: 0;
}

.tt-content-aside:not(:last-child) {
  margin-bottom: 33px;
}

.tt-btn-col-close + .tt-content-aside {
  margin-top: 32px;
}

/* tt-promo-collection */
@media (min-width: 1025px) {
  .tt-collection-listing {
    margin-top: -38px;
  }
  .tt-collection-listing .tt-collection-item {
    margin-top: 38px;
  }
}

@media (max-width: 1024px) and (min-width: 576px) {
  .tt-collection-listing {
    margin-top: -40px;
  }
  .tt-collection-listing .tt-collection-item {
    margin-top: 40px;
  }
}

@media (max-width: 575px) {
  .tt-collection-listing {
    margin-top: -30px;
  }
  .tt-collection-listing .tt-collection-item {
    margin-top: 30px;
  }
}

.tt-collection-item {
  display: block;
}

.tt-collection-item img {
  max-width: 100%;
  height: auto;
}

.tt-collection-item .tt-description {
  padding-top: 14px;
  position: relative;
}

.tt-collection-item .tt-description .tt-title {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #191919;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.tt-collection-item .tt-description .tt-title a {
  color: #191919;
}

.tt-collection-item .tt-description .tt-add-info {
  list-style: none;
  margin: 2px 0 0 0;
  padding: 0;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.tt-collection-item .tt-description .tt-add-info li {
  font-size: 12px;
  line-height: 19px;
  color: #999999;
}

.tt-collection-item:hover .tt-description .tt-title {
  color: #f558a2;
}

