﻿/*-----------------------------------------------------
[Style Sheet for "Beauty Blitz"]

Last Change: 11/8/19
-----------------------------------------------------*/

@import "all.css";


/*=================================================
    Global styles for shared elements
==================================*/

html,
body {
    height: 100%;
	margin: 0;}
.product-fix {position: relative;}
.btn-bottm-align {position: fixed;bottom:0;}

	.bootstrap-wrapper{
		overflow: hidden;}

body {
	color: #303030;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 300;
	-webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;}

h1, h2, h3, h4, h5 {
	color: #303030;
	font-weight: bold;
	margin: 0 0 6px;}

h1, .h1, h2, .h2, h3, .h3 {
    margin-bottom: 10px;
    margin-top: 35px;}

img {
	max-width: 100%;}

ul {
	list-style-type: none;
	-webkit-padding-start: 0;}

/* Overrides react.css font styles */
.bootstrap-wrapper div {
	color: #303030 !important;
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 1rem !important;
	font-weight: 300 !important;
	-webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;}

/* Global Button & Link Styles */
a:hover,
a:focus {
    text-decoration: none;}

.btn-primary {
    background-color: #e90b5a;
	background-image: none;
	box-shadow: none;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0);}

.btn-singleUse {
    background-color: #ef4262;
	background-image: none;
	box-shadow: none;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0);}

.btn-secondary {
    background-color: #fff;
	background-image: none;
	box-shadow: none;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0);}

a.primary-link{
	color: #000000;
	font-weight: 400;
	text-decoration: none;
	line-height: 1.3;
	position: relative;
	padding-bottom: 3px;}

	a:hover.primary-link{
		color: #000000;
		text-decoration: none;}

	a.primary-link:after {
		position: absolute;
		top: 90%;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #000;
		content: '';
		transform-origin: top;
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
		transition-duration: .5s;}

	a.primary-link:hover::after {
		color: #000000 !important;
		-webkit-transform: scaleY(1.5);
		-moz-transform: scaleY(2);
		transform: scaleY(1.5);
		transition-duration: .5s;}

	a:focus.primary-link {
		color: #000000 !important;
		font-size: .875rem;
		text-decoration: none;}

a.primary-link-steals{
	color: #000000;
	font-weight: 400;
	text-decoration: none;
	line-height: 1.3;
	position: relative;
	padding-bottom: 3px;}

	a:hover.primary-link-steals{
		color: #000000;
		text-decoration: none;}

	a.primary-link-steals:after {
		position: absolute;
		top: 90%;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #FFF;
		content: '';
		transform-origin: top;
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
		transition-duration: .5s;}

	a.primary-link-steals:hover::after {
		color: #000000 !important;
		background-color: #000000;
		-webkit-transform: scaleY(1.5);
		-moz-transform: scaleY(2);
		transform: scaleY(1.5);
		transition-duration: .5s;}

	a:focus.primary-link-steals {
		color: #000000 !important;
		font-size: .875rem;
		text-decoration: none;}
		
a.ghost-link{
	color: #303030;
	font-weight: 400;
	text-decoration: none;
	line-height: 1.3;
	position: relative;
	padding-bottom: 3px;}

	a:hover.ghost-link{
		color: #636466;
		text-decoration: none;}

	
a:focus.ghost-link {
		color: #000000 !important;
		font-size: 1rem;
		text-decoration: none;}

a.primary-link-goals{
	color: #000000;
	font-weight: 400;
	text-decoration: none;
	line-height: 1.3;
	position: relative;
	padding-bottom: 3px;}

	a:hover.primary-link-goals{
		color: #000000;
		text-decoration: none;}

	a.primary-link-goals:after {
		position: absolute;
		top: 90%;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #000;
		content: '';
		transform-origin: top;
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
		transition-duration: .5s;}

	a.primary-link-goals:hover::after {
		color: #000000 !important;
		-webkit-transform: scaleY(1.5);
		-moz-transform: scaleY(2);
		transform: scaleY(1.5);
		transition-duration: .5s;}

	a:focus.primary-link-goals {
		color: #000000 !important;
		font-size: 1rem;
		text-decoration: none;}

a.primary-text-link{
	color: #000000;
	text-decoration: none;
	line-height: 1.3;
	position: relative;
	padding-bottom: 2px;}

	a:hover.primary-text-link{
		color: #000000;
		text-decoration: none;}

	a.primary-text-link:after {
		position: absolute;
		top: 90%;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #000;
		content: '';
		transform-origin: top;
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
		transition-duration: .3s;}

	a.primary-text-link:hover::after {
		color: #000000 !important;
		-webkit-transform: scaleY(2);
		-moz-transform: scaleY(2);
		transform: scaleY(2);
		transition-duration: .3s;}

	a:focus.primary-text-link {
		color: #000000 !important;
		text-decoration: none;}

a.secondary-link{
		color: #636466;
		font-weight: 600;
		text-decoration: none;
		text-transform: uppercase;}

	a:hover.secondary-link {
		color: #303030;
		text-decoration: none;
		text-transform: uppercase;}

	a:focus.secondary-link {
		color: #303030;
		text-decoration: none;
		text-transform: uppercase;}

a.tertiary-link{
		color: #636466;
		font-weight: 600;
		text-decoration: none;}

	a:hover.tertiary-link {
		color: #303030;
		text-decoration: none;}

	a:focus.tertiary-link {
		color: #303030;
		text-decoration: none;}
a.disable-link {pointer-events: none;}
/* Margins. Bootsrap 4 now has new methods of adding margins and padding */
.top-5 {margin-top: 5px;}
.top-10 {margin-top: 10px;}
.top-20 {margin-top: 20px;}
.top-30 {margin-top: 30px;}
.top-40 {margin-top: 40px;}
.top-50 {margin-top: 50px;}
.top-60 {margin-top: 60px;}
.top-70 {margin-top: 70px;}
.top-80 {margin-top: 80px;}

.bottom-5 {padding-bottom: 5px;}
.bottom-10 {padding-bottom: 10px;}
.bottom-20 {padding-bottom: 20px;}
.bottom-30 {padding-bottom: 30px;}
.bottom-40 {padding-bottom: 40px;}
.bottom-50 {padding-bottom: 50px;}
.bottom-60 {padding-bottom: 60px;}
.bottom-70 {padding-bottom: 70px;}
.bottom-80 {padding-bottom: 80px;}

.no-padding {
	padding-left: 0  !important;
	padding-right: 0 !important;}

.no-padding-left {
	padding-left: 0  !important;}

.no-padding-right {
	padding-right: 0 !important;}

.container-fluid {
    padding-top: 0 !important;}

.bootstrap-wrapper .jumbotron-fluid {
    border-radius: 0;
    padding: 0;}

/* Styles for Ulta header */
#collapse-show .cc-rewards-guest {
	float: left;
	margin-left: 15px;
	width: 210px;}

.enter-zip h5 a span {
	color: #fff !important;
	font: 12px "montserrat" !important;
}

.navbar .s-cont .search-cont input.search-input {
	font-size: 13px !important;
	height: 30px;
	width: 290px;
}

.no-padding-desk {
	padding-left:0!important;
	padding-right:0!important;
}
.navbar {
    border-radius: 0 !important;}

	.top-nav-bg {height: 75px;}

/* Flex fix for older Safari browswers.  Must be included for every "ROW" */
.flexfix.container:before,
.flexfix.container:after,
.flexfix.row:before,
.flexfix.row:after {
   content: normal;}

/* Class for coloring and giving height to BS cols in example. Comment out or remove before you start a project
.bootstrap-wrapper [class^="col"] {
    background: rgba(152, 214, 245, 0.73);
    border: 1px solid rgba(86,61,124,.2);
    min-height: 50px;} */

/*=================================
    Styles for main page elements
==================================*/
/* New Ulta header is taller margin is needed to keep content from getting cut off */
.ulta-header-margin {
	margin-top: 5rem !important;
}

/*.beauty-blitz-header img {
	margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 1400px;
}*/

.beauty-blitz-container h1 {
	font-size:2.25rem;
	font-weight:100;
	text-align: center;
	padding-bottom: 1rem;
}

.beauty-blitz-container h2 {
	font-size:18px;
	font-weight:300;
	text-align: center;
}

/*=================================
    Weekly Deals Header
==================================*/

.date-header-bar {
	position: absolute;
    top: 40px;
    left: 112px;
    left: 97px;
    z-index: 10;
    text-align: left;
    padding: 10px 0 0 0;
    width: 300px;
    height:68px;
    background-color:#df068c;
}

.date-header-bar h2 {
	font-size: 1.5rem;
	font-weight:400;
	padding-left: 60px;
	color:#FFFFFF;
	text-align: left;
	margin-bottom: 0;
}

.date-header-bar h3 {
	font-family: "Georgia", serif;
	font-size: 1.25rem;
	font-weight:600;
	padding-left: 60px;
	color:#FFFFFF;
	text-align: left;
}

.date-header-bar__extra {
	padding-top:10px;
}

.date-header-text {
	position: absolute;
    top: 110px;
    left: 172px;
    left: 157px;
    z-index: 10;
    text-align: left;
    width: 275px;
}

.date-header-text h4 {
	font-weight:600;
	text-transform: uppercase;
	padding:10px 0 0 0;
}

.date-header-text h5 {
	font-size:1rem;
	font-weight:600;
	text-transform: uppercase;
	padding:0;
	margin: 0;
}

.date-header-text h4.lowercase-title {
	font-weight:600;
	text-transform: none;
	padding:10px 0 0 0;
}

.date-header-text h5.lowercase-title {
	font-size:1rem;
	font-weight:600;
	text-transform: none;
	padding:0;
	margin: 0;
}

/*=================================
    Weekly Daily Deals
==================================*/
.daily-main-container {
	width:100%;
}

.daily-main-container .col-12 {
	padding:0;
}

.daily-deals-container {
	position:relative;
}

.daily-deals-container {
	margin-top: -50px;
	z-index: 10;
	/* max-width: 960px; */
}

.day-deal-padding {
	position: relative;
	margin: 15px;
	background-color:#FFFFFF;
}

.day-deal-padding:hover {
	transform: translateY(-4px);
}

.day-deal-padding img {
	max-width:185px;
	width:100%;
}
.day-deal-padding img.single-day-image {
	max-width:370px;
	width:100%;
}
.deal-offer-date-container {
    position: absolute;
	top: 0;
    left: 0px;
    text-align: left;
    padding: 3px 0 0 0;
    width: 185px;
    height: 24px;
    background-color: #df068c;
}

.deal-offer-date-container-big {
    position: absolute;
	top: 0;
    left: 0px;
    text-align: left;
    padding: 3px 0 0 0;
    width: 165px;
    height: 24px;
    background-color: #df068c;
}

p.deal-week, p.deal-month {
	font-size:13px;
	font-weight:400;
	color:#FFFFFF;
	text-align: center;
	text-transform: lowercase;
	margin-bottom: 0;
	padding: 0;
	line-height: 1.1rem;
}

.one-day-text {
	font-family: "Georgia", serif;
	font-weight:600;
}

p.deal-day {
	font-size:24px;
	font-weight:600;
	color:#FFFFFF;
	text-transform: lowercase;
	text-align: left;
	margin-bottom: 0;
	margin-top: -2px;
}

.deal-offer-container {
	position: absolute;
    left: 12px;
    bottom: 8px;
}

.deal-offer-container p {
	text-align:left;
	margin-bottom: 0;
	font-size:0.75em;
	font-weight:600;
	line-height: 1.25em;
}

.deal-offer-container-big {
    position: absolute;
    bottom: 10px;
    left: 15px;
}

.deal-offer-container-big p {
	text-align:left;
	margin-bottom: 0;
	font-size:0.75em;
	font-weight:600;
}

p.offer-title {
	font-size:1em;
	text-transform: uppercase;
}

p.offer-brand {
	text-transform: uppercase;
}

p.offer-description, span.offer-description {
	font-weight:100;
	text-transform: capitalize;
}

span.offer-price {
	font-weight:600;
}

.offer-spacer {
	padding-top: 14px;
}

.fade-out-deal img, .fade-out-deal .deal-offer-date-container, .fade-out-deal .deal-offer-container {
	opacity: 0.6;
}


/*=================================
    Styles for main page elements
==================================*/
.shadow {
	box-shadow: none;
	cursor: pointer;
	transition: all 0.3s;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	transform: translateZ(0);
}

.shadow:hover {
		box-shadow:
			0px 7px 8px -4px rgba(0, 0, 0, 0.03),
			0px 12px 17px 2px rgba(0, 0, 0, 0.04),
			0px 5px 22px 4px rgba(0, 0, 0, 0.03);
		/* transform: translateY(-4px);}*/
}

.border {border: 1px solid #e6e6e6 !important;}

.now-reg {color:#e90b5a;}	
.hidden-after-week {display: none !important;}


hr.white-center {
	align: center;
	border-top: 50px solid #fff;
	text-align:center; margin: 0 auto;
	width: 100%;}

hr.grey-center {
	align: center;
	border-top: 2px solid #e6e6e6;
	text-align:center; margin: 0 auto;
	width: 100%;}

/*=================================
    FAQ
==================================*/

.faq-container h3 {
	color: #303030;
	font-size: 18px;
	font-weight: 200;
	line-height: 1.25em;
}

.faq-container p {
	color: #303030;
	font-size: 12px;
	font-weight: 200;
	line-height: 19px;
}

.faq-container .question {
	color: #303030;
	font-size: 18px;
	font-weight: 400;
	line-height: 27px;
}



/*=================================
    Previous Deals
==================================*/

.plus-minus-left {
	float: left;
	display:inline-block;
}
.plus-minus-right {
	float: right;
	display:inline-block;
}
/* Plus Minus Button */
.PlusMinus {
  width: 15px;
  height: 15px;
  position: relative; 
  cursor:pointer;}
  .PlusMinus .Image.PlusMinus__crossbar {
    width: 15px;
    height: inherit;
    /*vertical-align: top;*/ }
    .PlusMinus .Image.PlusMinus__crossbar img {
      position: absolute;
      top: 6px; }
  .PlusMinus div.PlusMinus__crossbar {
    width: 15px;
    height: 3px;
    background-color: #303030;
    position: absolute;
    top: 6px; }
    .PlusMinus div.PlusMinus__crossbar.PlusMinus__crossbar--over-the-moon {
      background-color: #303030; }
  .PlusMinus .PlusMinus__crossbar--vertical {
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: 100ms ease-in-out 0s;
    -o-transition: 100ms ease-in-out 0s;
    transition: 100ms ease-in-out 0s; }
  .PlusMinus .PlusMinus__crossbar--horizontal {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
    -webkit-transition: 100ms ease-in-out 0s;
    -o-transition: 100ms ease-in-out 0s;
    transition: 100ms ease-in-out 0s; }


/*=================================================
    Media Queries
==================================*/



/* Extra large devices (large desktops, 1200px and up) */
@media only screen and (min-width: 1195px) and (max-width: 2080px) {
.cheese {background-color: black; height: 50px; width: 50px;} /* Class for visually showing were breakpoints are for testing */

}

/* Large screens and laptops */
@media only screen and (min-width: 990px) and (max-width: 1194px) {
.cheese {background-color: orange; height: 50px; width: 50px;}

		/* Styles for Ulta header cart dropdown */
		.navbar .s-cont .search-cont input.search-input {
			font-size: 13px !important;
			height: 30px;
			width: 186px;}
	
	.what-is-beauty-steal_pre {
		right: 43%;
		position: absolute;
		top: 8.3%;}

}

/* Tablets, small desktop and laptops */
@media only screen and (min-width: 765px) and (max-width: 989px) {
.cheese {background-color: blue; height: 50px; width: 50px;}

		/* Styles for Ulta header cart dropdown */
		.navbar .s-cont .search-cont input.search-input {
			font-size: 13px !important;
			height: 30px;
			width: 115px;}

	.what-is-beauty-steal_pre {
		right: 43%;
		position: absolute;
		top: 7.6%;}

		.what-is-beauty-steal_pre a{
			color: #303030;
			font-size: 10px;
			text-decoration: underline;}

			.what-is-beauty-steal_pre a:hover, a:focus{
			color: #636466;
			font-size: 10px;
			text-decoration: underline;}

	.copy {
		color: #303030;
		font-size: 13px;
		font-weight: 200;
		line-height: 17px;}

		.copy .question {
			color: #303030;
			font-size: 16px;
			font-weight: 400;
			line-height: 25px;}

	.disclaimer p {color: #303030;
		font-size: 10px;
		font-weight: 200;
		line-height: 16px;}

}

/* Small screens portrait size */
@media only screen and (min-width: 574px) and (max-width: 764px) {
.cheese {background-color: green; height: 50px; width: 50px;}

.leftnavoffset {margin-left: 0;}

.ulta-header-margin {margin-top: 0 !important;}

	.modal-title img {
		max-width: 80%;}
	
	.what-is-beauty-steal_pre {
		right: 38%;
		position: absolute;
		top: 4.62%;}


}

/* Small screens to larger screens portrait size */
@media only screen and (min-width: 480px) and (max-width: 573px) {
.cheese {background-color: yellow; height: 50px; width: 50px;}

.leftnavoffset {margin-left: 0;}

.ulta-header-margin {margin-top: 0 !important;}

	.bootstrap-wrapper .modal-dialog {
		padding: 0 15px 0 15px;
		max-width: auto !important;
		margin: 90px auto;}

	.modal-title img {
		max-width: 80%;}
	
	.what-is-beauty-steal_pre {
		right: 34%;
		position: absolute;
		top: 4.67%;}


}

/* Small screens portrait */
@media only screen and (min-width: 320px) and (max-width: 479px) {
.cheese {background-color: red; height: 50px; width: 50px;}

.leftnavoffset {margin-left: 0;}

.ulta-header-margin {margin-top: 0 !important;}
	
	.what-is-beauty-steal_pre {
		right: 34%;
		position: absolute;
		top: 4.25%;}
	
	.what-is-beauty-steal {
		right: 33%;
		position: absolute;
		top: -1494%;}

	.bootstrap-wrapper .modal-dialog {
		padding: 0 15px 0 15px;
		max-width: auto !important;
		margin: 90px auto;}

	.modal-lg {
		left: 0 !important;
		right: 0 !important;
		top: 0 !important;
		margin: 15px auto !important;}

	.modal-body {overflow-y: scroll !important;}

	.modal-title img {
		max-width: 80%;}

.online-only {
	font-size: 0.813rem;
	font-weight: 400;
}

.platinum-perk {
	color: #7c2266;
	font-size: 0.813rem;
	font-weight: 600;}

.offer {
	font-size: 0.938rem;
	font-weight: 600;}

.brand-name {
	font-size: 0.938rem;
	font-weight: 600;}

.product-name {
	font-size: 0.875rem;
	font-weight: 400;}
	
.now-price {
	font-size: 0.813rem;
	font-weight: 600;}

.reg-price {
	font-size: 0.813rem;
	font-weight: 400;}

.description {
	font-size: 0.813rem;
	font-weight: 400;}

.details {
	font-size: 0.813rem;
	font-weight: 400;
	line-height: 1.15rem;}
	
	/* Skin Goals */
	
.no-padding_mobile {
	padding-left: 0  !important;
	padding-right: 0 !important;}
	
.skinSolutions {
	padding-top: 0;}


}

@media (max-width: 1199px) {
	.date-header-bar {
	    top: 40px;
	    left: 7px;
	}
	.date-header-text {
		top: 110px;
	    left: 67px;
	}
}

@media (max-width: 991px) {
	.date-header-bar {
	    top: 30px;
    	left: 0;
	}
	.date-header-text {
		top: 100px;
		left: 60px;
	}
	.daily-deals-container {
	    margin-top: -30px;
	}
	.day-deal-padding {
    	margin: 15px 45px;
	}
	.deal-offer-container {
		left: 12px;
	    bottom: 8px;
	}
}

@media (max-width: 767px) {
	.date-header-bar {
		top: 50px;
    	left: 73px;
	}
	.deal-offer-date-container {
		top: 15px;
    	left: 0px;
		width: 200px;
		height: 35px;
	}
	.short-container-m {
		width:105px;
	}
	p.deal-week, p.deal-month {
		font-size: 16px;
	    line-height: 1.5rem;
	    padding:3px 0 0 10px;
	    text-align: left;
	}
	p.deal-day {
		margin-top: -8px;
    	font-size: 40px;
	}
	.date-header-text {
		top: 120px;
    	left: 132px;
	}
	.daily-deals-container {
	    margin-top: 15px;
	    z-index: 10;
	}
	.deal-offer-container {
		left: 12px;
		bottom: 8px;
	}
	.deal-offer-container p {
		text-align:left;
		margin-bottom: 0;
		font-size:1em;
		font-weight:600;
	}
	.day-deal-padding img {
		max-width:268px;
		width:100%;
	}
	.deal-offer-date-container-big {
		top: 15px;
    	left: 0px;
		width: 220px;
		height: 35px;
	}
	.deal-offer-container-big {
		left: 12px;
		bottom: 8px;
	}
	p.offer-title {
		font-size:1.25em;
	}

	p.offer-brand {
		text-transform: uppercase;
	}

	p.offer-description, span.offer-description {
		font-weight:100;
		text-transform: capitalize;
	}
}

@media (max-width: 576px) {
	.beauty-blitz-container h1 {
		padding-bottom: 0;
	}
}

@media (max-width: 425px) {
    .date-header-bar {
	    top: 40px;
    	left: 0;
	}
	.date-header-text {
		top: 110px;
		left: 60px;
	}
}

