/* Responsive Design Styles for Wrinkles Away */

/* Ribbon/Banner fixes to prevent clipping */
#ribbon {
	width: 140px;
	height: 139px;
	overflow: visible;
	top: 0;
	left: 0;
}

#col {
	overflow: visible;
}

/* Additional styles for HTML5 structure */
#header {
	padding-left: 0;
	height: 160px;
	padding-top: 15px;
}

#laundryBasket {
	background-image: url(../design/basket.jpg);
	height: 230px;
	width: 300px;
	float: left;
	background-size: cover;
	background-position: center;
}

#col-text {
	float: left;
	margin-left: 10px;
	width: 380px;
}

#slogan {
	width: 380px;
	padding: 0;
	text-align: center;
}

.service-features {
	font-size: 11pt;
	text-align: center;
}

.delivery-info {
	float: right;
	width: 200px;
	text-align: center;
}

.delivery-title {
	font-size: 16pt;
	color: #32B952;
	font-weight: bold;
}

.delivery-details {
	color: #32B952;
}

#contain2Sections {
	clear: both;
	overflow: hidden;
}

#leftSide {
	width: 635px;
	float: left;
}

.small-box-top {
	width: 635px;
	background-image: url(../design/coltopsmall.gif);
	margin-top: 0;
	height: 5px;
}

.small-box {
	width: 585px;
	height: 160px;
	background-image: url(../design/colmiddlesmall.gif);
	background-repeat: repeat-y;
}

.collection-content {
	overflow: hidden;
	display: flex;
	align-items: center;
	gap: 15px;
}

.collection-text {
	flex: 1;
	min-width: 0;
}

.van-image {
	flex-shrink: 0;
	width: 200px;
	text-align: center;
}

.collection-title {
	width: 100%;
	max-width: 325px;
	padding: 0;
	text-align: left;
	color: #32B952;
	margin-top: 0;
	margin-bottom: 10px;
}

.collection-details {
	font-size: 11pt;
	text-align: left;
	padding-top: 8px;
	width: 100%;
	max-width: 325px;
	padding-bottom: 8px;
}

.small-box-bottom {
	background-image: url(../design/bottomboxsmall.gif);
	width: 635px;
	height: 5px;
}

#rightSide {
	width: 310px;
	float: right;
}

.hours-box-top {
	width: 310px;
	background-image: url(../design/smallboxtop.gif);
	margin-top: 0;
	height: 5px;
}

.hours-box {
	width: 280px;
	height: 160px;
	background-image: url(../design/smallBoxcolmiddle.gif);
	background-repeat: repeat-y;
}

.hours-content {
	padding-top: 0;
}

.hours-text {
	font-size: 11pt;
	text-align: center;
	padding-top: 2px;
	width: 250px;
	padding-bottom: 2px;
	margin-left: 0;
}

.hours-label {
	font-weight: bold;
}

.hours-note {
	font-size: 8pt;
}

.hours-spacer {
	height: 3px;
}

.hours-box-bottom {
	background-image: url(../design/smallboxbottom.gif);
	width: 310px;
	height: 5px;
}

.col-image {
	height: 140px;
	background-size: cover;
	background-position: center;
}

.ironing-image {
	background-image: url(../design/ironing.jpg);
}

.savings-image {
	background-image: url(../design/savings.jpg);
}

.thumbs-up-image {
	background-image: url(../design/thumbsUp.jpg);
}

.pricing-list {
	min-height: 580px;
	height: 580px;
	font-size: 11pt;
}

.pricing-note {
	font-size: 9pt;
}

.discounts-button-wrapper {
	text-align: center;
	padding: 15px 20px;
	border-top: 1px solid #DFDFDF;
}

.discounts-content {
	min-height: 580px;
	height: 580px;
	text-align: center;
	padding-top: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.testimonials-content {
	min-height: 580px;
	height: 580px;
	padding: 15px;
}

.col-more {
	min-height: 60px;
	padding: 8px 15px;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	margin: 0;
}

.col-more h3 {
	font-size: 0.88em;
	line-height: 1.6;
	margin: 6px 0;
	padding: 2px 10px 2px 25px;
	word-spacing: normal;
	font-weight: bold;
	display: block;
	width: 100%;
	box-sizing: border-box;
	background: url(../design/ul-01.gif) 0 50% no-repeat;
	background-size: auto;
}

.contact-info-wrapper {
	overflow: hidden;
}

#leftColumnContactUs {
	float: left;
	width: 40%;
	font-size: 11pt;
}

#rightColumnContactUs {
	float: right;
	width: 40%;
}

#rightColumnContactUs img {
	max-width: 100%;
	height: auto;
}

.disclaimer {
	margin: 40px;
}

.myButton {
	background-color: #44c767;
	-moz-border-radius: 28px;
	-webkit-border-radius: 28px;
	border-radius: 28px;
	border: 1px solid #18ab29;
	display: inline-block;
	cursor: pointer;
	color: #ffffff;
	font-family: Arial;
	font-size: 17px;
	padding: 16px 31px;
	text-decoration: none;
	text-shadow: 0px 1px 0px #2f6627;
}

.myButton:hover {
	background-color: #5cbf2a;
}

.myButton:active {
	position: relative;
	top: 1px;
}

/* Responsive Media Queries */
@media screen and (max-width: 1024px) {
	#main {
		width: 100%;
		max-width: 960px;
		padding: 0 10px;
	}
	
	#tray {
		width: 100%;
	}
	
	#tray ul {
		flex-wrap: wrap;
	}
}

@media screen and (max-width: 768px) {
	#header {
		height: auto;
		padding: 15px 10px;
	}
	
	#logo img {
		max-width: 100%;
		height: auto;
	}
	
	#tray ul {
		display: flex;
		flex-wrap: wrap;
	}
	
	#tray li {
		flex: 1 1 auto;
		min-width: 120px;
	}
	
	#tray li a {
		padding: 12px 10px;
		font-size: 85%;
	}
	
	#col-top, #col-bottom {
		width: 100%;
	}
	
	#col {
		width: 100%;
		padding: 15px;
		overflow: visible;
	}
	
	#ribbon {
		width: 140px;
		height: 139px;
		overflow: visible;
	}
	
	.hero-content {
		display: flex;
		flex-direction: column;
	}
	
	#laundryBasket {
		width: 100%;
		height: 200px;
		margin-bottom: 15px;
	}
	
	#col-text {
		width: 100%;
		margin-left: 0;
		margin-bottom: 15px;
	}
	
	#slogan {
		width: 100%;
	}
	
	.delivery-info {
		width: 100%;
		float: none;
		margin-top: 15px;
	}
	
	#contain2Sections {
		display: flex;
		flex-direction: column;
	}
	
	#leftSide {
		width: 100%;
		float: none;
		margin-bottom: 15px;
	}
	
	.small-box-top {
		width: 100%;
	}
	
	.small-box {
		width: 100%;
		height: auto;
		padding: 15px;
	}
	
	.collection-content {
		display: flex;
		flex-direction: column;
	}
	
	.collection-text {
		order: 1;
		width: 100%;
	}
	
	.van-image {
		order: 2;
		width: 100%;
		margin-top: 15px;
	}
	
	.collection-title {
		width: 100%;
		text-align: center;
	}
	
	.collection-details {
		width: 100%;
		text-align: center;
	}
	
	.small-box-bottom {
		width: 100%;
	}
	
	#rightSide {
		width: 100%;
		float: none;
	}
	
	.hours-box-top {
		width: 100%;
	}
	
	.hours-box {
		width: 100%;
		height: auto;
		padding: 15px;
	}
	
	.hours-text {
		width: 100%;
	}
	
	.hours-box-bottom {
		width: 100%;
	}
	
	#cols3-top,
	#cols3-bottom {
		width: 100% !important;
	}
	
	#cols3 {
		display: block !important;
		width: 100% !important;
		background: none !important;
	}
	
	#cols3 .col,
	.col {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		margin-bottom: 20px !important;
		display: block !important;
		clear: both !important;
		padding: 0 1px !important;
		box-sizing: border-box !important;
	}
	
	.col.last {
		margin-right: 0 !important;
	}
	
	/* Force columns to stack by removing flexbox */
	article.col {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		margin-bottom: 20px !important;
		display: block !important;
		clear: both !important;
	}
	
	/* Ensure main container doesn't constrain width */
	#main {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 10px !important;
		box-sizing: border-box !important;
	}
	
	.pricing-list {
		height: auto !important;
		min-height: auto !important;
	}
	
	.discounts-content {
		min-height: auto !important;
		height: auto !important;
		display: block !important;
		padding: 20px !important;
	}
	
	.testimonials-content {
		min-height: auto !important;
		height: auto !important;
	}
	
	.discounts-button-wrapper {
		padding: 15px 20px !important;
	}
	
	.discounts-content {
		height: auto;
		padding: 30px 15px;
	}
	
	.testimonials-content {
		height: auto;
	}
	
	.col-more {
		min-height: auto;
		height: auto;
		padding: 10px 15px;
	}
	
	.col-more {
		overflow: hidden;
		margin: 0;
		width: 100%;
		box-sizing: border-box;
	}
	
	.col-more h3 {
		font-size: 0.85em;
		width: 100%;
		box-sizing: border-box;
	}
	
	#cols2 {
		display: flex;
		flex-direction: column;
	}
	
	#cols2 #col-left {
		width: 100%;
		float: none;
	}
	
	#cols2 #col-right {
		width: 100%;
		float: none;
		margin-right: 0;
	}
	
	.contact-info-wrapper {
		display: flex;
		flex-direction: column;
	}
	
	#leftColumnContactUs {
		width: 100%;
		float: none;
		margin-bottom: 15px;
	}
	
	#rightColumnContactUs {
		width: 100%;
		float: none;
	}
}

@media screen and (max-width: 480px) {
	#tray li {
		flex: 1 1 100%;
	}
	
	#tray li a {
		padding: 10px 5px;
		font-size: 80%;
	}
	
	.service-features {
		font-size: 10pt;
	}
	
	.delivery-title {
		font-size: 14pt;
	}
	
	.pricing-list {
		font-size: 10pt;
	}
	
	.myButton {
		font-size: 14px;
		padding: 12px 24px;
	}
}

/* Additional page-specific styles */
.content-section {
	margin: 20px 10px;
}

.page-title {
	font-size: 16pt;
	color: #32B952;
	font-weight: bold;
	margin-bottom: 15px;
}

.about-content {
	float: left;
	margin-left: 10px;
	width: 900px;
	padding: 15px;
	line-height: 1.7;
}

.areas-content {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 20px;
}

.map-container {
	flex: 1 1 300px;
}

.map-container img {
	max-width: 100%;
	height: auto;
}

.areas-list {
	flex: 1 1 300px;
}

.areas-columns {
	font-size: 10pt;
	text-align: center;
}

#leftPlaceColumn {
	width: 140px;
	float: left;
}

.offer-ribbon {
	width: 140px;
	height: 139px;
	background-image: url(../design/summerspecials.gif);
	background-position: 0 0;
	background-repeat: no-repeat;
	overflow: visible;
}

.offer-content {
	text-align: center;
	padding: 20px;
}

.offer-title {
	padding: 0;
	text-align: center;
	font-size: 1.5em;
}

.testimonials-section {
	margin: 10px;
}

.discounts-box {
	text-align: center;
}

.style1 {
	color: #32B952;
}

@media screen and (max-width: 768px) {
	.about-content {
		width: 100%;
		margin-left: 0;
	}
	
	.areas-content {
		flex-direction: column;
	}
	
	#leftPlaceColumn {
		width: 100%;
		float: none;
	}
	
	.offer-title {
		font-size: 1.2em;
	}
	
	.form-container {
		text-align: left !important;
	}
	
	.form-group input[type="text"],
	.form-group input[type="email"],
	.form-group input[type="tel"],
	.form-group select {
		max-width: 100%;
	}
}
