﻿/* general styling */
:root {
    --primary-font-size: 1.5rem;
    --secondary-font-size: 1.4rem;
    --primary-font: 'Roboto', sans-serif;
    --primary-font-regular: font-weight: 400;
    --primary-font-medium: font-weight: 500;
    --primary-font-bold: font-weight: 700;
    --primary-link-color: rgba(16,51,86,1);
    --white: rgba(255,255,255,1);
    --light-blue: rgba(231,238,248,1);
    --medium-blue: rgba(93,115,130,1); /*#5D7382*/
    --medium-blue-opaque: rgba(93,115,130,.4); /*updated*/
    --bright-blue: rgba(0,173,239,1); /*00ADEF*/
    --dark-blue: rgba(29,45,68,1); /*1D2D44*/
    --dark-blue-opaque: rgba(29,45,68,.6); /*updated*/
    --red: rgba(255,0,0,1);
    --dark-red: rgba(156,0,5,1);
    --light-grey: rgba(239,239,239,1); /*#efefef*/
    --medium-grey: rgba(180,180,180,1);
    --dark-grey: rgba(107,104,104,1); /*#6B6868*/
    --gold: rgba(220,165,84,1);
}
    

/* Site Typography */
body {
    font-family: var(--primary-font);
    font-size: var(--primary-font-size);
}
h1{color: var(--dark-blue); font-family: var(--primary-font); font-size: 2.5rem; margin-bottom:2.5rem; margin-top: 0.4rem;font-weight:700;}
h2{color: var(--medium-blue); font-family: var(--primary-font); font-size: 2.0rem; margin-bottom:2.5rem; margin-top: 0.4rem;font-weight:700;}
h3{color: var(--medium-blue); font-family: var(--primary-font); font-size: 1.8rem; margin-bottom:2.3rem;font-weight:700;}
h4{color: var(--medium-blue); font-family: var(--primary-font); font-size: 1.5rem; margin-bottom:1.8rem;font-weight:700;}
h5{color: var(--dark-blue);font-weight:700;}
h6{color: var(--dark-blue);font-weight:700;}

/*
Main and Sub Navigation
*/
nav a {
    color: var(--dark-blue);
}

.visible {
    visibility: visible;
}
.hidden {
    visibility: hidden;
}
.dropdown:last-child .dropdown-menu,
.dropdown:nth-last-child(2) .dropdown-menu {
    left: auto;
    right: 0;
}

/* 
Form Styles 
*/
.form-control,
button.dt-button, div.dt-button, a.dt-button,
.btn {
    border-radius: 0 !important;
}
fieldset {
    margin-bottom: 2rem;
    box-shadow: 1px 1px 10px rgb(0 0 0 / 16%);
    padding: 0;
}

legend {
    color: var(--white);
    font-family: var(--primary-font);
    font-size: 2rem;
    margin-bottom: 1rem;
    background: var(--medium-blue);
    padding: 10px 20px;
    border: 0;
}
    legend + div {
        padding: 30px 50px;
    }

    .col label:not(.VSO_checkbox),
    .col .inputLabel {
        min-width: 160px
    }

    .inline-error{
        color:red;
        background-color: yellow;
        font-weight: bold;
    }

input[type="text"],
input[type="password"],
input[list="browsers"],
input[type="date"],
input[type="email"],
input[type="phone"],
input[type="tel"],
textarea,
select {
    border: 1px solid var(--dark-blue);
    outline: 0;
    margin-bottom: 5px;
    max-width: 320px;
    padding: 6px 15px;
    width: 100%
}

    input[type="text"].compact {
        max-width: 50px;
    }

    input[type="text"].medium {
        max-width: 100px;
    }
        
    textarea {resize: none}

    textarea.wide {
        max-width: 520px;
        width: 520px;
    }

    input[type="text"]:focus,
    input[list="browsers"]:focus,
    input[type="date"]:focus,
    textarea:focus,
    select:focus {border-color: var(--dark-blue);}
    label input[type="checkbox"],label input[type="radio"]{margin-right:5px}

    fieldset label.value {padding: 10px 0;display: inline-block;}
    
    /* MVC validation summary */
    .validation-summary-errors { padding: 15px;border: 2px solid; background-color: #f99;color: var(--dark-red); }
    
    /* MVC validation message */
    .validation-summary-valid, 
        .field-validation-valid {display:none;}
	.field-validation-error {display:block; color: #b94a48;}
    .push-below {display:block;}
/*
Buttons
*/

a img {
    cursor: pointer;
}

.alert {
    color: var(--red);
}

.buttons {
	clear: both
}
.button {display:inline-block;cursor:pointer;text-decoration:none;text-align: center;}
.button:hover, .button:active, .button:link {text-decoration: none}
a.button.linkButton {min-width: 200px;}
.button.linkButton + .info {margin-top:20px;}

.button, button,
input[type="button"],
input[type="submit"],
.fileupload-buttonbar .btn,
.template-upload .btn,
#imageGalleryContainer .btn {
    background: var(--bright-blue);
    border: 0;
    color: var(--white);
    font-size: var(--primary-font-size);
    margin: 5px 0;
    padding: 6px 25px;
    transition: all 0.2s ease
}
.fileupload-buttonbar .btn {
    margin: 0!important;
}
#imageGalleryContainer .btn-danger {
    background: var(--dark-grey);
}

.button.closeModal, button.closeModal,
input[type="button"].closeModal {
    background: var(--light-grey);
    color: var(--dark-blue);
}

.button.saveModal, button.saveModal,
input[type="button"].saveModal,
input[type="submit"].saveModal,
.button:hover, .button:focus, button:hover, button:focus,
input[type="button"]:hover, input[type="button"]:focus,
input[type="submit"]:hover, input[type="submit"]:focus,
.fileupload-buttonbar .btn:hover,
.fileupload-buttonbar .btn:focus,
.template-upload .btn:hover,
.template-upload .btn:focus,
#imageGalleryContainer .btn:hover,
#imageGalleryContainer .btn:focus,
#imageGalleryContainer .btn-danger:hover,
#imageGalleryContainer .btn-danger:focus {
    background: var(--dark-blue);
    color: var(--white)
}

.button[disabled="disabled"],
button[disabled="disabled"],
input[type="button"][disabled="disabled"], 
input[type="submit"][disabled="disabled"] {background: var(--light-grey); color: var(--medium-grey)}
    /* content structure 
        @media (min-width: 992px){
            .summary > div {float: left; margin-right: 1%; width: 15.5%}
            .summary input[disabled="disabled"]{background: transparent; border: 0; padding-left: 0}
        }*/

/*
Global Layout
.fullWidth, .col {width:100%;margin-bottom:20px;}
@media (min-width: 1200px){
    .col{float: left; max-width: 48%; min-width:500px;margin-bottom:20px;width:auto;}
    .col:nth-child(odd){margin-right: 2%}
    .col:nth-child(even){margin-left: 2%}
}*/

/*
Vehicle Sub-Navigation
*/
.vehicleHeader {
    float: left;
    margin: 24px 0;
    color: var(--medium-blue);
}
#logo_h {
    float: right;
    margin-bottom: 20px;
}
.subNav {
    clear:both;
    overflow: hidden;
    margin-bottom: 15px;
    padding-bottom: 15px;
}
    .subNav ul {
        padding-left: 0;
        margin-bottom: 0;
        list-style: none;
        width: 100%;
    }

        .subNav ul:before,
        .subNav ul:after {
            display: table;
            content: " ";
        }

        .subNav ul:after {
            clear: both;
        }

        .subNav ul:before,
        .subNav ul:after {
            display: table;
            content: " ";
        }

        .subNav ul:after {
            clear: both;
        }

        .subNav ul > li {
            position: relative;
            display: block;
            float: none;
            vertical-align:middle;
            color: var(--dark-blue);
            background-color:var(--light-grey);
            margin-right: 10px;
        }
        .subNav ul > li.active {
            background-color: var(--dark-blue);
            color: #fff;
        }
            .subNav ul > li.active::after {
                position: absolute;
                border: 10px solid transparent;
                border-top-color: var(--dark-blue);
                content: "";
                left: 50%;
                transform: translateX(-50%);
                bottom: -20px;
                border-width: 10px 20px;
            }
        .subNav ul > li:hover,
        .subNav ul > li:focus {
            text-decoration: none;
            background-color: #e5e5e5;
            cursor:pointer;
        }
        .subNav ul > li.active:hover, 
            .subNav ul > li.active:focus {
            background-color: var(--dark-blue);
        }

            .subNav ul > li + li {
                margin-left: 2px;
            }

            .subNav ul > li > a {
                position: relative;
                display: block;
                padding: 12px 15px;
                text-decoration: none;
            }
            .nav-pills > li > a {
                border-radius: 0;
                font-weight: 700;
                font-size: 1.8rem;
                color: var(--dark-blue);
            }

                .subNav ul > li > a:hover,
                .subNav ul > li > a:focus {
                    text-decoration: none;
                    background-color: #e5e5e5;
                }

            .subNav ul > li.active > a,
            .subNav ul > li.active > a:hover,
            .subNav ul > li.active > a:focus {
                color: #ffffff;
                background-color: var(--dark-blue);
            }
.VehicleMessage {
    border: 1px solid black;
    border-color: var(--gold);
    margin: 9px;
    padding: 3px;
    font-size: 0.8em;
}

@media (min-width: 768px) {
    .subNav ul > li {
        display: table-cell;
        border-right: 2px solid white;
        border-width: 0 4px;
        max-width: 400px;
    }
        .subNav ul > li > a {
            text-align: center;
        }
}
@media (min-width: 1200px) {
    .subNav ul > li {
        max-width:25%;
        width:25%;
    }
    .subNav ul > li:first-child:nth-last-child(n + 4),
        .subNav ul > li:first-child:nth-last-child(n + 4) ~ li {
        width:1%;
    }
}
/* end subNav */

/* Loading Spinner */
.loadingSpinner {
	position: fixed;
	z-index: 999;
	height: 10em;
	width: 10em;
	/*overflow: show;*/
	margin: auto;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

/* 
Display Message 
*/

#DisplayMessageContainer {
    min-width: 250px;
    margin-left: -125px;
    position: fixed;
    z-index: 99;
    left: 50%;
    bottom: 30px;
}

.DisplayMessage {
    border: 3px solid #000;
    border-radius: 5px;
    padding: 5px;
    margin: 5px;
}
.DisplayMessageWarning{
	background-color:var(--gold);/*gold;*/
    border-color:gold;
	color:#000;
}
.DisplayMessageNotification {
    background-color: var(--dark-grey);
    color: white;
    border-color: var(--dark-blue);
}
.DisplayMessageCritical{
	background-color:#f99;
    border-color:#800;
	color:#800;
}
.DisplayMessageSuccess{
	background-color:#9f9;
    border-color:#080;
	color:#080;
}
.DisplayMessage .DisplayHead {
    text-align: center;
    font-weight: bold;
}
.DisplayMessage .DisplayText {
    margin-top: 5px;
}
.DisplayMessage .DisplayFoot {
    margin-top: 5px;
    font-size: 0.8em;
}
@media (min-width: 768px) {
    #DisplayMessageContainer {
        right: 0;
        top: 100px;
        left:unset;
        bottom:unset;
    }
}

/* Product Picker */
#selectedProductImage {border:1px solid #000;}
#ProductPicker {clear:both;}
/* pull product picker to right */
/*@media (min-width:992px) {
    #ProductPicker {margin-top:15px;text-align:right;clear:unset;}
    #ProductPicker label {display:inline;}
    #ProductPicker select {margin-left:10px;}
}*/

/* Dashboard */
select#ProductFilter {
    margin: 0 10px;
    height: 36px;
}

/* Inventory Page */
.buttonStack {
    margin-bottom:20px;
}
.buttonStack input[type="button"] {
    margin-top: 0;
    padding: 7px 15px;
}
a.button.actionPlus {
    padding: 7px 20px;
}
.button.actionPlus::before {
    font-family: 'FontAwesome';
    content: '\f067';
    padding-right: 10px;
}
#selectView {
    margin-bottom: 25px;
}
.select-checkbox {cursor:pointer;}

.onlinefalse {
    color:red;
}

/* NOTES Page */
.NoteArea {height: 120px;}

/* 
Equipment Page 
*/
.CategoryHeader {
    color: var(--white);
    font-family: var(--primary-font);
    font-size: 1.5rem;
    margin-bottom: 1.8rem;
    font-weight: 700;
    display: block;
    background: var(--medium-grey);
    padding: 10px 20px;
}
}
section.info > div {
    margin-bottom: 20px;
    overflow: hidden;
}
/*#hasOptions {padding:20px;}*/
#hasOptions > span, #availableOptions > span {
    display: block;
}
#hasOptions > span:last-of-type,
#availableOptions > span:last-of-type {
    margin-bottom: 20px;
}
#availableOptions {
    margin-left: 10px;
}
#currentOptions {
    margin-left: 10px !important;
    padding-left: 0px !important;
}
#currentOptions > span {
    display: block;
}
#addSelected {
    margin-left: 10px;
}
/*#addOptions {
    background: var(--light-blue);
    padding: 20px;
    border-radius: 8px;
}*/
.panel-group .panel-heading {
    padding: unset;
}
.panel-group a[role=button] span.spacer {display:block;padding:10px 15px;}
.panel-group a[role=button] span.spacer > span:before {content: "\f0d8";}
.panel-group a[role=button].collapsed span.spacer > span:before {content: "\f0d7";}
ul.checkboxOptions {
    list-style: none;
    padding-left: 10px;
}
.optionActive {
	background-color: #ddd;
}
.VSO_checkbox {
    font-weight: normal;
}

/*input[type='button'] + em {
    margin-left: 10px;
}*/
#optionsLists .col {padding-right:2%;}
#optionsLists span.button {margin-right:10px;}


/* 
CSS for HTML Tables
*/

.scrollTable {clear: both; overflow-x: auto; overflow-y: hidden}
.scrollTable table {width: 100%}

table {
    /*width: 100%; removed so narrower tables are not spread across the page */
    border-collapse: collapse;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--dark-blue);
}
/* Zebra striping */
table tr:nth-of-type(odd) {
    background: var(--light-grey);
}

table tr.footer {
    background: #fff;
}

table th {
    background: rgba(68, 68, 68, 1);
    color: rgba(255, 255, 255, 1);
    font-weight: 700;
}
table.dataTable.row-border tbody th, 
table.dataTable.row-border tbody td, 
table.dataTable.display tbody th, 
table.dataTable.display tbody td {
    border-top: 1px solid var(--dark-blue)!important;
}
table td:first-child, 
table th:first-child {
    border-left: 1px solid var(--dark-blue);
}
table td, table th {
    padding: 6px 12px;
    border: 1px solid var(--dark-blue);
    border-width:1px 1px 0 0;
    text-align: left;
}
    table th {
        border: 1px solid var(--white);
        border-width: 0 1px 0 0;
    }

table td .nowrap, table tr .nowrap {
    white-space:nowrap;
}

    table tr.clear-styles,
    table tr.clear-styles td {
        background-color: transparent;
        border: 0px;
        white-space: nowrap;
    }

    table tr.align-bottom,
    table tr.align-bottom td {
        vertical-align: bottom;
    }



/* 
Modal Windows
*/
.dialog-content {display:none;}
.modalOpen {
    overflow: hidden;
    position: fixed
}

    .modalOpen .modalBlackout {
        background: rgba(0,0,0,.7);
        left: 0;
        height: 100%;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 2
    }

    .modalOpen .modalDialog {
        background: rgba(255,255,255,1);
        border: 3px solid rgba(200,200,200,1);
        left: 0;
        height: 100%;
        top: 0;
        position: fixed;
        width: 100%;
        z-index: 3
    }

    .modalOpen .modalDialogInner {
        overflow-y: scroll;
        height: 100%;
        padding: 20px
    }

    .modalOpen .modalHeader {
        overflow: hidden
    }

        .modalOpen .modalHeader h3 {
            float: left;
            margin-top: 0
        }

        .modalOpen .modalHeader span {
            color: var(--dark-blue-opaque);
            cursor: pointer;
            float: right;
            transition: 0.70s
        }

            .modalOpen .modalHeader span:hover, .modalOpen .modalHeader span:focus {
                color: var(--dark-blue);
                transform: rotate(180deg)
            }

    .modalOpen .modalFooter {
        border-top: 1px solid var(--medium-blue);
        margin-top: 10px;
        padding-top: 10px
    }

.modalSaving {
    display: none
}

@media (min-width: 768px) {
    .modalOpen {
        overflow: visible;
        position: static
    }

        .modalOpen .modalDialogInner {
            overflow-y: visible
        }

        .modalOpen .modalDialog {
            left: 50%;
            height: 75%;
            transform: translate(-50%, -50%);
            top: 50%;
            width: 70%
        }

        .modalOpen .modalContent {
            height: 80%;
            overflow-y: auto
        }

        .modalOpen .modalFooter {
            bottom: 0;
            left: 0;
            padding: 10px;
            position: fixed;
            width: 100%
        }
}

/* header */
nav.utility {
    background: var(--dark-blue);
    display: flex;
    justify-content: flex-end;
}
nav.utility a {
    color: white;
}
header {
    position: relative;
    clear: both;
    padding: 5px 20px;
    background: var(--light-grey);
}

header ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

header li a:hover, header li a:focus {text-decoration:none;}

header li a {
    display: block;
    padding: 10px 10px 10px 0;
    text-transform:uppercase;
}
header li a.logo {padding: 0 0 0 0;}
header li.dropdown > a::after {font-family:'FontAwesome';content:'\f0d7';padding-left:10px;}
header li.dropdown.open ul.dropdown-menu li {
    margin-right: 0;
    width: 100%;
}
header li.dropdown.open ul.dropdown-menu li a:hover,
    header li.dropdown.open ul.dropdown-menu li a:focus {background-color:var(--dark-blue-opaque);outline-color:var(--dark-blue);}

@media (max-width: 1200px){
    header nav.open ul {
        margin-bottom: 10px;
    }
    header nav.open li:not(:last-child) {
        border-bottom: 1px solid #999;
    }
    header nav.open a.logo {
        margin-bottom: 5px;
        padding: 0 0 0 0;
    }
}



header a.logo {
    margin-right: 50px;
}

@media (max-width:1199px) {
    header {padding:0;}
    header ul.mainNav > li, header ul.utilNav > li {padding:0;}
    header .mainNav li:not(:first-child), header .utilNav {
        display: none;
    }
    header li.dropdown > a::after {font-family:'FontAwesome';content:'\f054';float:right;font-size:1.2em;}
    header li.dropdown.open > a::after {font-family:'FontAwesome';content:'\f078';}
    header li.dropdown.open ul.dropdown-menu {
        position: static;
        float: none;
        width: auto;
        margin-top: 0;
        background-color: transparent;
        border: 0;
        box-shadow: none;
    }

}
@media (min-width:1200px) {
    header {
        padding: 0;
    }

        header nav {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            padding-left: 20px;
        }

        header ul {
            display: flex;
            align-items: center;
            /*justify-content: space-between;*/
        }

    .mainNav {
        width: 100%;
        min-height: 62px;
    }

    header li {
        margin-right: 20px;
    }

        header li.dropdown.open ul.dropdown-menu {margin:0;padding:0;}

        header .utilNav form {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
}
/* phone nav */
#phoneNav {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10;
    height: 56px;
    width: calc(10% + 42px);
    text-decoration: none;
    -moz-transition: all ease .4s;
    -o-transition: all ease .4s;
    -webkit-transition: all ease .4s;
    transition: all ease .4s;
}

@media (min-width:600px) {
    #phoneNav {
        width: calc(4% + 42px);
    }
}

@media (min-width:1200px) {
    #phoneNav {
        display: none;
    }
}

#phoneNav:hover {
    -moz-transition: all ease .4s;
    -o-transition: all ease .4s;
    -webkit-transition: all ease .4s;
    transition: all ease .4s
}

#phoneNav .menuButton {
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    top: 33px;
    margin: 0 auto;
    width: 28px;
    height: 4px;
    background-color: #333;
    -moz-transition: background-color ease .4s;
    -o-transition: background-color ease .4s;
    -webkit-transition: background-color ease .4s;
    transition: background-color ease .4s
}

    #phoneNav .menuButton::before,
    #phoneNav .menuButton:after {
        content: '';
        width: 100%;
        height: 100%;
        position: absolute;
        background-color: inherit;
        left: 0
    }

    #phoneNav .menuButton::before {
        bottom: 10px;
        -moz-transition: all ease .4s;
        -o-transition: all ease .4s;
        -webkit-transition: all ease .4s;
        transition: all ease .4s;
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    #phoneNav .menuButton::after {
        top: 10px;
        -moz-transition: all ease .4s;
        -o-transition: all ease .4s;
        -webkit-transition: all ease .4s;
        transition: all ease .4s;
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

#phoneNav.open {
    background: #e7e7e7;
}

    #phoneNav.open .menuButton {
        background-color: rgba(255, 255, 255, 0);
        -moz-transition: background-color ease .4s;
        -o-transition: background-color ease .4s;
        -webkit-transition: background-color ease .4s;
        transition: background-color ease .4s
    }

        #phoneNav.open .menuButton::before,
        #phoneNav.open .menuButton::after {
            background-color: #333
        }

        #phoneNav.open .menuButton::before {
            bottom: 0;
            -moz-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            -o-transform: rotate(45deg);
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
            -moz-transition: all .4s;
            -o-transition: all .4s;
            -webkit-transition: all .4s;
            transition: all .4s
        }

        #phoneNav.open .menuButton::after {
            top: 0;
            -moz-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
            -o-transform: rotate(-45deg);
            -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
            -moz-transition: all .4s;
            -o-transition: all .4s;
            -webkit-transition: all .4s;
            transition: all .4s
        }

header + .container,
#dealerContainer {
    padding-top: 30px;
}

#EditBuyersGuide #alignment table table tbody tr td,
    #StickerContainer table table tbody tr td {cursor:pointer;}

/* Wisconsin Buyer's Guides */
#wiBuyersGuideForm input[type=radio],
    #wiBuyersGuideForm input[type=radio] + label,
    #wiBuyersGuideForm input[type=checkbox],
    #wiBuyersGuideForm input[type=checkbox] + input + label {cursor:pointer;}
#wiBuyersGuideForm hr {margin-top:10px;margin-bottom:10px;}
#wiBuyersGuideForm p, 
    #wiBuyersGuideForm .form-group {margin:0 0 5px;}
#wiBuyersGuideForm .form-group:last-of-type {margin-bottom:0;}
#wiBuyersGuideForm section > h2, #wiBuyersGuideForm section > h3 {text-align:center;}
#wiBuyersGuideForm h3 {text-transform:uppercase;margin:0;}
#wiBuyersGuideForm table {border:none;}
#wiBuyersGuideForm table tr {background:#fff;}
#wiBuyersGuideForm table tr.header-row {color:var(--dark-red);font-weight:bold;font-size:1.1em;}
#wiBuyersGuideForm table tr.header-row > td {text-align:left;}
#wiBuyersGuideForm table tr:not(.header-row) > td {padding:3px 6px;}
#wiBuyersGuideForm table tr:not(.header-row) > td > label {margin-bottom:0;}
#wiBuyersGuideForm table tr > td {border:none;text-align:center;}
#wiBuyersGuideForm table tr > td:nth-child(3) {text-align:left;}
#transmissionDriveType label.radio-inline,
    #vehicleHistory label {min-width:unset;}
#warrantyInfo > .form-group { padding:0 5%; }
