/* link */

.link, 
.link:visited {
	text-decoration: none;
	display: inline-block;
}

.link--gray,
.link--gray:visited {
	color: #777;
}

.link:hover {
	text-decoration: none;
}

.link--left-icon .icon {
	margin-right: .2em;
}

/* button */

.button,
.button:visited {
	background: none;
    border-radius: 3px;
    border: 1px solid #ccc;
    display: inline-block;
    padding: 0.8em 1.3em;
    text-transform: none;
    font-weight: normal;
    color: #555;
    text-decoration: none;

}

.button:hover,
.button:active,
.button:focus {
	color: inherit;
	text-decoration: none;
}

.button--primary,
.button--primary:visited {
     color: #fff;
     background: #319942;
     border-color: #017A21;
     transition: .3s opacity;
}

.button--primary:hover,
.button--primary:active,
.button--primary:focus {
	color: #fff;
	opacity: 0.8;
}

.button--info,
.button--info:visited {
     color: #0467A1;
     background: #fafafa;
     border-color: #a4a4a4;
}

.button--info:hover,
.button--info:active,
.button--info:focus {
	color :#0165a0;
	opacity: 0.8;
}

.button--cart-choice {
	display: block;
	width: 100%;
	margin-bottom: 1em;
}

.button--block,
.button--block:visited {
     display: block;
     width: 100%;
}

@media (min-width: 600px) {
	.button,
	.button:visited {
	    font-size: 16px;	
	}
}

@media (min-width: 768px) {
	.button--cart-choice {
		display: inline-block;
		width: 300px;
		margin: 0 .5em 1em;
	}
}

@media (min-width: 1900px) {
	.button,
	.button:visited {
	    font-size: 17px;
	}
}

/* btnClose */

.btnClose {
	background: none;
	color: #68707a;
	border: 0 none;
	font-family: 'Times New Roman', serif;
	padding: 5px 5px;
	line-height: 20px;
	font-size: 45px;
	position: absolute;
	top: 0;
	right: 0;
	text-align: center;
	cursor: pointer;
	transition: 0.3s opacity;
}

.btnClose--cartForm {
	top: -4px;
	font-size: 32px;
	color: #aaa;
}

.btnClose:focus {
	outline: 0 none;
	color: #68707a;
}

@media (min-width: 600px) {
	.btnClose:hover {
		opacity: 0.9;
	}

	.btnClose--cartForm {
		top: -4px;
	}
}

/* ordering-panel */

.ordering-panel {
	margin-bottom: 30px;
}

/* gray-panel */

.gray-panel {
	padding: 20px;
	background: #fafafa;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin-bottom: 1.5em;
}

/* panel-subheading */

.panel-subheading {
	font-size: 1.3em;
}

/* header-products-link */

.header-products-link,
.header-products-link:visited {
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	display: inline-block;
	line-height: 1;
	padding: 10px 10px 9px;
	border-radius: 3px;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	transition: .3s background;
}

.header-products-link:hover {
	background: #444;
	text-decoration: none;
}

/* header-search */

.header-search {
	margin: 5px 0 0 111px;
	width: 532px;
}

.header-search__form {
	background: none!important;
	border: 0 none!important;
	padding: 0!important;
	font-size: 0;
}

.header-search__input-wrap {
	display: inline-block;
	/* margin: 6px 0 10px 20px; */
	font-size: 16px;
	vertical-align: middle;
}

.header-search__input {
	width: 368px;
	border: 0 none;
	padding: 2px 12px;
	font-size: 16px;
	border: 1px solid #010101;
	border-radius: 3px 0 0 3px;
	border-right: 0;
	height: 40px;
}

.header-search__btn {
	font-size: 16px;
	height: 40px;
	border: 1px solid #000;
	color: #fff;
	font-weight: normal;
	background: #999;
	border-radius: 0 3px 3px 0;
	vertical-align: top;
	padding: 8px 15px;
}

.header-search__btn:hover,
.header-search__btn:active,
.header-search__btn:focus {
    color: #fff;
	border: 1px solid #000;
}

@media (min-width: 1050px) {
	.header-search__input {
		width: 388px;
	}
}


/* cc-form */

form.cc-form {
    padding: 30px;
}

.cc-form__heading {
    display: block;
    font-weight: 600;
    margin: 0 0 20px;
    font-size: 20px;
}

.cc-form__field-title {
    display: block;
    font-weight: 600;
    margin: 0 0 .5em;
}

.cc-form__field-desc {
    display: block;
    font-weight: normal;
    margin: -0.5em 0 .75em;
    font-size: 0.8em;
}

.cc-form__field {
    margin-bottom: 1em;
}

.cc-form__radio-label {
    font-weight: normal;
    width: auto!important;
}

.cc-form__input-text {
    display: block;
    padding: 8px 11px;
    line-height: 1;
}


/* cc-alert */

.cc-alert {
    margin: 2em 0;
    padding: 17px 20px;
    border: 1px solid #ccc;
    background: #fafafa;
    border-radius: 3px;;
}

.cc-alert--attention {
	margin: 0 0 1.5em;
	text-align: cente4r;
	padding: 13px 16px;
	background: #f7f7f7;
	border: 0 none;
	border-radius: 0;
	font-weight: bold;
	/*color: #1b1909;*/
	color: #e62f2d;
	border: 1px solid #ddd;
	border-left: 5px solid #e62f2d;
}

/* cc-cart-form*/

.cc-cart-form__chosen-type {
	margin-bottom: 1.5em;
}

.cc-cart-form__chosen-type-heading {
	position: relative;
	border-bottom: 1px solid #ccc;
	padding-right: 50px;
	margin: 0 0 1em;
	font-size: 18px;
	padding-bottom: .4em;
}

.cc-cart-form__hidden {
    display: none;
} 

.cart-form--order .text-1 {
    display: inline;
}

.cart-form--inquiry .text-2 {
    display: inline;
}

@media (min-width: 600px) {

	.cc-cart-form__chosen-type {
		margin-bottom: 2em;
	}

	.cc-cart-form__chosen-type-heading {
		font-size: 24px;
	}
}

/* choose-cart-type */

.choose-cart-type {
	text-align: center;
    margin-top: 2em;
}

/* cart-billing-shipping */

.cart-billing-shipping {
    display: none;
	margin: 2em auto;
	max-width: 650px;
}

.cart-billing-shipping h2 {
	/* margin-top: 30px; */
	/* margin-bottom: 25px; */
}

.cart-form--order .cart-billing-shipping,
.cart-form--inquiry .cart-billing-shipping {
    display: block;
}

/* choose-cart-type */

.cart-form--order .choose-cart-type,
.cart-form--inquiry .choose-cart-type {
    display: none;
}

/* ordering-layout__inner */

.ordering-layout {
	padding: 10px 0 40px;
}

.ordering-layout__inner {
	padding: 0 20px;
	margin: 0 auto;
	max-width: 700px;
}

/* ordering-header */

.ordering-header {
    text-align: center;
    margin-bottom: 1.5em;
}

.ordering-header__heading {
	text-align: center;
	margin: 0;
	font-size: 26px;
}

.ordering-header__sublink {
	margin-top: 0.3em;
}

@media (min-width: 600px) {
	.ordering-header__heading {
		font-size: 30px;
	}
}

@media (min-width: 1600px) {
	.ordering-header__heading {
		font-size: 32px;
	}
}

/* empty-cart-message */

.empty-cart-message {
	text-align: center;
}

.empty-cart-message__heading {
	margin-bottom: 1em;
}



/* Better radio */
.better-radio-group {
	border: 1px solid #ccc;
}

.better-radio-group--quickedit label {
	margin-bottom: 0!important;
}

.betterRadio {
	display: block;
	position: relative;
	background: #fff;
	border: 1px solid #ccc;
	border-right: 0 none;
	border-left: 0 none;
	border-bottom: 0 none;
	line-height: 1.4;
	margin: 0;
	padding: 18px 20px 18px 44px;
	user-select: none;
	text-transform: none;
	font-size: 15px;
	font-weight: normal;
	cursor: pointer;
}

.betterRadio:first-of-type {
	border-top: 0 none
}

.betterRadio:hover {
	background: #fafafa;
}

.betterRadio-input {
	opacity: 0;
	position: absolute;
	top: 10px;
	right: 10px;
}

.betterRadio-body {
    margin-top: -0.15em;
}

.betterRadio-textLabel {
    font-weight: bold;
}

.betterRadio-textLabel--warning {
	color: #dc1818;
	font-weight: 500;
}

.betterRadio-textLabel--success {
	color: #319942;
	font-weight: 500;
}

.betterRadio-price {
	display: inline-block;
	font-weight: bold;
	color: #256290;
}

.betterRadio-info {
	color: #555;
	font-size: 0.9em;
	margin-top: 0.5em;
}

.betterRadio-dot {
	display: inline-block;
	border: 3px solid #fff;
	border-radius: 50%;
	margin: 0 0.5em;
	box-shadow: 0 0 0 1px #3c3c3c;
	width: 18px;
	height: 18px;
	background-color: #fff;
	position: absolute;
	top: 16px;
	left: 8px;
	transition: .2s background;
}

.betterRadio:hover .betterRadio-dot {
	background-color: #ddd;
}

.betterRadio-isActive .betterRadio-dot {
	background-color: #000!important;
	border: 3px solid #ffffff;
}

.betterRadio.betterRadio-isActive {
	background: #f5f5f5;
}

@media (min-width: 600px) {
	.betterRadio {
		font-size: 16px;
	}
}

/* cc-form */

.cc-form {
	font-size: 14px;
}

.cc-form__link,
.cc-form__link:visited {
	color: #319942;
}

.cc-form__link:hover {
    color: #0b6d1b;
}

.cc-form label {
    color: #404040;
    font-size: 1em;
    display: inline-block;
    margin-bottom: 7px;
    width: 100%;
    font-weight: bold;
}

.cc-form label.error,
.cc-form__error label.error  {
    margin: 5px 0 0;
    color: #db3926;
    font-weight: 600;
    font-size: 0.9em;
}

.cc-form .label--checkbox {
	font-weight: normal;
	user-select: none;
	cursor: pointer;
}

.cc-form__row {
	margin-bottom: 25px;
}

.cc-form__row--conditional {
	display: none
}

.cc-form__row--hidden {
	opacity: 0.4;
	display: none;
}

.cc-form__row--last {
	margin-bottom: 0!important;
}

.cc-form__optional {
	font-weight: normal;
	margin-left: 0.3em;
	color: #707070;
	font-size: 0.9em;
}

.cc-form__mandatory-label {
	color: #db3926;
}

.cc-form__field-header {
	margin-bottom: 0.5em;
}

.cc-form__field-info {
	font-size: 0.9em;
	color: #4A0D06;
	margin-bottom: 7px;
	margin-top: -3px;
}

.cc-form__field-info a,
.cc-form__field-info a:visited {
	color: #db1c07;
}

.cc-form input[type=text], 
.cc-form input[type=number],
.cc-form input[type=email],
.cc-form input[type=tel],
.cc-form textarea {
    background: #fff;
    border: 1px solid #bbb;
    font-size: 16px;
    padding: 10px 10px;
    width: 100%;
    border-radius: 2px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.cc-form select {
    position: relative;
    background: #fff;
    border: 1px solid #bbb;
    font-size: 16px;
    padding: 10px 10px;
    width: 100%;
    border-radius: 2px;
}

.cc-form input[type=text]:focus,
.cc-form input[type=email]:focus,
.cc-form input[type=tel]:focus,
.cc-form textarea:focus,
.cc-form select:focus {
    outline: none;
    border: 1px solid #aaa;
    box-shadow: 0 0 0 1px #aaa!important;
}

.cc-form textarea {
    min-height: 110px;
    border-radius: 2px;
    min-width: 100%;
    max-width: 100%;
}

.cc-form input[type=checkbox],
.cc-form input[type=radio] {
	margin-right: 0.5em;
}

.cc-form input[type="submit"] {
	background: #DB3926;
	border: 0 none;
	padding: 14px 32px;
	border-radius: 4px;
	color: #fff;
	font-family: 'Open Sans';
	font-weight: 600;
	font-size: 0.9em;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.cc-form .wpcf7-not-valid-tip {
    margin-top: 3px;
    font-size: 14px;
}

@media (min-width: 600px) {
    .cc-form {
        font-size: 16px;
    }
}

@media (min-width: 768px) {
    .cc-form__row {
		margin-bottom: 30px;
	}
}

/*
@media (min-width: 1900px) {
     .cc-form {
        font-size: 17px;
    }
}
*/

@media (max-width: 768px) {
	.cc-form__row {
		margin-bottom: 25px;
		border-bottom: 1px dashed rgba(0,0,0,0.1);
		padding-bottom: 25px;
	}

	.cc-form__row--noborder {
		border-bottom: 0 none;
		padding-bottom: 0;
	}
}

/* cc-form-cols */

.cc-form-cols {
	display: flex;
} 

.cc-form-cols__col {
	flex: 1;
}

.cc-form-cols__col--first {
	padding-right: 9px;
}

.cc-form-cols__col--last {
	padding-left: 9px;
}

@media (max-width: 767px) {
	.cc-form-cols--names {
		display: block;
	}

	.cc-form-cols--names .cc-form-cols__col {
		padding: 0;
	}
}

/* pricing-table */

.pricing-table {
	width: 100%;
	margin-bottom: 2em;
}

.pricing-table td {
	padding: .6em;
	background-color: #fafafa;
	border: 1px solid #ccc;
	vertical-align: middle;
}

.pricing-table td:last-of-type {
	text-align: right;
	min-width: 90px;
}

.pricing-table__last-row td {
	background: transparent;
	border-left: 1px solid transparent;
	border-right: 1px solid transparent;
	border-bottom: 1px solid transparent;

}

@media (min-width: 600px) {
    .pricing-table td {
		padding: 20px;
	}
}

/* order-quick-list */

.order-quick-list {
	margin: 0.3em 0 0;
	font-size: 0.85em;
	/* opacity: 0.7; */
	padding-left: 1.2em;
}

.order-quick-list li {
	padding-left: 0;
	margin: 0.2em 0;
}


/* app-header */

.app-header {
    background-color: #fff;
    padding: 25px 0;
    text-align: center;
}

.app-header__logout-btn,
.app-header__logout-btn:visited {
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 13px;
	text-decoration: none;
	color: #888;
}

@media (min-width: 600px) {
    .app-header {
        padding: 35px 0;
    }
}

/* header-logo */

.header-logo,
.header-logo:visited {
    display: inline-block;
    width: 180px;
    text-decoration: none;
}

.header-logo__img {
    width: 100%;
    height: auto;
}

@media (min-width: 600px) {
    .header-logo,
    .header-logo:visited {
        display: inline-block;
        width: 240px;
    }
}

/* single-product-terms */

.single-product-terms {
	font-size: 0.9em;
	margin: 1em 0;
	padding-bottom: 1em;
}

.single-product-terms__link,
.single-product-terms__link:visited {
	display: inline-block;
	margin-bottom: 0.4em;
	text-decoration: none;
	color: #33a145;
	margin-right: 1em;
}

.single-product-terms__link:hover {
	text-decoration: none;
	color: #ee1c23;
}

.single-product-terms__link .fa {
	margin-right: 0.3em;
}

@media (max-width: 767px) {
	.single-product-terms {
		border-bottom: 1px dashed #ccc;
	}
}

/* app-single-cart */

.app-single-cart {
	max-width: 100%;
	line-height: 1.35;
	overflow: auto;
}

.app-single-cart table {
	width: 100%;
	border-collapse: collapse;
}

.app-single-cart__img-cell {
	text-align: center;
}

.app-single-cart__img-cell img {
	width: auto;
	height: auto;
	max-width: 60px;
	max-height: 60px;
}

.app-single-cart th, 
.app-single-cart td {
	background-color: #fff;
	border: 1px solid #ddd;
	padding: 5px 8px;
}

.app-single-cart th {
	font-size: 12px;
	text-transform: uppercase;
	background: #fafafa;
	padding: 6px 6px 5px;
}