/* ---------------------------------------------------------------------- */
/*	General Application To All Elements
/* ---------------------------------------------------------------------- */
.white-space-pre-line { white-space: pre-line; }

/* ---------------------------------------------------------------------- */
/*	Element Padding and Margins
/* ---------------------------------------------------------------------- */
.padding-side-0 { padding-left: 0; padding-right: 0; }
.margin-side-0 { margin-left: 0; margin-right: 0; }

.padding-top-bottom-0 { padding-top: 0; padding-bottom: 0; }
.padding-top-bottom-10 { padding-top: 10px; padding-bottom: 10px; }
.padding-top-bottom-20 { padding-top: 20px; padding-bottom: 20px; }
.padding-top-bottom-30 { padding-top: 30px; padding-bottom: 30px; }
.padding-top-bottom-40 { padding-top: 40px; padding-bottom: 40px; }
.padding-top-bottom-50 { padding-top: 50px; padding-bottom: 50px; }
.padding-top-bottom-60 { padding-top: 60px; padding-bottom: 60px; }
.padding-top-bottom-80 { padding-top: 80px; padding-bottom: 80px; }
.padding-top-bottom-100 { padding-top: 100px; padding-bottom: 100px; }

.margin-top-bottom-0 { margin-top: 0; margin-bottom: 0; }
.margin-top-bottom-10 { margin-top: 10px; margin-bottom: 10px; }
.margin-top-bottom-20 { margin-top: 20px; margin-bottom: 20px; }
.margin-top-bottom-30 { margin-top: 30px; margin-bottom: 30px; }
.margin-top-bottom-40 { margin-top: 40px; margin-bottom: 40px; }
.margin-top-bottom-50 { margin-top: 50px; margin-bottom: 50px; }
.margin-top-bottom-60 { padding-top: 60px; padding-bottom: 60px; }
.margin-top-bottom-80 { padding-top: 80px; padding-bottom: 80px; }
.margin-top-bottom-50 { margin-top: 100px; margin-bottom: 100px; }

.margin-padding-horizontal-0 { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.margin-padding-vertical-0 { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.margin-padding-all-0 { margin: 0 !important; padding: 0 !important; }

.padding-0 { padding: 0 !important; }
.padding-5 { padding: 5px !important; }
.padding-10 { padding: 10px !important; }
.padding-15 { padding: 15px !important; }
.padding-20 { padding: 20px !important; }
.padding-25 { padding: 25px !important; }
.padding-30 { padding: 30px !important; }
.padding-40 { padding: 40px !important; }
.padding-50 { padding: 50px !important; }
.padding-100 { padding: 100px !important; }

.margin-0 { margin: 0 !important; }
.margin-5 { margin: 5px !important; }
.margin-10 { margin: 10px !important; }
.margin-15 { margin: 15px !important; }
.margin-20 { margin: 20px !important; }
.margin-25 { margin: 25px !important; }
.margin-30 { margin: 30px !important; }
.margin-40 { margin: 40px !important; }
.margin-50 { margin: 50px !important; }

.padding-left-0 { padding-left: 0 !important; }
.padding-left-1 { padding-left: 1px !important; }
.padding-left-2 { padding-left: 2px !important; }
.padding-left-3 { padding-left: 3px !important; }
.padding-left-4 { padding-left: 4px !important; }
.padding-left-5 { padding-left: 5px !important; }
.padding-left-10 { padding-left: 10px !important; }
.padding-left-15 { padding-left: 15px !important; }
.padding-left-20 { padding-left: 20px !important; }
.padding-left-30 { padding-left: 30px !important; }
.padding-left-40 { padding-left: 40px !important; }
.padding-left-50 { padding-left: 50px !important; }

.margin-left-0 { margin-left: 0 !important; }
.margin-left-1 { margin-left: 1px !important; }
.margin-left-2 { margin-left: 2px !important; }
.margin-left-3 { margin-left: 3px !important; }
.margin-left-4 { margin-left: 4px !important; }
.margin-left-5 { margin-left: 5px !important; }
.margin-left-10 { margin-left: 10px !important; }
.margin-left-15 { margin-left: 15px !important; }
.margin-left-20 { margin-left: 20px !important; }
.margin-left-30 { margin-left: 30px !important; }
.margin-left-40 { margin-left: 40px !important; }
.margin-left-50 { margin-left: 50px !important; }

.padding-right-0 { padding-right: 0 !important; }
.padding-right-1 { padding-right: 1px !important; }
.padding-right-2 { padding-right: 2px !important; }
.padding-right-3 { padding-right: 3px !important; }
.padding-right-4 { padding-right: 4px !important; }
.padding-right-5 { padding-right: 5px !important; }
.padding-right-10 { padding-right: 10px !important; }
.padding-right-15 { padding-right: 15px !important; }
.padding-right-20 { padding-right: 20px !important; }
.padding-right-30 { padding-right: 30px !important; }
.padding-right-40 { padding-right: 40px !important; }
.padding-right-50 { padding-right: 50px !important; }

.margin-right-0 { margin-right: 0 !important; }
.margin-right-1 { margin-right: 1px !important; }
.margin-right-2 { margin-right: 2px !important; }
.margin-right-3 { margin-right: 3px !important; }
.margin-right-4 { margin-right: 4px !important; }
.margin-right-5 { margin-right: 5px !important; }
.margin-right-10 { margin-right: 10px !important; }
.margin-right-15 { margin-right: 15px !important; }
.margin-right-20 { margin-right: 20px !important; }
.margin-right-30 { margin-right: 30px !important; }
.margin-right-40 { margin-right: 40px !important; }
.margin-right-50 { margin-right: 50px !important; }

.padding-top-0 { padding-top: 0 !important; }
.padding-top-1 { padding-top: 1px !important; }
.padding-top-2 { padding-top: 2px !important; }
.padding-top-3 { padding-top: 3px !important; }
.padding-top-4 { padding-top: 4px !important; }
.padding-top-5 { padding-top: 5px !important; }
.padding-top-10 { padding-top: 10px !important; }
.padding-top-15 { padding-top: 15px !important; }
.padding-top-20 { padding-top: 20px !important; }
.padding-top-30 { padding-top: 30px !important; }
.padding-top-40 { padding-top: 40px !important; }
.padding-top-50 { padding-top: 50px !important; }
.padding-top-60 { padding-top: 60px !important; }
.padding-top-80 { padding-top: 80px !important; }
.padding-top-100 { padding-top: 100px !important; }

.margin-top-0 { margin-top: 0 !important; }
.margin-top-1 { margin-top: 1px !important; }
.margin-top-2 { margin-top: 2px !important; }
.margin-top-3 { margin-top: 3px !important; }
.margin-top-4 { margin-top: 4px !important; }
.margin-top-5 { margin-top: 5px !important; }
.margin-top-10 { margin-top: 10px !important; }
.margin-top-15 { margin-top: 15px !important; }
.margin-top-20 { margin-top: 20px !important; }
.margin-top-30 { margin-top: 30px !important; }
.margin-top-40 { margin-top: 40px !important; }
.margin-top-50 { margin-top: 50px !important; }
.margin-top-60 { margin-top: 60px !important; }
.margin-top-80 { margin-top: 80px !important; }
.margin-top-100 { margin-top: 100px !important; }
.margin-top-200 { margin-top: 200px !important; }
.margin-top-300 { margin-top: 300px !important; }

.padding-bottom-0 { padding-bottom: 0 !important; }
.padding-bottom-1 { padding-bottom: 1px !important; }
.padding-bottom-2 { padding-bottom: 2px !important; }
.padding-bottom-3 { padding-bottom: 3px !important; }
.padding-bottom-4 { padding-bottom: 4px !important; }
.padding-bottom-5 { padding-bottom: 5px !important; }
.padding-bottom-10 { padding-bottom: 10px !important; }
.padding-bottom-15 { padding-bottom: 15px !important; }
.padding-bottom-20 { padding-bottom: 20px !important; }
.padding-bottom-30 { padding-bottom: 30px !important; }
.padding-bottom-40 { padding-bottom: 40px !important; }
.padding-bottom-50 { padding-bottom: 50px !important; }
.padding-bottom-60 { padding-bottom: 60px !important; }
.padding-bottom-80 { padding-bottom: 80px !important; }
.padding-bottom-100 { padding-bottom: 100px !important; }
.padding-bottom-100 { padding-bottom: 200px !important; }
.padding-bottom-100 { padding-bottom: 300px !important; }

.margin-bottom-0 { margin-bottom: 0 !important; }
.margin-bottom-1 { margin-bottom: 1px !important; }
.margin-bottom-2 { margin-bottom: 2px !important; }
.margin-bottom-3 { margin-bottom: 3px !important; }
.margin-bottom-4 { margin-bottom: 4px !important; }
.margin-bottom-5 { margin-bottom: 5px !important; }
.margin-bottom-10 { margin-bottom: 10px !important; }
.margin-bottom-15 { margin-bottom: 15px !important; }
.margin-bottom-20 { margin-bottom: 20px !important; }
.margin-bottom-30 { margin-bottom: 30px !important; }
.margin-bottom-40 { margin-bottom: 40px !important; }
.margin-bottom-50 { margin-bottom: 50px !important; }
.margin-bottom-60 { margin-bottom: 60px !important; }
.margin-bottom-80 { margin-bottom: 80px !important; }
.margin-bottom-100 { margin-bottom: 100px !important; }
.margin-bottom-125 { margin-bottom: 125px !important; }
.margin-bottom-150 { margin-bottom: 150px !important; }
.margin-bottom-200 { margin-bottom: 200px !important; }
.margin-bottom-300 { margin-bottom: 200px !important; }

.margin-left-right-auto {
    margin-left: auto;
    margin-right: auto;
    display: block;
}

/* ---------------------------------------------------------------------- */
/*	Font Sizes
/* ---------------------------------------------------------------------- */
.font-size-8 { font-size: 8px; }
.font-size-9 { font-size: 9px; }
.font-size-10 { font-size: 10px; }
.font-size-11 { font-size: 11px; }
.font-size-12 { font-size: 12px; }
.font-size-13 { font-size: 13px; }
.font-size-14 { font-size: 14px; }
.font-size-15 { font-size: 15px; }
.font-size-16 { font-size: 16px; }
.font-size-17 { font-size: 17px; }
.font-size-18 { font-size: 18px; }
.font-size-19 { font-size: 19px; }
.font-size-20 { font-size: 20px; }
.font-size-22 { font-size: 22px; }
.font-size-24 { font-size: 24px; }
.font-size-26 { font-size: 26px; }
.font-size-28 { font-size: 28px; }
.font-size-30 { font-size: 30px; }
.font-size-32 { font-size: 32px; }
.font-size-34 { font-size: 34px; }
.font-size-36 { font-size: 36px; }
.font-size-38 { font-size: 38px; }
.font-size-40 { font-size: 40px; }

.font-uppercase { text-transform: uppercase; }
.font-lowercase { text-transform: lowercase; }
.font-capitalize { text-transform: capitalize; }
.font-bold-light { font-weight: 500; }
.font-bold-light-important { font-weight: 500 !important; }
.font-bold { font-weight: bold; }
.font-bold-important { font-weight: bold !important; }
.font-bolder { font-weight: bolder; }
.font-bolder-important { font-weight: bolder !important; }
.font-normal { font-weight: normal;}

/* ---------------------------------------------------------------------- */
/*	Font Colors
/* ---------------------------------------------------------------------- */
.font-color-red { color: #DC3545 !important; }
.font-color-blue-gray { color: #337AB7 !important; }
.font-color-blue { color: #007BFF !important; }
.font-color-white { color: #FFF !important; }
.font-color-black { color: #212529 !important; }
.font-color-green { color: #28A745 !important; }
.font-color-lime { color: #2FB547 !important; }
.font-color-brown { color: #8A6D3B !important; }
.font-color-orange { color: #FF8C00 !important; }
.font-color-gray { color: #C0C0C0 !important; }
.font-color-charcoal { color: #555 !important; }

.font-color-hwtd-blue { color: #0066A7 !important; }


/* ---------------------------------------------------------------------- */
/*	Background Color
/* ---------------------------------------------------------------------- */
.background-color-red { background-color: #DC3545; }
.background-color-blue { background-color: #337AB7; }
.background-color-blue { background-color: #007BFF; }
.background-color-blue-nice { background-color: #009CDE; }
.background-color-white { background-color: #FFF; }
.background-color-black { background-color: #212529; }
.background-color-green { background-color: #28A745; }
.background-color-brown { background-color: #8a6d3b; }
.background-color-orange { background-color: #FF8C00; }
.background-color-dark-gray { background-color: slategray; }

.background-color-hwtd-blue { color: #0066A7; }


/* ---------------------------------------------------------------------- */
/*	Borders
/* ---------------------------------------------------------------------- */
.border-top-gray { border-top: 1px solid #CCC; }
.border-top-black { border-top: 1px solid #212529; }

.border-bottom-gray { border-bottom: 1px solid #CCC; }
.border-bottom-black { border-bottom: 1px solid #212529; }

.border-top-0 { border-top: 0; }
.border-right-0 { border-right: 0; }
.border-bottom-0 { border-bottom: 0; }
.border-left-0 { border-left: 0; }
.border-0 {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
}

.border-color-red { border-color: red; }

.border-full-gray { border: 1px solid gray; }
.border-full-black { border: 1px solid #212529; }
.border-full-red { border: 1px solid red; }
.border-full-green { border: 1px solid green; }
.border-full-blue { border: 1px solid blue; }

/* ---------------------------------------------------------------------- */
/*	Panel Classes
/* ---------------------------------------------------------------------- */
.blue-panel {
    background-color: #4C9FCD;
    color: #FFF;
    padding-top: 20px;
    padding-bottom: 20px;
}

.gray-panel {
    background-color: #F0F0F0;
    color: #333;
    padding-top: 20px;
    padding-bottom: 20px;
}

.light-gray-panel {
    background-color: #FAFAFA;
    color: #333;
    padding-top: 20px;
    padding-bottom: 20px;
}

.white-panel {
    background-color: #FFF;
    padding-top: 20px;
    padding-bottom: 20px;
}

.snow-panel {
    background-color: #F4F8FA;
    padding-top: 20px;
    padding-bottom: 20px;
}

/* ---------------------------------------------------------------------- */
/*	Display Types
/* ---------------------------------------------------------------------- */
.display-block { display: block; }
.display-inline { display: inline; }
.display-inline-block { display: inline-block; }
.display-none { display: none !important; }
.display-table { display: table; }
.display-table-cell { display: table-cell; }
.display-flex { display: flex; }

.clear-left { clear: left; }
.clear-right { clear: right; }
.clear-both { clear: both; }

.visibility-on { visibility: visible; }
.visibility-off { visibility: hidden; }

.flex-center { justify-content: center; }

/* ---------------------------------------------------------------------- */
/*	Text Types
/* ---------------------------------------------------------------------- */
.text-decoration-none { text-decoration: none; }
.text-decoration-dashed { text-decoration: dashed; }
.text-decoration-underline { text-decoration: underline; }

.text-ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 220px;
}

/* ---------------------------------------------------------------------- */
/*	Mouse Types
/* ---------------------------------------------------------------------- */
.cursor-pointer { cursor: pointer; }
.cursor-disable { cursor: not-allowed; } /* Only put this on the parent element of the desired element to disable. */
.cursor-question { cursor: help; }
.cursor-disable-field {
    cursor: not-allowed;
    background-color: #EEE;
    opacity: 1;
}

/* ---------------------------------------------------------------------- */
/*	Alignment Text
/* ---------------------------------------------------------------------- */
.text-align-center { text-align: center; }
.text-align-right { text-align: right; }
.text-align-left { text-align: left; }

.vertical-align-top { vertical-align: top; }
.vertical-align-bottom { vertical-align: bottom; }

/* ---------------------------------------------------------------------- */
/*	Shadowing
/* ---------------------------------------------------------------------- */
.drop-shadow-1{
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;

    -webkit-box-shadow: 2px 2px 8px 0 rgba(0,0,0,0.75);
    -moz-box-shadow: 2px 2px 8px 0 rgba(0,0,0,0.75);
    box-shadow: 2px 2px 8px 0 rgba(0,0,0,0.75);
    display: table;
    width: 900px;
}

.drop-shadow-basic {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;

    -webkit-box-shadow: 1px 1px 8px 0 rgba(0,0,0,0.60);
    -moz-box-shadow: 1px 1px 8px 0 rgba(0,0,0,0.60);
    box-shadow: 1px 1px 8px 0 rgba(0,0,0,0.60);
}

.text-shadow {
    text-shadow: 0px 2px 4px rgba(0,0,0,0.5);
}

/* ---------------------------------------------------------------------- */
/*	Images
/* ---------------------------------------------------------------------- */
img {
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
}

img, p>img {
    height: auto;
}

/* ---------------------------------------------------------------------- */
/*	Buttons
/* ---------------------------------------------------------------------- */
a.button-stroke-white {
    border: 2px solid #FFF;
    border-radius: 3px;
    color: #FFF;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    padding: 8px 32px;
    text-decoration: none;
}
a.button-stroke-white:hover {
    background-color: #FFF;
    color: #1a81c5;
}