.table { display: table; width: 100%; }
.table-cell { display: table-cell; }

#MainContent h2.center { text-align: center; }
#MainContent h2.center:after { left: 50%; margin-left: -50px; }

.text-center { text-align: center; }

.hiddenLoadContent { display: none; }

/* Files */
#MainContent ul.files li { text-align: left; }

/* Buttons/Links */
#MainContent .btn.left { float: left; }
#MainContent .btn.right { float: right; }
#MainContent .btn.tiny { font-size: 0.675em; padding: 5px 10px; font-weight: normal; }
#MainContent .btn.tiny:hover { box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; }
#MainContent .buttons .btn { margin: 10px; }
#MainContent a.action-link { font-weight: bold; font-size: 0.875em; text-transform: uppercase; margin-left: 5px; }
#MainContent a.back { margin-bottom: 20px; color: #333; display: block; }
#MainContent a.back i { color: #4fc27d; }

/* Boxes */
#MainContent .box, #MainContent .form-box { border: 1px solid #eeeeee; box-shadow: 0 2px 2px rgba(0,0,0,0.04); -moz-box-shadow: 0 2px 2px rgba(0,0,0,0.04); -webkit-box-shadow: 0 2px 2px rgba(0,0,0,0.04); background: #ffffff; padding: 20px; }
#MainContent .box { /*margin: 30px 0;*/ margin: 0 0 30px 0; }
#MainContent .box p { font-weight: 500; }

/* Forms */
.field-validation-error { display: block; color: red; font-weight: normal; font-size: 0.875em; margin: 0; }
.validation-summary-errors ul, .validation-summary-valid ul { padding: 0; margin: 0; }
.validation-summary-errors ul li { color: red; font-weight: bold; list-style: none; }
.validation-summary-errors ul li:last-child { margin-bottom: 15px; }

.form-section .btn, .form-section button { border: 0; width: 100%; }

#MainContent form fieldset { padding: 15px 20px 5px 20px; margin-bottom: 20px; background: #fff; border: 1px solid #eee; }
#MainContent form fieldset h3 { font-family: "Source Sans Pro", Open Sans, Helvetica, sans-serif; font-weight: normal; text-transform: none; }
#MainContent form .btn { border: 0; padding: 8px 20px; font-size: 0.875em; border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; }
#MainContent form .btn.next, #MainContent form .btn.submit { float: right; }
#MainContent form .btn.prev { float: left; }
#MainContent form .btn.save { margin-bottom: 20px; }
#MainContent form .required:after { content: "*"; font-weight: bold; color: red; }
#MainContent form .field.input-validation-error { border-color: red; }
#MainContent form .hidden-fields { display: none; }
#MainContent form iframe { border: 0; width: 100%; height: 30px; }
#MainContent form .upload-validation { display: none; }
#MainContent form ul.files { margin-top: 0; }
#MainContent form ul.files li a { display: inline-block; }
#MainContent form ul.files li a.remove-file { position: absolute; top: 10px; right: 0; font-size: 24px; }
#MainContent form .input-container .row { position: relative; padding-right: 30px; }
#MainContent form .input-container .row a.remove-input { position: absolute; top: 28px; right: 10px; font-size: 24px; }
#MainContent form .radiobuttonlist label { font-weight: normal; text-transform: none; display: inline-block; margin: 0 15px 0 0; font-size: 1em; }

#MainContent form label.clean {
    font-weight: normal; 
    letter-spacing: inherit;
    text-transform: none;
    font-size: 1em;
}

.input-group { position: relative; }
.input-group i { position: absolute; top: 1px; left: 1px; width: 40px; height: 38px; background: #eee; line-height: 38px; color: #555; border-right: 1px solid #ddd; }
.input-group .field { padding-left: 50px; }

#UpdateProfile .btn { margin-top: 45px; }
#forgottenpasswordbox { margin-top: 20px; }

.contour .form-group { padding: 0; background: none; border: 0; }

#MainContent .modal .box .checkbox { padding: 0; }
#MainContent .modal .box .checkbox label { margin-bottom: 0; font-weight: 800; }
#MainContent .modal .box .checkbox input[type="checkbox"] { margin: 0; vertical-align: middle; float: none; }
#MainContent .modal .box .checkbox p { font-size: 0.875em; font-weight: 500; }

/* Alerts */
.alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; }
.alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; }
.alert-info { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; }
.alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; }
.alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; }
.alert p { font-weight: 500; }
.alert-dismissible { position: relative; }
.alert-dismissible .close { position: absolute; top: 15px; right: 15px; font-size: 20px; text-shadow: 0 1px 0 #fff; filter: alpha(opacity=20); opacity: .6; color: inherit; text-decoration: none !important; }
.alert-danger a { color: #a94442; font-weight: bold; }

tr.warning { color: #8a6d3b; background-color: #fcf8e3; }

/* Header */
header #Logo { padding: 0; }
header #Logo img { max-width: 100%; }
header nav { display: inline-block; }
header nav ul { padding: 0; padding-left: 20px; margin: 0; display: inline-block; }
header nav ul li { margin: 0; margin-right: 20px; float: none; }
header nav ul li.user-link { margin-right: 10px; font-size: 0.875em; background: #fff; padding: 5px 10px; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
header nav ul li.user-link a { color: #4fc27d; font-weight: 600; }
header nav ul li:last-child { margin: 0; }

/* News */
#MainContent .results-title h3 { padding-bottom: 20px; }

.sidebar #archive { list-style: none; margin: 0; padding: 0; }
.sidebar #archive li:last-child { border: 0; }
.sidebar #archive li.active a { color: #4fc27d; font-weight: bold; }
.sidebar #archive li a { display: block; }
.sidebar #archive li a span.count { font-weight: normal; color: #fff; background: #4fc27d; border-radius: 50%; width: 20px; height: 20px; display: inline-block; text-align: center; line-height: 20px; font-size: 16px; margin-left: 5px; float: right; }

/* LeftNav */
#leftNav { padding: 0; }

/* Accordion */
#MainContent .panel-group .panel { border: none; box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; position: relative; border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; border-bottom:1px dotted #cccccc;}
#MainContent h4.panel-title { color: #4fc27d; margin: 0; }
#MainContent .panel-group .panel-heading .panel-title a { display: block; padding: 10px 15px; }
#MainContent .panel-heading { border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; background: none; padding: 0; position: relative; }
#MainContent .panel-default > .panel-heading { background: none; }
#MainContent .panel-default > .panel-heading + .panel-collapse > .panel-body { border-top: 1px dotted #ddd; }
#MainContent .panel-body { padding: 25px; }

/* Tabs */
.nav-tabs { margin-bottom: 10px; border: 0; }
.nav-tabs > li { border: 0; margin: 0 10px 10px 0; }
.nav-tabs > li:last-child { margin: 0 0 10px 0; }
.nav-tabs > li > a { margin: 0; border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; font-weight: 600; }
.nav-tabs > li > a, .nav-tabs > li > a:hover, .nav-tabs > li > a:focus { background: #fff; color: #4fc27d; border: none; }
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { background: #4fc27d; color: #fff; border: none; }
.nav-tabs > li.disabled { background: #ccc; opacity: .6; cursor: default; padding: 10px 15px; color: #555; font-weight: 600; }
/*#MainContent .tab-pane .box:first-child, #MainContent .tab-pane form .box:first-child { margin-top: 0; }*/

/* Tables */
table { width: 100%; }
table thead { background: #ccc; border: 1px solid #ccc; }
table thead th { padding: 5px; text-align: left; }
table tbody tr { background: #fff; border: 1px solid #eee; }
table tbody td { padding: 5px; }
#MainContent table tbody tr[data-url], #MainContent table tbody tr[data-itr-id] { cursor: pointer; transition: all 300ms ease; -moz-transition: all 300ms ease; -webkit-transition: all 300ms ease; }
#MainContent table tbody tr[data-url]:hover, #MainContent table tbody tr[data-itr-id]:hover { background: #eee; }

#MainContent table.mceItemTable p { margin: 0; }
#MainContent table.mceItemTable td { padding: 10px; }
#MainContent table.mceItemTable tr td:first-child p { font-weight: normal; }

/* Search Register */
#MainContent .search-form .box .btn { padding: 10px 20px; }
#MainContent .search-form .box ul { margin: 0; padding: 0; }
#MainContent .search-form table thead th { padding: 5px 10px; }
#MainContent .search-form table tbody td { padding: 10px; }

/* Entry Details */
#MainContent .entry-details { margin-top: 30px; }
#MainContent .entry-details ul { padding: 0; margin: 0; list-style: none; }
#MainContent .entry-details ul li { margin: 10px 0; }
#MainContent .entry-details span { display: block; font-weight: 600; }

#MainContent table.itr-table tbody tr.active { background: #4fc27d; color: #fff; }
#MainContent .itr-info { display: none; }
#MainContent .itr-info.active { display: block; }

#MainContent.user-profile table.itr-table { margin-bottom: 20px; }
#MainContent.user-profile .itr-info .status { display: flex; align-items: center; }
#MainContent.user-profile .itr-info .status span { font-weight: 600; font-size: 1.25em; margin: 0 0 0 10px; }
#MainContent.user-profile .itr-info .status i { font-size: 2em; }
#MainContent.user-profile .itr-info h2 { margin-top: 0; }

/* Admin */
#MainContent.admin-content table thead th, #MainContent.admin-content table tbody td { padding: 5px; }
#MainContent.admin-content table th.header { position: relative; cursor: pointer; padding-left: 20px; }
#MainContent.admin-content table th.header:before { font-family: FontAwesome; content: "\f0dc"; position: absolute; top: 50%; left: 5px; margin-top: -8px; }
#MainContent.admin-content table th.sort-up:before { content: "\f0de"; top: 50%; margin-top: -4px; }
#MainContent.admin-content table th.sort-down:before { content: "\f0dd"; top: 50%; margin-top: -12px; }
#MainContent.admin-content table tbody td.status-col { font-style: italic; }

#MainContent.admin-content .pages { display: inline-block; margin: 20px 0 0 0; text-align: left; }
#MainContent.admin-content .pages a { border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; }

#MainContent.admin-content .btn { border: 0; padding: 8px 20px; font-size: 0.875em; border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; display: inline-block; }
#MainContent.admin-content .export-buttons .btn { font-size: 0.785em; display: inline-block; padding: 5px 10px; margin-bottom: 10px; }
#MainContent.admin-content .export-buttons .btn:hover { box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; }

#MainContent.admin-content .status { position: relative; margin: 30px 0; display: flex; justify-content: center; align-items: center; flex-direction: row; }
#MainContent.admin-content .status span { font-weight: 600; font-size: 1.25em; margin: 0 0 0 10px; }


#MainContent.admin-content ul.steps { padding: 0; list-style: none; text-align: center; margin: 20px 0 35px 0; display: inline-block; }
#MainContent.admin-content ul.steps li { text-align: center; display: inline-block; width: 100px; vertical-align: top; }
#MainContent.admin-content ul.steps li .step { position: relative; display: inline-block; width: 50px; height: 50px; line-height: 50px; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; background: #fff; color: #555; font-size: 25px; border: 2px solid #ddd; }
#MainContent.admin-content ul.steps li .step:before, #MainContent.admin-content ul.steps li .step:after { content: ''; display: block; position: absolute; top: 50%; -webkit-transform: translate(0,-50%); -moz-transform: translate(0,-50%); -ms-transform: translate(0,-50%); -o-transform: translate(0,-50%); transform: translate(0,-50%); height: 2px; background: #f1f1f1; width: 100%; }
#MainContent.admin-content ul.steps li .step:before { left: -50px; }
#MainContent.admin-content ul.steps li .step:after { left: 50px; }
#MainContent.admin-content ul.steps li:first-child .step:before { display: none; }
#MainContent.admin-content ul.steps li:last-child .step:after { display: none; }
#MainContent.admin-content ul.steps.admin-steps li:nth-child(6) .step:after { display: none; }
#MainContent.admin-content ul.steps.admin-steps li:nth-child(7) .step:before { display: none; }
#MainContent.admin-content ul.steps li.active .step { background: #4fc27d; color: #fff; border: 2px solid #4fc27d; }
#MainContent.admin-content ul.steps li.complete .step { background: #ddd; }
#MainContent.admin-content ul.steps li h4 { font-size: 0.875em; margin-top: 10px; color: #555; max-width: 100px; margin: 10px auto; }
@media only screen and (max-width: 450px)
{
    #MainContent.admin-content ul.steps li { width: 100px; float: left; }
}

/* Invoices */
#MainContent table.invoice-table { margin-bottom: 20px; }
#MainContent table.invoice-table.unpaid thead { background: rgba(217, 83, 79, 0.1); border: 1px solid rgba(217, 83, 79, 0.4); }
#MainContent table.invoice-table.paid thead { background: rgba(79, 194, 125, 0.1); border: 1px solid rgba(79, 194, 125, 0.4); }
#MainContent table.invoice-table tbody tr:first-child { border-top: 0; }
#MainContent table.invoice-table .btn { padding: 5px 10px; }
#MainContent table.invoice-table .btn:hover { box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; }
#MainContent table.invoice-table .btn-group { float: right; }
#MainContent table.invoice-table .overdue { color: #d9534f; }
#MainContent table.invoice-table .overdue .btn { background: #d9534f; }
#MainContent table.invoice-table .pay-now { float: right; }

/* Hearings */
#MainContent table.hearings-table td a.remove-hearing { font-size: 20px; color: #d9534f; }

/* Registration Details */
#MainContent .registration-details .btn-group { margin-bottom: 20px; }
#MainContent .registration-details table tbody td { padding: 10px; border: 1px solid #ddd; font-family: 'Quicksand'; width: 25%; }
#MainContent.admin-content .registration-details table tbody td { width: auto; }
#MainContent .registration-details table tbody td h5 { font-size: 1.075em; }
#MainContent .registration-details .box { box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; margin: 20px 0; display: inline-block; width: 100%; }
#MainContent .registration-details .box h3 { margin: 0; text-transform: none; font-weight: normal; }
#MainContent .registration-details .box p { margin: 0; clear: both; font-weight: 300; }
#MainContent .registration-details .box p a { font-weight: bold; color: #555; }
#MainContent .registration-details .box .status { margin: 10px 0; float: left; }
#MainContent .registration-details .box .status h3 { font-size: 1.475em; font-weight: bold; }
#MainContent .registration-details .box .status i { margin-right: 5px; font-size: 1.475em; font-weight: bold; }

/* Statuses / Glossary of Terms */
#MainContent ul.statuses { padding: 0; list-style: none; }
#MainContent ul.statuses li { margin: 20px 0; }
#MainContent ul.statuses li h3 { margin-bottom: -5px; }

#MainContent table.statuses { margin-top: 20px; }
#MainContent table.statuses tr { background: none; border: 0; }
#MainContent table.statuses h3 { margin: 0; text-transform: none; }
#MainContent table.statuses p { margin: 0; }

/* Modal */
#MainContent .modal-header, .modal-header { border: 0; padding-bottom: 0; }
#MainContent .modal h3, .modal h3 { margin: 0; }
#MainContent .modal button.close, .modal button.close { font-size: 2em; opacity: 1; color: #4fc27d; }
#MainContent .modal .close:hover, #MainContent .close:focus, .modal .close:hover, .close:focus { color: #4fc27d; opacity: 1; outline: none; }
#MainContent .modal .modal-content, .modal .modal-content { border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; }
#MainContent .modal .buttons button, .modal .buttons button { border: 0; padding: 8px 20px; font-size: 0.875em; border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; display: inline-block; margin-right: 10px; }

/* User Sidebar */
#sidebar.user-sidebar .top { padding: 25px; background: #fff; border: 1px solid #eee; border-bottom: 2px solid #dddddd; }
#sidebar.user-sidebar .top h2 { margin-top: 0; }
#sidebar.user-sidebar .top h3 { text-transform: capitalize; }
#sidebar.user-sidebar .top a { color: #333; display: block; }
#sidebar.user-sidebar .top a i { color: #4fc27d; }
#sidebar.user-sidebar .top .btn { margin-top: 20px; background: #555; color: #fff; border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; display: inline-block; width: auto; padding: 8px 20px; }
#sidebar.user-sidebar .bottom { border: 1px solid #eee; border-bottom: 2px solid #ddd; margin-top: 20px; }
#sidebar.user-sidebar .bottom .nav { margin: 0; }
#sidebar.user-sidebar .bottom .nav > li { float: none; margin: 0; border-bottom: 1px solid #dddddd; }
#sidebar.user-sidebar .bottom .nav > li:last-child { border: 0; }

/* Status Box */
#MainContent .box.status { display: block; font-weight: 300; margin: 0 0 20px 0; padding: 10px; box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; }
#MainContent .box.status a { display: initial; font-weight: 600; }
#details-tab .box.status { display: inline-block; }

/* Loader Overlay */
#LoaderOverlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.3); text-align: center; z-index: 999; display: none; }
#LoaderOverlay .loader-inner { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); }
#LoaderOverlay .loader-inner p, #LoaderOverlay .loader-inner i { color: #ffffff; margin: 0 5px 0 0; display: inline-block; font-size: 1.5em; }

/* Icon Colours */
i.green { color: #4fc27d; }
i.orange { color: #f18626; }
i.red { color: #d9534f; }
i.grey { color: #555; }
i.blue { color: #31708f; }

/* Button Colours */
#MainContent .btn.green, button.green { background: #4fc27d !important; }
#MainContent .btn.orange, button.orange { background: #f18626 !important; }
#MainContent .btn.red, button.red { background: #d9534f !important; }
#MainContent .btn.grey, button.grey { background: #555 !important; }
#MainContent .btn.blue, button.blue { background: #31708f !important; }

/* Box Colours */
#MainContent .box.green { background: rgba(79, 194, 125, 0.1); border: 1px solid rgba(79, 194, 125, 0.4); }
#MainContent .box.orange { background: rgba(241, 134, 38, 0.1); border: 1px solid rgba(241, 134, 38, 0.4); }
#MainContent .box.red { background: rgba(217, 83, 79, 0.1); border: 1px solid rgba(217, 83, 79, 0.4); }
#MainContent .box.blue { background: rgba(0, 102, 255, 0.1); border: 1px solid rgba(0, 102, 255, 0.4); }
#MainContent .box.grey { background: #eee; }

/* Contact Page */
.contact-page #contact h2 { margin-bottom: 40px; }
.contact-page #contact form fieldset { padding: 0; background: none; border: 0; }
.contact-page #contact form .btn { width: 100%; }

/* Website Search */
#WebsiteSearch { background: #f7f7f7; padding: 30px 0; display: none; }
#WebsiteSearch .field { height: 50px; font-size: 18px; padding: 10px 15px; }
#WebsiteSearch .btn { height: 50px; width: 100%; padding: 10px 20px; border: 0; border-radius: 0; }

/* Search Results */
.search-listings .search-result { margin-bottom: 40px; }
.search-listings .search-result .text .search-highlight { color: #4fc27d; font-weight: bold; }
.search-listings .search-result .breadcrumb { list-style: none; padding: 0; margin: 20px 0 0 0; }
.search-listings .search-result .breadcrumb li { display: inline-block; }

/* Responsiveness */
@media only screen and (max-width: 767px) {
    #pageTop { height: 290px; }
}
@media only screen and (min-width:994px) {
    .vertical-align { display: flex; align-items: center; justify-content: center; flex-direction: row; }
}
@media only screen and (min-width: 768px) {
    #MainContent .search-form .form-group { margin: 0; }
    #MainContent .search-form .box .btn { margin-top: 25px; }
}