body
{
    padding: 0px 0;
    font-family: arimo, sans-serif;
}

/*mainheader {*/
  /*background-color: #f9f9f9;*/
 /*!* background: linear-gradient( #fcfcfc 0%, #fcfcfc 60%, #f7f7f7 92%, #f3f3f3 100% );*!*/
  /*height: 96px;*/
  /*margin: 0;*/
 /*!* background: #1e5799; !* Old browsers *!*/
/*background: -moz-linear-gradient(top, #1e5799 0%, #2989d8 11%, #7db9e8 100%); !* FF3.6+ *!*/
/*background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1e5799), color-stop(11%,#2989d8), color-stop(100%,#7db9e8)); !* Chrome,Safari4+ *!*/
/*background: -webkit-linear-gradient(top, #1e5799 0%,#2989d8 11%,#7db9e8 100%); !* Chrome10+,Safari5.1+ *!*/
/*background: -o-linear-gradient(top, #1e5799 0%,#2989d8 11%,#7db9e8 100%); !* Opera 11.10+ *!*/
/*background: -ms-linear-gradient(top, #1e5799 0%,#2989d8 11%,#7db9e8 100%); !* IE10+ *!*/
/*background: linear-gradient(to bottom, #1e5799 0%,#2989d8 11%,#7db9e8 100%); !* W3C *!*/
/*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 ); !* IE6-9 *!*/
/*}*/

#mainheader {
    position: relative;
}
.btn
{
    font-weight: bold;
    font-size: 110%;
    letter-spacing: -0.5px;
    margin: 3px;
}
.navbar
{
    margin-bottom: 0;
    max-height: 46px;
}
.footer 
{
    margin-top: 50px;
    width: 100%;
    height: 50px;
    padding: 15px 0;
    text-align: center;
}
.modal { position: absolute }
.modal-loading
{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba( 255, 255, 255, 0.5 );
    border-radius: 10px;
    background-image: url( "../images/loading.gif" );
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 99;
}
.container-main
{
    padding: 0;
}
.container .jumbotron,
.container-fluid .jumbotron
{
    padding: 16px 0 12px 0;
    margin: 0 -15px 30px -15px;
    color: white;
    border-radius: 0;
}
.jumbotron h1
{
    font-size: 32px;
}
h1, h2, h3, h4, h5, h6
{
    font-family: league-gothic, sans-serif;
    letter-spacing: -1px;
}
h1 { font-size: 250% }
h2 { font-size: 225% }
h3 { font-size: 200% }
h4 { font-size: 175% }
.modal-title
{
    font-family: arimo, sans-serif;
    font-size: 115%;
}
.modal-title > h3
{
    font-family: league-gothic, sans-serif;
    font-size: 220%;
}

div.contentLeft
{
    width: 450px;
    box-sizing: border-box;
    float: left;
    padding: 10px;
}
.form-signin-heading
{
    text-align: center;
}
div.contentRight
{
    position: absolute;
    right: 20px;
    top: 20px;
    bottom: 20px;
    width: 400px;
    
    padding: 20px;
    margin: 10px;
    overflow: hidden;
    
    background-color: #ddd;
    border-radius: 10px;
}



/*  General common definitions  */

h1
{
    font-size: 1.8em;
    margin: 0px 0px 8px 0px;
}
h2
{
    font-size: 1.5em;
    margin: 0px 0px 8px 0px;
}
a
{
    color: #0083bf;
}
input[type=submit]:disabled
{
    color: #999;
}
textarea
{
    height: 100px;
}
.autoWidth
{
    width: auto;
}
input.submit
{
    padding: 5px 10px 5px 10px;
    width: auto;
    background: #eee;
    background: linear-gradient( #fff, #ddd );
    border-radius: 5px;
    font-weight: bold;
}
.button
{
    min-width: 100px;
    text-align: center;
    text-decoration: none;
    padding: 5px 10px 5px 10px;
    background: #eee;
    background: linear-gradient( #fff, #ddd );
    border-radius: 5px;
    font-weight: bold;
    color: #555;
    border: 1px solid #999;
    margin: 3px;
}



/*  Status messages shown after a user input operation,
    e.g. sending a message.  */

p.statusMsg
{
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 5px 10px;
}
.statusSuccess
{
    color: green;
    margin-right: 5px;
    font-weight: bold;
}
.statusAlert
{
    color: #df6600;
    margin-right: 5px;
    font-weight: bold;
}
.statusFailure
{
    color: red;
    margin-right: 5px;
    font-weight: bold;
}
.statusConfirmed
{
    color: #090;
    font-weight: bold;
}
.statusCancelled
{
    color: #b00;
    font-weight: bold;
}


/*  Top-level page element definitions  */
#containerBox
{
    width: 1000px;
    min-height: 100%;
    position: relative;
    margin: 0px auto;
    background-color: #f6f6f6;
}
#innerContainerBox
{
    position: relative;
    padding: 10px 20px;
    overflow: auto;
    min-height: 350px;
}
#pageHeading
{
    padding: 10px 20px 0px 20px;
}
#logoContainerLoginScreen
{
    position: block;
    width: 300px;
    height: 120px;
    right: 0;
    left: 0;
    margin: 0px auto;
    padding: 30px;
    text-align: center;

}
#mainheader { height: 75px!important;}

#logoContainer
{
    position: relative;
    height: 130px;
    background-color: transparent;
}
/* Location list on the apptime page */
#locationLinks_Other li
{
    font-weight: bold;
}

#logo
{
    position: absolute;
    right: 10px;
    top: 6px;
    height:auto;/*height: 85px;*/
}
#logo img
{
    max-height: 60px;
}
#logoText
{
    padding: 4px 8px;
    background-color: transparent;
    border-radius: 5px;
    
    position: absolute;
    right: 0px;
    bottom: 3px;
    white-space: nowrap;
    font-size: 0.9em;
    color: #999;
}

#userDetailsTopNav
{
    position: absolute;
    left: 20px;
    top: 20px;
    color: #777;
}

#footer
{
    position: relative;
    height: 20px;
    padding: 10px;
    text-align: center;
    color: #333;
}
#login
{
    margin: 0 auto;
    padding: 50px 30px;
    height: 225px;
}
#login p
{
    text-align: center;
}

div.toolbar
{
    text-align: center;
}

.form-group-dob select
{
    float: left;
    width: auto;
    padding: 6px 8px;
    margin-left: 2px;
}

/*  Dialogue box definitions  */

.dialogBox
{
    position: relative;
    padding: 30px;
    background-color: #eee;
    border-radius: 10px;
    width: 500px;
    height: 350px;
}

.dialogBox > h1
{
    font-size: 1.4em;
    position: absolute;
    left: 0px;
    right: 0px;
    top: -1px;
    padding: 8px;
    border-radius: 10px 10px 0px 0px;
    background: #999;
    color: white;
    text-align: center;
}

.dialogBox .toolbar
{
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 0px;
    padding: 5px;
    border-radius: 0px 0px 10px 10px;
    
    text-align: center;
    border-top: 2px dotted #ccc;
}

div.dialogHelpPanel
{
    position: absolute;
    left: 600px;
    right: 20px;
    top: 0px;
    bottom: 70px;
    min-height: 330px;
    border-radius: 10px;
    padding: 25px;
    background-color: white;
    border: 1px solid #ccc;
}
div.dialogHelpPanel li
{
    margin-bottom: 8px;
    font-size: 1.1em;
}

.contactAddressConfirm{
    font-weight: bold;
    padding: 5px;
    background-color: #e3dbfb;
}

/*  Revised dashboard page "panel" items.  */
#ulMessages
{
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
}
.liDashboardPanel
{
    display: inline-block;
    color: white;
    text-decoration: none;
    height: 200px;
    vertical-align: top;
}
.liDashboardPanelMobile
{
    display: inline-block;
    color: white;
    text-decoration: none;
    height: 100px;
    vertical-align: top;
}
.panel-messages
{
    background-color: #79b;
}
.panel-appointments
{
    background-color: #d95;
}
.panel-information
{
    background-color: #dc3;
}
.panel-account
{
    background-color: #837DBB;
}
.panel-password
{
    background-color: #90af27;
}
ul.panel a
{
    color: white;
    text-decoration: none;
}


/*  Form field tables  */
table.details
{
    background-color: transparent;
    width: 100%;
    font-size: 1em;
    border-collapse: collapse;
    margin-bottom: 20px;
}
table.details tr
{
    vertical-align: top;
}
table.details td
{
    padding: 5px;
}
table.details td.label
{
    color: #079;
    font-weight: bold;
    width: 25%;
    min-width: 150px;
    font-size: 100%;
}
table.details td.data
{
}
table.details td.status  /*  Will display tick or cross for form validation  */
{
    min-width: 48px;
}
table.details input
{
    width: 100%;
}
table.details tr.semiHighlighted
{
    background-color: #ddd;
    font-weight: bold;
}
table.details tr.semiHighlighted td.data
{
    color: #888;
    text-shadow: 1px 1px 0px #eee;
}
table.details tr.highlighted
{
    background-color: white;
    font-weight: bold;
}
table.details div.attachmentsField
{
    margin-bottom: 10px;
}
span.status
{
    min-width: 48px;
}

.survey-table-row
{
    cursor: pointer;
}
.survey-table-row-unopened
{
    font-weight: bold;
}

.label-account-data
{
   display: block; 
}

.form-signin
{
    width: 320px;
    margin: 0 auto;
}

.form-signin p, .form-signin h2
{
    text-align: center;
}

.message-table-new
{
    font-weight: bold;
}

.mandatoryIndicator
{
	color:red;
	font-weight:bold;
}

.initial-triage-list { font-size: 17px; margin: 24px 0; }
.initial-triage-list li { margin: 9px 0; }

/* Service selection boxes */
.unitAppServiceSelectItem h3 {
    /* margin-top: 6px; */
}


.service-description { font-size: 15px; }

.popup-icon { display: inline-block; width: 20px; height: 20px; background: #000000; color: #fff; border-radius: 100%; text-align: center; line-height: 20px; font-size: 12px; }
.popup-icon:hover { text-decoration: none; background: #333; color: #fff;  }

.contraception-optionsForm h3 label { font-weight: inherit; }

.popover { max-width: 376px; }

#cookieConfirmationDialog {
    height: 50px;
    background: #333;
    color: #fff;
    text-align: center;
    font-size: 14px;
    line-height: 22px;
    padding-top: 3px;
    padding-bottom: 2px;
    display: none;
}
#cookieConfirmationDialog a {
    color: #fff;
    text-decoration: underline;
}
#cookieConfirmationDialog .dialog-container {
    margin: 0 auto;
    padding: 0 23px;
    position: relative;
}
#cookieConfirmationDialog .dialog-close {
    position: absolute;
    right: 0;
    border-radius: 6px;
    background: #fff;
    color: #333;
    top: 4px;
    width: 23px;
    height: 23px;
}


/* Northumbria Demo Styling */
body { background: #f2f3f3;  }
h1, h2, h3, h4, h5, h6 { letter-spacing: 0; }
#outerContainer { overflow: hidden; }
.jumbotron h1 { text-align: center; }
.panel-account { background-color: #5f2590; }
#mainheader { background: #fff; margin-left: -15px; margin-right: -15px; width: calc(100% + 30px)!important; }
#logo { position: initial; float: right; padding: 10px; height: 100%; margin-right: 20px; }
@media (max-width: 480px) {
    #logo { float: left; margin-left: 20px; }
}
.alert.alert-info { background: hsl(273 27% 97% / 1); border: 1px dashed #d1bdff; }

.btn.btn-primary { background-color: #5f2590; border-color: #5f2590; }
.btn.btn-light { background-color: #fff; }

select.form-control { -webkit-appearance: auto; appearance: auto; padding: 12px 12px; }
.form-control { border: var(--bs-border-width) solid hsl(210 14% 76% / 1); }

#mainheader:before { content: "Online Booking Portal"; padding-left: 30px; position: absolute; top: 0; display: flex; align-items: center; height: 100%; font-size: 21px; font-weight: 600; }
@media (max-width: 480px) {
    #mainheader:before { content: ""; display: none; }
}

#container .rcorners1 { background: #fff; height: 100%; box-shadow: 0 9px 24px -6px rgba(0,0,0,.08); border: .5px solid #d5d6d8; margin: 0; width: 100%; border-radius: 20px; padding: 20px; }
.unitAppServiceSelectItem { text-decoration: none; }
.unitAppServiceSelectItem h3 { margin-top: 0; font-size: 1.75rem; margin-bottom: 15px; }
.popup-icon { text-decoration: none; }

div.calendarInnerContainer { margin-right: 0; }
div.calendarInnerContainer > div.calendarHeader { margin: 2px 0 14px; padding: 0px; display: flex; }
div.calendarPeriod.available {
    background-color: #8c3 !important;
    font-weight: bold;
    color: white;
    border-radius: 20px;
}
#pcsearchbtn,
#chooseAddress { font-size: 100%; }
.contactAddressConfirm { border-radius: 5px; }
table.details td.label { color: #005eb8; }
table.details tr { border-bottom: 1px solid #eee; }
table.details tr:last-child { border-bottom: none; }

.alert ul { margin-bottom:0; }
div.calendarPeriod.available:hover { background-color: #591 !important; }

.locationList, .regionListEntry { cursor: pointer; color: #005eb8; font-weight: 600; }
#regionList:before { content:"Choose your preferred region:"; }
#regionList:after { content:"Choose your preferred location:"; margin-top: 20px; display: block; margin-bottom: -15px; }
