a, a:hover, a:active, a:visited, a:link {
    text-decoration : none;
}

h3 {
    color          : #295785;
    font-weight    : bold;
    font-family    : 'Arial', sans-serif;
    font-size      : 20px;
    letter-spacing : 1px;
    line-height    : 28px;
    margin         : 0 0 20px;
}

body {
    font-family    : Arial, Helvetica, sans-serif;
    font-size      : 12px;
    font-style     : normal;
    line-height    : normal;
    color          : #036;
    letter-spacing : 1px;
    text-align     : left;
}

.clear:after {
    content : "";
    display : table;
    clear   : both;
}


/* Pricing Container Layout */
#pricing-container {
    border : 1px solid #a9d8f2;
    width  : calc(100% - 2px);
}

#cart-selections {
    width        : calc(80% - 1px);
    border-right : 1px solid #a9d8f2;
    float        : left;
}

.cart-selection {
    padding          : 10px 5px 10px 5px;
    background-color : #d7eefa;
}

.cart-selection:not(.hidden):nth-child(even) {
    background-color : #c1e0f1;
}

.cart-selection:last-of-type {
    margin-bottom : 0px;
}

.selection-title {
    font-weight   : bold;
    margin-bottom : 5px;
}

.selection-controls {

}

.selection-controls .inline-form-container {
    display : inline-block;
    width   : calc(100% - 70px);
}

.selection-controls .inline-form-container input,
.selection-controls .inline-form-container select {
    display : inline;
    width   : 25%;
}


#primary-cart-controls {
    float      : right;
    width      : 20%;
    text-align : center;
}

#small-screen-cart-controls {
    display : none;
}

.offset-top {
    top : -2px;
}

.small-screen {
    display : none;
}

[data-hook="select-error"] {
    margin      : 10px;
    font-weight : bold;
}

[data-hook="cart-errors"] {
    text-align     : center;
    vertical-align : middle;
    color          : #F00;
    font-weight    : bold;
    margin         : 20px;
}

[data-hook="cart-errors"] a {
    text-decoration : underline;
}

[data-hook="cart-errors"] > ul {
    list-style-type : none;
    margin          : 0px;
    padding         : 0px;
}


.dim-by {
    font-size   : 120%;
    font-weight : bold;
    padding     : 0px 5px 0px 5px;
}


#cart-instructions {
    display    : block;
    font-size  : 90%;
    font-style : italic;
    text-align : right;
    padding    : 8px 0px 3px 0px;
}

.item-controls {
    margin : 10px;
}

.item-display > .item-controls .btn {
    font-size   : 8pt;
    line-height : 1;
}

.item-display > .item-controls .dropdown-menu {
    font-size : 8pt;
}


/**

Flex-based Cart space styles

**/

#cart-space {
    display    : none;
    border-top : 1px solid rgb(169, 216, 242);
}

#cart-space .cart-row {
    width           : 100%;
    display         : flex;
    flex-direction  : row;
    justify-content : space-between;
}

#cart-space .cart-row:not(:first-of-type) {
    border-top : 1px solid rgba(169, 216, 242, .5);
}

#cart-space .cart-row > div {
    flex       : 1;
    padding    : 20px 0px 10px 0px;
    text-align : center;
}

#cart-space .cart-row.header > div {
    font-weight      : bold;
    background-color : #c1e0f1;
}

#cart-space div[data-field="qty"],
#cart-space div[data-field="size"] {
    flex : .75;
}

#cart-space div[data-field="item"] {
    flex : 2;
}

#cart-space #cart-items > .cart-row div[data-field="item"] {
    text-align   : left;
    padding-left : 10px;
}

#cart-space div.cart-item > div[data-field="price"] {
    text-align    : right;
    padding-right : 10px;
}

#cart-space .cart-row.cart-item > div:not(:first-child) {
    border-left : 1px solid rgba(169, 216, 242, .5);
}

#cart-space div.cart-row.cart-total {
    background-color : rgb(38, 123, 170);
    color            : #FFF;
    text-align       : right;
    font-weight      : bold;
}


.cart-row.cart-item ul {
    list-style-type : none;
    margin          : 0px;
    padding         : 0px;
}

.cart-row.cart-item ul.item-components > li:not(:first-child) {
    margin : 5px 0px 0px 25px;
}

.cart-row.cart-item ul.item-components li:before {
    content : '+ ';
}

.cart-row.cart-item ul.item-components li:first-child {
    margin-left : 5px;
}

.cart-row.cart-item ul.item-components li:first-child:before {
    content : '';
}

.cart-row.cart-item ul.item-components li span.component-price {
    font-weight : normal;
    font-style  : italic;
}


#cart-space input.cart-quantity {
    text-align    : center;
    text-align    : center;
    font-size     : 10pt;
    padding       : 5px;
    border-radius : 3px;
    border        : 1px solid #a9d8f2;
}


#cart-space .discounted-price {
    color : red;
}

#cart-space .cart-total .discounted-until {
    float : right;
}

#cart-space .component-discount {
    color       : red;
    font-weight : normal;
}

#cart-space .cart-total .total-price {
    color            : #FFF;
    font-weight      : bold;
    font-size        : 130%;
    padding          : 10px;
    margin           : 10px;
    background-color : #476688;
    float            : right
}

#cart-space .cart-total .striked.pre-total {
    text-align : right;
    padding    : 10px;
    margin     : 0px 10px 0px 0px;
}

/* Cart button styles */

.cart-button {
    margin                : 5px;
    padding               : 7px;
    font-size             : 11px;
    text-decoration       : none;
    line-height           : 100%;
    color                 : #fff;
    display               : inline-block;
    vertical-align        : middle;
    text-align            : center;
    cursor                : pointer;
    font-weight           : bold;
    transition            : background 0.1s ease-in-out;
    -webkit-transition    : background 0.1s ease-in-out;
    -moz-transition       : background 0.1s ease-in-out;
    -ms-transition        : background 0.1s ease-in-out;
    -o-transition         : background 0.1s ease-in-out;
    /*text-shadow: 0 1px rgba(0, 0, 0, 0.3);*/
    -webkit-border-radius : 0;
    -moz-border-radius    : 0;
    border-radius         : 0;
    border                : 1px solid transparent;
    font-family           : 'Arial', sans-serif
}

.cart-button.option, .cart-button.clear {
    background   : white;
    color        : #295785;
    border-color : #295785;
}

.cart-button.formal-quote {
    margin    : 10px;
    font-size : 130%;
    padding   : 10px;
}

.cart-button.clear {
    box-shadow : 0 3px 10px 3px #BFBFBF;
}

[data-action="add-to-cart"],
[data-action="clear-form"] {
    width       : calc(100% - 40px);
    height      : 40px;
    line-height : 25px;
}

.cart-button.option.clear-select {
    font-weight : normal;
}

.cart-button.option:hover,
.cart-button.clear:hover {
    background   : #295785;
    color        : white;
    border-color : #295785;
}

.cart-button.option:active,
.cart-button.clear:active {
    box-shadow : 0 1px 0 0 #3293ba;
}

.cart-button.product {
    background : #295785;
    color      : #FFF;
    font-size  : 12pt;
    box-shadow : 0 3px 10px 3px #BFBFBF;
}

.cart-button.product:hover {
    background-color : white;
    color            : #295785;
    border-color     : #295785;
}

.admin-note {
    font-size   : 80%;
    font-weight : normal;
    font-style  : italic;
}

#admin-mode-notice {
    background-color : #E3853A;
    align            : center;
    padding          : 5px;
    font-size        : 10pt;
    color            : #FFF;
    text-transform   : uppercase;
}

#item-controls {
    visibility : hidden;
    position   : absolute;
    bottom     : 0px;
}

/* General styles */
.alignCenter {
    text-align : center;
}

.alignLeft {
    text-align : left;
}

.alignRight {
    text-align : right;
}

.float-right {
    float : right;
}

.emphasized {
    color : red;
}

.bold {
    font-weight : bold;
}

.uppercase {
    text-transform : uppercase;
}

.noBottom {
    border-bottom : 0px;
}

.striked {
    text-decoration : line-through;
}

/* Dropdown menu modifications */
.dropdown-menu {
    width : 100%
}

.dropdown-header {
    white-space : normal;
}

.dropdown-menu > li > a {
    white-space : normal;
}


select {
    font-size : 50px;
}

.form-control {
    box-shadow    : none !important;
    /*border        : 0 !important;*/
    border-radius : 0 !important;
}

.btn.dropdown-toggle {
    border-radius : 0 !important;
    border        : 1px solid #B1B8BC !important;
}

.btn.dropdown-toggle:focus,
.btn.dropdown-toggle:hover,
.btn.dropdown-toggle:active {
    border-color : #295785 !important;
    background   : #edf4ff !important;
}

#formal-quote-container,
#quote-submission-container {
    padding    : 20px;
    border     : 1px solid #267baa;
    margin     : 20px;
    background : #d7eefa;
}

#formal-quote-container:not(.show),
#quote-submission-container:not(.show) {
    display : none;
}

#request-formal-quote {
    margin-top : 30px;
}

#request-formal-quote + p {
    font-size : 90%;
    padding   : 10px;
    max-width : 50%;
    margin    : auto;
}

input.is-invalid, .error {
    border-color : #ca0000;
}

#formal-quote-container .error {
    padding-top : 5px;
}