/* packageBrowse.css */

.package-browse {
	margin-bottom: 10px;	
	margin-top: 35px;
}

.package-browse .header {
	border-bottom: 1px solid #c7c7c7;
	font-style: italic;
	padding: 10px;
	position: relative;
	text-align: right;
	vertical-align: top;
}

.header-gradiant {
	padding: 0 !important;
	background: #e7e9ea;
	background-image: -o-linear-gradient(bottom, rgb(226, 226, 226) 34%, rgb(255, 255, 255) 82%);
	background-image: -moz-linear-gradient(bottom, rgb(226, 226, 226) 34%, rgb(255, 255, 255) 82%);
	background-image: -webkit-linear-gradient(bottom, rgb(226, 226, 226) 34%, rgb(255, 255, 255) 82%);
	background-image: -ms-linear-gradient(bottom, rgb(226, 226, 226) 34%, rgb(255, 255, 255) 82%);
	background-image: linear-gradient(bottom, rgb(226, 226, 226) 34%, rgb(255, 255, 255) 82%);
}

.header-gradiant .btn {
	font-weight: normal;	
	border-radius: 1px;
  padding-bottom: 6px;
  padding-top: 6px;
}

.header-gradiant .btn-primary {
	border: none;	
}

.header-gradiant .jos-package-browse-package-toggle.jos-icon {
	margin-top: -20px;
	border: 1px solid #fff;
  z-index: 10;	
}

.jos-package-browse-page .grad_packages-container .grad_packages-wrapper .grad_package {
  width: 100%;
	max-width: unset;
}

#package-browse .header img {
	display: inline-block;
	float: left;
	margin-top: 4px;
}

#package-browse .header p {
	display: inline-block;
}

#announcement-style {
	background: url(../images/backgrounds/announcement-style-bg.jpg) #333 no-repeat top left;
	height: 434px;
	padding: 0 30px;
}

#announcement-style .choice {
	/*width: 460px;*/
	text-align: center;
	float: left;
	cursor: pointer;
	color: transparent; /* needed to keep chrome from making blue underline */
}

#announcement-style .choice img {
	margin-left: -8px;
	margin-top: 13px;
}

.package-groups {
	height: 330px;
	background: url(../images/package/package-browse-annc-billboard.jpg) no-repeat top left;
	position: relative;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.25);
}

.package-group {
	float: left;
	height: 145px;
	width: 386px;
	position: relative;
	margin-top: 121px;
	margin-left: 63px;
}

.package-group:hover {
	background-position: 0px -160px !important;
}

.package-group.selected:hover {
	background-position: 0px -320px !important;
}

.catalog-group-div {
	float: left;
	height: 200px;
	width: 250px;
}

.catalog-group-div-single {
	height: 250px;
	margin-top: 0;
	width: 960px;
}

/* This renders a dark triangle under the selected category via CSS polygon trick */
/*
.down-triangle {
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid #222;
    border-bottom: 0;
    margin-left: 43%;
    margin-top: 15px;
    display: none;
}
*/

.catalog-description {
	color: #fff;
	display: block;
	text-align: center;
	width: 310px;
}

.catalog-title {
	color: #fff;
	display: block;
	height: 20px;
	line-height: 31px;
	margin: 251px auto 11px auto;
	text-align: center;
	text-transform: uppercase;
	vertical-align: baseline;
}

.catalog-description {
	margin-left: auto;
	margin-right: auto;
}

#announcement-style .catalog-title.selected .selectedIcon {
	background: url(../images/icons/checkmark.png) no-repeat bottom right;
	display: inline-block;
	height: 20px;
	margin-left: 10px;
	width: 20px;
}

#single-category-style {
	height: 251px;
}

#single-catalog-title {
	font-size: 18px;
	height: 20px;
	margin-left: 10px;
	width: 20px;
}

#single-catalog-description {
	height: 20px;
	margin-left: 10px;
	width: 20px;
}

.selected-icon-spacer {
	margin-left: 30px; /* 20px for the img + another 10 to account for it's margin */
}

/* package gallery */

#full-package-wrapper {
	box-shadow: none;
}

.gallery-packages {
	position: relative;	
}

.package-carousel .gallery-packages {
	background: white;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.25);
}

.packages-display {
	height: auto;
	margin: -38px 47px 0;
	padding-top: 38px;
	padding-bottom: 0;
/*	width: 874px; */
}

.packages-display .jos-package-browse-package-item {
	position: relative;
}

#viewport li {
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.25);
}

.package-carousel #viewport li {
	box-shadow: none;
}

.gallery-packages #viewport {
	float: left;
	height: auto;
}

.package-carousel #viewport {
	padding-bottom: 25px !important;
}

.package {
	background: white;
	float: left;
	width: 212px;
}

.package-not-best {	
	border-right: 1px solid #c7c7c7 !important;
	border-left: 1px solid #c7c7c7;
}

.package-best {	
	border-radius: 5px;
	box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.5);
	top: -36px;
	position: relative;
	z-index: 999;
}

.package-best .best-title {
	font-weight: bold;
	padding: 4px 10px 8px;
	text-transform: uppercase;
}

.gallery-packages .head-top {
	border-top: 1px solid #C7C7C7;
	height: 30px;
	padding: 10px 10px 0 10px;
	position: relative;
	background-color: #e7e9ea;
}

.gallery-packages .head-bottom {
	border-bottom: 1px solid #c7c7c7;	
	padding: 10px 10px 8px 10px;
	position: relative;
	background-color: #e7e9ea;
}

.package-name {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.2em;
	text-transform: uppercase;
}

.gallery-packages .price {
	font-size: 20px;
	font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
	display: table-row;
}

.discount {
	color: red;
	font-size: 12px;
	font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
	display: table-row;
}

.jos-price-wrapper {
	padding: 0.5em 0 1em 0;
	display: table;
	height: 8em;
	width: 100%;
}

.customize-button {
	position: absolute;
	padding: 3px 66px;
	margin-bottom: 5px;
	top: 40px;
}

.package-details-button {
    margin-top: 10px;
}

.gallery-packages .contents li {
	border-bottom: 1px solid #c7c7c7;
	height: 70px !important;
	position: relative;
}

.gallery-packages .contents li:nth-child(even) {
	background: #f5f5f5;
}

.itemImage {
	margin: 0 10px 0 0;
	width: 100%;
}

.package-browse .itemImage {
    display: none;
}

#startByDiv {
	clear: both;
	padding: 4px;
	text-align: center;
}

#startByDiv span {
	color: white;
}

.package-nav {
	float: left;
	width: 35px;
}

.package-nav:first-child {
	float: left;
	margin: 28% 10px;
}

.package-nav:last-child {
	float: left;
	margin: 28% 0;
}

.freeSpan {
	color: #daa520;
}

/*
-------------
ARROW STYLES
-------------
*/
.gallery-arrow {
	position: absolute;
	z-index: 999;
	width: 35px;
	height: 71px;
	cursor: pointer;
}

.gallery-arrow.prev {
	left: -14px;
	top: 50%;
	background: url(../images/buttons/arrow-prev-bg.png) no-repeat top left;
}

.gallery-arrow.next {
	right: -14px;
	top: 50%;
	background: url(../images/buttons/arrow-next-bg.png) no-repeat top left;
}

.gallery-arrow.prev:focus,
.gallery-arrow.prev:hover,
.gallery-arrow.next:focus,
.gallery-arrow.next:hover {
	background-position: 0 -71px;
}

.gallery-arrow.prev:active,
.gallery-arrow.next:active {
	margin-top: 1px;
}

#noPackagesDiv {
	background-color: #ffe8b8;
	outline: 2px solid #F8DA84;
	height: 30px;
	width: 954px;
	line-height: 30px;
	margin-bottom: 10px;
	display: none;
	margin-left: 2px;
}

/*PROD-1730: to hide Jostens logo in the footer */
.catalogPage .jos-logo-container{
	display: none;
}

/*PROD-1730: Added some padding to the bottom of the footer  */
.catalogPage .jos-legal{
	padding-bottom: 30px;
}

#noPackagesTextDiv {
	float: left;
	margin-left: 5px;
}

#noPackagesImageDiv {
	margin-right: 2px;
	position: relative;
	top: 6px;
	float: right;
}

.clear-div {
	background-color: transparent;
	margin-top: -30px;
	padding-top: 30px;
}

.freeTag {
	width: 65px;
	height: 25px;
	background-image: url('../images/backgrounds/free-tag.png');
	position: absolute;
	right: 5%;
	margin-top: -5px;
	padding: 5px 0 5px 7px;
	text-align: center;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

#noPackagesTextDiv a {
	text-decoration: underline;
}

.section-header {
  padding-top: 20px;
  border-top: 1px solid #979797;
  color: #052A50;
  font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
  font-size: 22px;
  font-weight: bold;
  line-height: 27px;
  text-transform: uppercase;
  width: 100%;
}

#available-products {
	margin-bottom: 10px;
}

@media screen and (min-width: 40em) {
	.jos-package-browse-viewport {
		overflow: initial !important;
		margin: 25px auto 0 !important;
	}
	
	#available-products {
		margin-top: 0;
	}
}

.jos-package-browse-page .pageError {
  background-color: #ECD5B2;
	margin: 0;
	outline: none;
	padding: 18px;
	
	height: 61px;
	color: #444444;
	font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 25px;
	text-align: center;
}

.jos-package-browse-page .jos-package-browse-header {
	width: 100%;
	font-weight: 300;
	text-align: center;	
	padding-top: 60px;
}

.jos-package-browse-page .jos-package-browse-header .title{
	height: 62px;
	color: #091F40;
	font-family: 'Barlow', sans-serif;
	font-size: 44px;
	line-height: 53px;
}

.jos-package-browse-page .jos-package-browse-header .title-description {
	height: 62px;	
	color: #777777;
	font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
	font-size: 18px;
	line-height: 25px;
}

.jos-package-browse-page .catalog-section {
	position: relative;
}

.available-products-list {
	display: flex;
  flex-wrap: wrap;
  
	-ms-display: flex;
  -ms-flex-wrap: wrap;

	-moz-display: flex;
  -moz-flex-wrap: wrap;

	-webkit-display: flex;
  -webkit-flex-wrap: wrap;
  
  margin-left: -16px;
  margin-right: -16px;  
}

.available-products-list > li {
	width: 215px;
  	height: 361px;
  	border: 1px solid #CCCCCC;
	padding: 1px;
	margin: 14px;
	list-style-type: none; 
}

.product-name-div {
	max-height: 42px;
	width: 190px;
	color: #1B7CB8;
	font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
	font-size: 15px;
	line-height: 17px;
	text-align: center;
	margin-bottom: 14px;
}

.product-price-div {
	margin-top: 15px;	
	width: 100%;
	text-align: center;
}

.product-price-div span {
	color: #777777;
	font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 19px;
}

.product-attributes {
	position: absolute;
  bottom: 65px;
  width: 100%;
  padding: 0 20px;
}

.product-attributes ul {
	list-style: disc;
 	height: 1.5em;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;	
}

.product-attributes li {
	color: #777777;
	font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
	font-size: 12px;
	font-weight: 300;
	line-height: 12px;
	text-align: center;
	display: inline-block;
	padding-right: 4px;
}

.available-products-list a {
	margin-left: 5px;
}

.product-img-div {
	margin: 30px;
}

.product-info-div {
  margin-left: 10px;
  margin-right: 10px;
  margin-top: 0;
}

@media screen and (max-width: 60em) {
	
	html{ 
		overflow: scroll; 
	  -webkit-overflow-scrolling: touch;
	}	

	.packages-display {
		margin-left: 0;
		margin-right: 0;
	}
	
	.jos-package-browse-viewport {
		border: none !important;
	}
	
	.section-header {
		border: none;
		padding-left: 20px;
		font-size: 14px;
	}

	.jos-package-browse-page .jos-package-browse-header .title {
		height: auto;
		font-size: 27px;
		line-height: 32px;
		text-align: left;
		padding: 10px;
	}
	
	.jos-package-browse-page .jos-package-browse-header .title-description {
		height: auto;
		font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
		font-size: 16px;
		line-height: 22px;
		padding: 0 10px 10px 10px;
		text-align: left;
	}
	
	.jos-package-browse-page .jos-package-browse-header {
		padding-top: 10px;
	}

	.jos-package-browse-page .product-attributes {
		display: none;
	}
	
	.jos-package-browse-page .product-name-div {
		width: auto;
	}
	
	.jos-package-browse-page .pageError {
		height: auto;
		font-size: 16px;
		line-height: 25px;
		padding: 10px;
	}
	
	.available-products-list {
		margin: 0;
	}
	.available-products-list > li {
		border: none;
		margin: 10px;
		width: 43%;
		height: auto;
	}
	

}

.li-table {
	height: 100%;
	width: 100%; /* must be 100% since parent column width gets narrower when more than 4 catalogs */
	table-layout: fixed; /* so child cells don't grow its width */
	margin: 0;
}

.li-td {
	vertical-align: middle;
	padding: 7px 7px 7px 87px; /* left padding (7px + 10px for image padding + 70px for image) to match original */
}

.available-products-list .btn {
	margin-bottom: 10px;
}

.freeTagText {
	color: black;
	font-size: 12px;
	font-style: italic;
	font-weight: bold;
}

.jos-package-browse .jos-package-browse-carousel li:last-child {
	padding-right: 0 !important;
}

/*
turn off, so we get l-globalwidth
.jos-package-browse-page {
	max-width: 100% !important;
}
*/

.jos-package-browse-page div.box {
    height: 100%;
    padding: 0;
    border: none;
    overflow: initial;
}

.jos-package-browse-carousel-arrow.next {
    right: 0px !important;
}

.jos-package-browse-carousel-arrow.prev {
	left: -2px !important;
}

.jos-package-browse-package-item-name-free-tag {
	width: 60% !important;
}

.catalog-billboard.full-width {
    background-size: contain !important;
    height: auto !important;
}

.catalog-billboard-image.full-width {
	height: auto !important;
	width: 100% !important;
	margin-left: 0 !important;
    margin-top: 0 !important;	
}
@media screen and (min-width: 60em) {
	.product-price-div {
		position: absolute;
		bottom: 25px;	
	}
}
@media screen and (min-width: 50em) {
	.package-browse .itemImage {
	    margin: 0;
	    float: none;
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 60px;
    	height: 60px;
    	display: block;		
	}
	
	.product-img-div {
		margin: 30px 30px 50px 30px;
	}
 		
}

@media screen and (min-width: 40em) {
	.jos-package-browse-package-item-name {
		font-size: 1.1em !important;	
		padding: 0 10px 0 15px !important;
	}
	
	.jos-package-browse-package-item {	   
	    height: 60px !important;
	}
}
.jos-package-browse-package-item-name {
	font-size: 1.2em !important;
}

.jos-pre-footer-inner .cms p {
	max-width: 100%;
	text-align:justify; 
}

@media screen and (min-width: 60em) {

	.jos-pre-footer-inner .cms p {
		margin: 0px;
	}
	
	.jos-package-browse-page .grad_packages-container .grad_packages-wrapper {
		margin: auto 120px;	
	}
		
}

.jos-pre-footer-inner {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    width: 95.23809524%;
}
.jos-pre-footer-inner .cms h1{
	font-size:18px;
}
.container.container-wrapper {
    border: none;
    max-width: 1280px;
    background-color: #fff;
}

.dropdown-menu {
    z-index: 1000000 !important;
}

.jos-customer-exists-container .jos-customer-exists-form .get-started-message h3 {
    border-bottom: 0px solid #E2E2E2 !important;
}

.jos-customer-exists-container .jos-customer-exists-form .get-started-message {
    font-style: italic !important;
}

.customer-exists-link-change a {
    font-size: 12px !important;
}

.jos-customer-exists-form {
    font-size: 12px !important;
}

.customer-exists-link .btn-secondary {
    color: #000 !important;
}

.jos-package-browse-carousel-arrow {
	z-index: 10000 !important;	
}

.jos #scrollUp {
	bottom: 50px;
}

.jos-package-browse-page .pageError .affiliate-primary-foreground, a.affiliate-primary-foreground {
	color: #1b7cb8 !important;
}
	