/*************************/
/* TABLE OF CONTENTS     */
/* >>BASE STRUCTURE      */
/* >>MENU                */
/* >>LANDING             */
/* >>LOADING             */
/* >>NAVBAR              */
/* >>PANEL               */
/* >>INPUT >>FORM        */
/* >>LABEL               */
/* >>FIELDSET            */
/* >>TABLE               */
/* >>MODAL               */
/* >>PROGRESS BAR        */
/* >>BUSY INDICATOR      */
/* >>BREADCRUMB          */
/* >>UTILITY             */
/* >>ACCESSIBILITY       */
/* >>TRAKIT FEES         */
/* >>ETC                 */
/* >>EDITABLE            */
/* >>GLYPHICONS          */
/* >>SM & UP             */
/* >>SM                  */
/* >>XS & SM             */
/* >>XS                  */
/* >>ANIMATED GLYPHICONS */
/* >>HACKS               ******/
/* >>BOOTSTRAP V4 OVERWRITES  */
/******************************/

/*************************/
/* >>BASE STRUCTURE      */
/*************************/
html {
   min-height: 100%;
   position: relative;
}
html, body {
   overflow-x: hidden;
}
body {
   padding-bottom: 62px;
   padding-top: 56px;
}
#content {
   padding: 0;
}
#footer {
   bottom: 0;
   height: 62px;
   margin: 0 -15px;
   padding: 6px 0 9px 0;
   position: absolute;
   width: 100%;
}

/*************************/
/* >>MENU                */
/*************************/
#menu {
   height: 100%;
   left: -275px;
   overflow-y: scroll;
   padding: 0;
   position: fixed;
   width: 275px;
   z-index: 2000;
   -webkit-transition: all .25s ease-out;
        -o-transition: all .25s ease-out;
           transition: all .25s ease-out;
}
.list-group-item {
   border: 0px;
   border-bottom: 1px solid;
   margin-bottom: 0px;
   padding: 10px 15px;
}
.list-group-item:first-child
{
   border-top-width: 0px !important;
   margin-top: 0px !important;
}
.list-group-item.active, .list-group-item.active:hover, a.list-group-item:hover {
   border-top: 1px solid;
   margin-top: -1px;
}
.list-group-item.active:hover, a.list-group-item:hover {
   z-index: 10;
}
.list-group-item:first-child {
   border-top-left-radius: 0;
   border-top-right-radius: 0;
}
.list-group-item:last-child {
   border-bottom-left-radius: 0;
   border-bottom-right-radius: 0;
}
.submenu > .list-group-item {
   padding-left: 33px;
}

/*************************/
/* >>LANDING             */
/*************************/
.landingPageText {
   margin: 20px 15px;
}
.sideImage {
   float: right;
   margin: 0 -15px 0 10px;
}

/*************************/
/* >>LOADING             */
/*************************/
.loadingText {
   margin-bottom: 0;
   text-align: center;
   width: 100%;
}

/*************************/
/* >>NAVBAR              */
/*************************/
.navbar {
   flex-wrap: nowrap;
   justify-content: normal;
}
.navbar-brand {
   margin: 0 1rem;
}
.navbar-toggler {
   margin-left: 0;
   -webkit-transition: all .25s ease-out;
        -o-transition: all .25s ease-out;
           transition: all .25s ease-out;
}

/*************************/
/* >>BANNER              */
/*************************/
#banner {
   background: url(../img/CentralSquare-banner-logo.png) #370761 no-repeat 15px 15px;
   background-size: 360px 60px;
   color: #ffffff;
   min-height: 100px;
}
.c2gHotspot {
   display: none;
}
#c2g-navbar a {
   color: #ffffff;
   display: inline-block;
   overflow-x: hidden;
   padding: 10px 3px;
   white-space: nowrap;
   width: 36px;
}
#c2g-navbar a i {
   vertical-align: middle;
}

/*************************/
/* >>PANEL               */
/*************************/
h1 {
   font-size: 22px;
   margin-bottom: 0;
   margin-top: 0;
   padding: 3px 10px;
}
h3 {
   font-size: 18px;
   margin-bottom: 10px;
   margin-top: -1px;
   margin-left: calc(-1.25rem - 1px);
   margin-right: calc(-1.25rem - 1px);
   padding: 5px 10px;
}
#contentPanel {
   border-radius: 0;
   margin: 0;
}
#contentPanel + p {
   margin: 10px 15px;
}
.card-header.sub-header {
   border-radius: 0px;
   margin-bottom: 1rem;
   margin-top: 1rem;
}

.card .well {
   background-color: #fff;
}

/*************************/
/* >>INPUT >>FORM        */
/*************************/
.input-group-append a {
   text-decoration: none;
}
.input-group-append a:hover {
   color: #495057;
}
.input-group-append .glyphicons {
   margin: 0;
}
.input-group-append .glyphicons:before {
   display: inline;
   padding: 0;
}
.jDate .input-group-text {
   background-color: #f8f9fa;
   color: #212529;
   cursor: pointer;
   -webkit-transition: all .25s ease-out;
        -o-transition: all .25s ease-out;
           transition: all .25s ease-out;
}
.jDate .input-group-text:hover {
   background-color: #e2e6ea;
   color: #212529;
}
.buttonDiv input[type=submit]:not(.btn-block),
.buttonDiv input[type=button]:not(.btn-block),
.buttonDiv a.btn:not(.btn-block),
.buttonDiv button.btn:not(.btn-block) {
   width: 100%;
}
.buttonDiv .order-2 {
   margin-left: 20px;
}

.radio > label, .checkbox > label {
   font-weight: bold;
   text-align: left !important;
}
.radio > span, .checkbox > span {
   text-align: right !important;
}
.btn.btn-link {
   padding: 0;
   vertical-align: inherit;
}
.btn.btn-link:focus {
   outline: auto 2px Highlight; // for non-webkit browsers
   outline: auto 5px -webkit-focus-ring-color; // for webkit browsers
}
.buttonDiv {
   display: flex;
   justify-content: flex-end;
   margin-bottom: 10px;
   margin-top: 10px;
}
.fileUploadContainer {
   height: auto;
   overflow: hidden;
   position: relative;
}
.fakeFileInput {
   display: inline-block;
   vertical-align: middle;
   width: auto;
}
.fileUpload {
   cursor: pointer;
   filter: alpha(opacity=0);
   height: 34px;
   margin: 0;
   opacity: 0;
   padding: 0;
   position: absolute;
   right: -1px;
   top: -1px;
}
.input-action-link {
   padding-top: 7px;
}
.form-control-feedback {
   display: block;
   height: 38px;
   line-height: 38px;
   pointer-events: none;
   position: absolute;
   right: 20px;
   text-align: center;
   top: 4px;
   width: 38px;
   z-index: 2;
}
.form-control-feedback.glyphicons:before {
   display: inline;
   padding: 0;
}
.has-success .form-control-feedback {
   color: #3c763d;
}
.has-success .form-control, .has-success .custom-file-label {
   border-color: #3c763d;
}
.has-success .form-control:focus {
   border-color: #2b542c;
   -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px #67b168;
           box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px #67b168;
}
.has-success .input-group-text {
    color: #3c763d !important;
    background-color: #dff0d8;
    border-color: #3c763d;
}
.has-error .form-control-feedback {
   color: #a94442;
}
.has-error .form-control, .has-error .custom-file-label {
   border-color: #a94442;
}
.has-error .form-control:focus {
   border-color: #843534;
   -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px #ce8483;
           box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px #ce8483;
}
.has-error .input-group-text {
    color: #a94442 !important;
    background-color: #f2dede;
    border-color: #a94442;
}
.help-block.with-errors {
   color: #a94442;
   font-size: 14px;
}
.help-block.with-errors ul {
   margin: 0;
}

select+.form-control-feedback {
   right: 30px;
}
.custom-file+.form-control-feedback {
   right: 95px;
}
.jDate+.form-control-feedback {
   right: 60px;
}

/*  FIX BOOTSTRAP STYLES FOR INLINE RADIOS AND CHECKBOXES  */
.radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline {
    margin-left: 0px;
}
.radio-inline, .checkbox-inline {
    margin-right: 10px;
}

div#popup_container {
	top: 200px !important;
}

.udf-textarea {
	max-width: 100% !important;
}

/*************************/
/* >>LABEL               */
/*************************/
label, .label {
   font-weight: 600;
   margin-bottom: 0;
}
.form-control-static {
   min-height: 1.5rem;
}

/*************************/
/* >>FIELDSET            */
/*************************/
legend {
   margin-bottom: 10px;
}
legend .glyphicon .glyphicons {
   float: right;
}
.glyphicons-play-button {
   font-size: 30px; 
}

/*************************/
/* >>TABLE               */
/*************************/
table.table-bordered tfoot th, table.table-bordered tfoot td {
   border-bottom-width: 0;
   border-left-width: 0;
}
div.dataTables_filter input {
   width: auto;
}
div.dataTables_info,
div.dataTables_length {
   padding-bottom: 0.5rem;
}
.table>tbody>tr>td, .table>tbody>tr>th,
.table>tfoot>tr>td, .table>tfoot>tr>th,
.table>thead>tr>td, .table>thead>tr>th {
   vertical-align: middle;
}
.number {
   text-align: right;
}
.input, .code, .date {
   text-align: center;
}

th.controlExpand,
td.dtlControlExpand {
   cursor: pointer;
   padding-right: 28px;
   position: relative;
}

th.controlExpand:before,
td.dtlControlExpand:before {
   color: #236aaf;
   content: "\E433";
   background-color: transparent;
   border: none;
   box-shadow: none;
   font-family: 'Glyphicons Regular';
   font-size: 18px;
   font-weight: normal;
   line-height: 18px;
   position: absolute;
   right: 5px;
   top: calc(50% - 10px);
   width: 18px;
}

th.controlCollapse:before,
td.controlCollapse:before {
   content: "\E434";
}

.tableScroll {
   overflow-x: auto;
}
table.dataTable > tbody > tr.child ul li {
   border-bottom: none;
}
table {
   width: 100% !important;
}

tr.selected td {background-color: #b0bed9 !important;}

td a:not(:last-child) {
   display: block;
   margin-bottom: 10px;
}

table .custom-control {
   margin-right: -0.5rem;
}

table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child:before,
table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child:before {
   background-color: transparent;
   border: none;
   box-shadow: none;
   color: #236aaf;
   content: "\E433";
   font-family: 'Glyphicons Regular';
   top: calc(50% - 7px);
}
table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,
table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before {
   content: "\E434";
}
table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:before,
table.dataTable thead .sorting_desc_disabled:after {
   bottom: calc(50% - 0.75em);
   font-size: 1.5em;
}
table.dataTable thead .sorting:before,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_desc_disabled:before {
   right: 0.6em;
}
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:after {
   right: 0.2em;
}
table.table-bordered.dataTable th:last-of-type,
table.table-bordered.dataTable th:last-of-type,
table.table-bordered.dataTable td:last-of-type,
table.table-bordered.dataTable td:last-of-type {
   border-right-width: 0;
}


/*************************/
/* >>MODAL               */
/*************************/
.modal-body .validator-group {
   padding: 0 15px;
   position: relative;
}
.modal-content.modalPanel {
   background-color: transparent;
   border: none;
   box-shadow: none;
}
.modalPanel .modal-body {
   padding: 0;
}
.modal .modal-content > p {
   font-weight: bold;
   text-align: center;
}

/*************************/
/* >>PROGRESS BAR        */
/*************************/
.progressBar { 
   display: block; 
   margin: 10px 0; 
}

/*************************/
/* >>BUSY INDICATOR      */
/*************************/
#busy-indicator-img {
   padding: 2em;
}
#busyIndicatorImg {
   margin: 0 auto;
}

/*************************/
/* >>BREADCRUMB          */
/*************************/
.breadcrumb {
   margin: 10px 0;
}

/*************************/
/* >>PAGER               */
/*************************/
.pager {
   margin: 0 0 10px 0;
}

/*************************/
/* >>UTILITY             */
/*************************/
.is-hidden { display: none !important; }
.is-invisible { visibility: hidden !important; }
.floatLeft { float: left; }
.floatRight { float: right; }
.visible-xs-flex { display: flex !important; }

/*************************/
/* >>TABS                */
/*************************/
#tabs
{
   margin: 10px 0;
}
.no-underline {text-decoration: none;}
.expired{ color: red; }

/*************************/
/* >>ACCESSIBILITY       */
/*************************/
.color-scheme {
   border: 1px solid;
   cursor: pointer;
   margin: 10px 0;
   padding: 2px 5px;
}
#accessibility-default {
   background-color: #000;
   border-color: #fff;
   color: #fff;
}
#accessibility-bow {
   background-color: #fff;
   border-color: #000;
   color: #000;
}
#accessibility-yob {
   background-color: #000;
   border-color: #ff0;
   color: #ff0;
}

/*************************/
/* >>TRAKIT FEES         */
/*************************/
#viewTrakItFeesTable .subfee .feeDescription {
   padding-left: 30px;
}
#viewTrakItFeesTable_wrapper {
   font-size: 14px;
   margin: 0 -15px;
}
th.payall {
   position: relative;
}
th.payall > span {
   left: 12px;
   position: absolute;
   top: calc(50% - 12px);
} 
th.payall > input {
   position: absolute;
   right: 10px;
   top: calc(50% - 6px);
}

/*************************/
/* >>ETC                 */
/*************************/
iframe {
   border-width: 0;
}
p:empty:not(.form-control-static) {
	margin: 0;
}
.extraSmallFont {
   font-size: .75em;
   font-weight: normal;
}
#login-separator {
   font-weight: bold;
   margin-top: calc(1.5em + .75rem);
}
.alert > p, .alert > ul {
   margin-bottom: 0;
}
html.thirdPartyFrame iframe {
   margin: 0 -15px;
}

/*************************/
/* >>EDITABLE            */
/*************************/
#editPage {
   z-index: 5000;
}

.editVisible {
   position: relative;
   z-index: 5001;
}
.editText {
   background-color: white !important;
   color: black !important;
   font-weight: normal !important;
   min-height: 30px;
   min-width: 100px;
   padding: 3px;
   position: relative;
   z-index: 5001 !important;
   -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
           border-radius: 3px;
}
#editableConfirmTable input {
   width: 100%;
}
.editIconsDiv > .glyphicons {
   cursor: pointer;
   margin-right: 10px;
   margin-top: 10px;
}
/*************************/
/* >>GLYPHICONS          */
/*************************/
.glyphicons {
   margin-top: -4px;
   margin-right: -5px;
}
.btn .glyphicons {
   margin: 0;
}
a.skip-main {
   height: 1px;
   left: -999px;
   overflow: hidden;
   position: absolute;
   top: auto;
   width: 1px;
   z-index: -999;
}
a.skip-main:focus, a.skip-main:active {
   color: #fff;
   background-color: #000;
   left: 1px;
   top: auto;
   width: 30%;
   height: auto;
   overflow: auto;
   margin: 10px 35%;
   padding: 5px;
   border-radius: 15px;
   border: 4px solid yellow;
   text-align: center;
   font-size: 1.2em;
   z-index: 999;
}

/*************************/
/* >>SM & UP             */
/*************************/
@media (min-width: 768px) {
   /* >>BASE STRUCTURE      */
   html {
      min-height: 0;
      position: static;
   }
   html, body {
      overflow-x: visible;
   }
   body {
      padding-bottom: 0;
      padding-top: 0;
   }
   #content {
      padding: 0 15px;
   }
   #footer {
      bottom: auto;
      height: auto;
      position: static;
      width: auto;
   }
   
   /* >>MENU                */
   #menu {
      height: auto;
      left: auto;
      padding-bottom: 75px;
      position: static;
      overflow-y: visible;
      top: auto;
      z-index: auto;
      -webkit-transition: all 0s ease 0s;
           -o-transition: all 0s ease 0s;
              transition: all 0s ease 0s;
   }
   .list-group-item {
      padding: 8px;
   }
   .list-group-item:nth-child(2)
   {
      border-top-width: 0px !important;
      margin-top: 0px !important;
   }
   #mobileMenuLogo {
      display: none;
   }

   /* >>LANDING             */
   .landingPageText {
      margin: 20px 0;
   }
   
   /* >>LOADING             */
   .loadingText {
      margin-top: -0.5em;
      position: absolute;
      top: 50%;
   }
   
   /* >>NAVBAR              */
   .navbar {
      border-radius: 0px;
      margin: 0 -15px;
   }
   .navbar, .navbar-logo {
      min-height: 100px;
   }
   .navbar-nav>li>a {
      padding: 15px 8px;
   }
   #c2g-navbar {
      float: right;
      position: relative;
      right: 0px;
      top: 15px;
   }
   .navbar-header {
      left: auto;
      overflow-x: visible;
      position: static;
      -webkit-transition: all 0s ease 0s;
           -o-transition: all 0s ease 0s;
              transition: all 0s ease 0s;
   }
   .navbar-fixed-top {
      position: static;
      right: auto;
      left: auto;
      z-index: auto;
   }
   .c2gHotspot {
      display: inline-block;
      height: 70px;
      position: relative;
      top: 10px;
      width: 370px;
   }
   
   /* >>PANEL               */
   h1 {
      font-size: 36px;
   }
   h3 {
      font-size: 24px;
   }
   #contentPanel {
      border-radius: 4px;
      margin: 15px 0;
   }
   #contentPanel + p {
      margin: 0 0 10px;
   }
   
   /* >>INPUT >>FORM        */
   .buttonDiv input[type=submit]:not(.btn-block),
   .buttonDiv input[type=button]:not(.btn-block),
   .buttonDiv a.btn:not(.btn-block),
   .buttonDiv button.btn:not(.btn-block) {
      width: auto;
   }
   
   /* >>LABEL               */
   .col-form-label {
      text-align: right;
   }
   .dataRow > * {
      margin-bottom: .5rem;
   }
   .dataRow label, .label {
      text-align: right;
   }
   .form-control-static {
      margin-bottom: 0;
   }
   
   /* >>TABLE               */
   .tableScroll {
      overflow-x: visible;
   }
   td a:not(:last-child) {
      display: inline-block;
      margin: 0 5px 0 0;
   }
   
   /* >>BREADCRUMB          */
   .breadcrumb {
      margin-bottom: 0;
   }
   
   /* >>UTILITY             */
   .text-right-sm { text-align: right; }
   .visible-xs-flex { display: none !important; }
   
   /* >>TRAKIT FEES         */
   #viewTrakItFeesTable .subfee .feeDescription {
      padding-left: 50px;
   }
   #viewTrakItFeesTable_wrapper {
      font-size: 1rem;
      margin: 0;
   }
}

/*************************/
/* >>SM                  */
/*************************/
@media (min-width: 768px) and (max-width: 991px) {
   /* >>INPUT >>FORM        */
   .form-horizontal .control-label {
      clear: both;
      margin-bottom: 5px;
      text-align: inherit;
   }
   .radio .control-label, .checkbox .control-label {
      clear:none;
      margin-bottom: 0;
   }
   
   /* >>TABLE               */
   div.dataTables_wrapper div.dataTables_length,
   div.dataTables_wrapper div.dataTables_filter,
   div.dataTables_wrapper div.dataTables_info {
      text-align: center;
   }
   
   /* >>UTILITY             */
   .text-left-sm { text-align: left; }
}

/*************************/
/* >>XS & SM             */
/*************************/
@media screen and (max-width: 991px) {
   /* >>INPUT >>FORM        */
   .has-action-link {
      position: relative;
   }
   .input-action-link {
      padding-top: 0; 
      position: absolute;
      right: 0;
      top: 0;
   }
   
   /* >>TABLE               */
   div.dataTables_wrapper div.dataTables_paginate ul.pagination {
      justify-content: center;
   }
   
   /* >>ETC                 */
   #login-separator {
      margin: 0 0 15px 0;
      text-align: center;
   }
}

/****************************************/
/* >>XS - almost nothing should go here */
/****************************************/
@media screen and (max-width: 767px) {
   /* >>MENU                */
   #menu.active {
	   left: 0;
	   -webkit-box-shadow: 6px 0px 7px -2px #888;
	      -moz-box-shadow: 6px 0px 7px -2px #888;
	           box-shadow: 6px 0px 7px -2px #888;
	}
}

/*********************************/
/* >>DEPRECATED - remove in 16.3 */
/*********************************/
.hiddenLbl {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
	padding:0 !important;
	border:0 !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden;
}

/*********************************/
/* >>ANIMATED GLYPHICONS         */
/*********************************/
.glyphicon-refresh-animate {
    -animation: spin .7s infinite linear;
    -ms-animation: spin .7s infinite linear;
    -webkit-animation: spinw .7s infinite linear;
    -moz-animation: spinm .7s infinite linear;
}

@keyframes spin {
    from { transform: scale(1) rotate(0deg);}
    to { transform: scale(1) rotate(360deg);}
}
  
@-webkit-keyframes spinw {
    from { -webkit-transform: rotate(0deg);}
    to { -webkit-transform: rotate(360deg);}
}

@-moz-keyframes spinm {
    from { -moz-transform: rotate(0deg);}
    to { -moz-transform: rotate(360deg);}
}

/*********************************/
/* >>HACKS                       */
/*********************************/
/* IE 10 and 11 */ 
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {  
   select+.form-control-feedback {
      right: 45px;
   }  
}

/* EDGE */
@supports (-ms-ime-align:auto) {
   select+.form-control-feedback {
      right: 45px;
   }
}

/******************************/
/* >>BOOTSTRAP V4 OVERWRITES  */
/******************************/
@media (max-width: 767px) {
   .container {
      max-width: none;
   }
}

@media (min-width: 768px) {
   .container {
      max-width: 750px;
   }
}
@media (min-width: 992px) {
   .container {
      max-width: 970px;
   }
}
@media (min-width: 1200px) {
   .container {
      max-width: 1170px;
   }
}

/*************/
/* TRASH THESE SOMEDAY */
/*************/

/*

select, textarea, input[type="text"], input[type="password"],
input[type="datetime"], input[type="datetime-local"], input[type="date"],
input[type="month"], input[type="time"], input[type="week"],
input[type="number"], input[type="email"], input[type="url"],
input[type="search"], input[type="tel"], input[type="color"] {
   font-size: 16px;
}
form {
   margin: 0;
}

*/


