html {
    margin: 0px;
    padding: 0px;
}
* {
    margin: 0px;
    padding: 0px;
}
a img {
    border: none;
    outline: none;
}
body {
    font-family: Arial, Helvetica, sans-serif;
    width: 100%;
    position: relative;
}
#centerer {
    clear: both;
    margin: 0px auto;
    width: 100%; /* from .fullwidth 2020-05-08*/
}
/*
.fullwidth #centerer{
	width:100%;
	margin:0px 20px;
}
*/
br.clearer {
    clear: both;
    line-height: 0px;
}
.image-preloader {
    position: absolute;
    height: 0px;
    width: 0px;
    background-position: -9999px -9999px;
    background-repeat: no-repeat;
}
table {
    border-collapse: collapse;
}
a:link,
a:visited {
    color: #1378f4;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
h1 {
    font-size: 1.7em;
    margin-left: 10px;
}
h1 {
    font-size: 1.7em;
    font-weight: normal;
    margin: 15px 0 10px 0;
}
h2 {
    margin: 15px 0px 8px 0px;
    font-size: 1.4em;
    font-weight: normal;
    color: #003366;
}
h3 {
    margin: 15px 0px 8px 0px;
    font-size: 1.3em;
    font-weight: normal;
    color: #003366;
}
h3 a:link,
h3 a:visited {
    text-decoration: none;
}
h3 a:hover {
    text-decoration: underline;
}
h4 {
    font-size: 1.2em;
    color: #003366;
    font-weight: normal;
}
h4.h4-subtitle {
    margin: -7px 0px 10px 5px;
    font-weight: normal;
    font-size: 1.2em;
    color: #003366;
}
pre {
    font-family: 'Khmer UI', Arial, Helvetica, sans-serif;
    white-space: pre-wrap;
    font-size: 100%;
}

/* CLEARFIX (https://css-tricks.com/snippets/css/clear-fix/) */
.group:before,
.profile-row:before,
.content-box:before,
.calendar-week-row:before,
.calendar:before,
.group:after,
.profile-row:after,
.content-box:after,
.calendar-week-row:after,
.calendar:after{
    content: '';
    display: table;
}
.group:after,
.profile-row:after,
.content-box:after,
.calendar-week-row:after,
.calendar:after {
    clear: both;
}
.group.profile-row {
    zoom: 1; /* For IE 6/7 (trigger hasLayout) */
}

/* ADMIN CONTROLS */
.adminControls {
    background-color: #ffd7ad;
}
.adminControls-hide .adminControls {
    display: none;
}
.adminHint {
    display: none;
    background-color: rgba(255, 161, 68, 0.7);
    font-size: 14px;
    color: #fff;
    border-radius: 4px;
    padding: 2px;
    position: absolute;
    top: -10px;
    left: -50px;
    line-height: normal;
    font-family: monospace;
}
body.showAdminHints .adminHint {
    display: block;
}
.important-note {
    line-height: 150%;
    padding: 8px;
    border-radius: 8px;
    margin: 4px 0px;
    background-color: #ffecd3;
    color: #000;
    border: 1px solid #ff7200;
}
.important-note-small {
    line-height: 150%;
    padding: 4px;
    border-radius: 4px;
    margin: 4px 0px;
    background-color: #ffecd3;
    color: #000;
    border: 1px solid #ff7200;
}

/* DEBUGGING */
.debug {
    margin: 16px;
    padding: 16px;
    border-radius: 16px;
    background-color: #efefef;
    border: 1px solid #aaa;
}

/* MASTHEAD */
#masthead {
    width: 100%;
}
/*
#masthead a,
#masthead a:link,
masthead a:visited {
    text-decoration: none;
    color: #fff;
}
*/
#masthead-message {
    padding: 20px;
}
.masthead-message-error {
    color: #aa1a17;
    background-color: #ffdfd8;
}
.masthead-message-success {
    color: #37aa17;
    background-color: #dff2e9;
}
.masthead-message-warning {
    color: #593f26;
    background-color: #ffda95;
}
#masthead-message ul {
    margin: 5px 20px;
}
/* TEXT */
.text-notice {
    border: 1px solid #006f9e;
    background-color: #e3eef2;
    padding: 10px;
}
.text-notice h4 {
    font-size: 1.1em;
    text-align: center;
    font-weight: bold;
}
.de-emphasize {
    font-style: italic;
    color: #aaaaaa;
}
.sidenote {
    font-style: italic;
    color: #666666;
}
.fyi {
    vertical-align: middle;
}

/*LINK VARIATIONS*/
.link-button,
.link-button:link,
.link-button:visited,
.link-button-small,
.link-button-small:link,
.link-button-small:visited,
.link-button-other,
.link-button-other:link,
.link-button-other:visited,
.link-button-other-small,
.link-button-other-small:link,
.link-button-other-small:visited,
.link-button-tiny,
.link-button-tiny:link,
.link-button-tiny:visited,
.link-button-other-tiny,
.link-button-other-tiny:link,
.link-button-other-tiny:visited {
    display: inline-block;
    padding: 10px 20px;
    margin: 10px;
	font-size:100%;
    background-color: #006f99;
    color: #ffffff;
    text-decoration: none;
    border-radius: 25px;
    border: none;
    cursor: pointer;
}
.link-button-small,
.link-button-small:link,
.link-button-small:visited,
.link-button-other-small,
.link-button-other-small:link,
.link-button-other-small:visited {
    padding: 5px 16px;
    margin: 5px;
    border-radius: 15px;
    font-size: 90%;
}
td .link-button-small,
td .link-button-small:link,
td .link-button-small:visited,
td .link-button-other-small,
td .link-button-other-small:link,
td .link-button-other-small:visited {
    margin: 0px;
}
.link-button-tiny,
.link-button-tiny:link,
.link-button-tiny:visited,
.link-button-other-tiny,
.link-button-other-tiny:link,
.link-button-other-tiny:visited {
    padding: 3px 6px;
    margin: 3px;
    border-radius: 10px;
    font-size: 80%;
}
td .link-button-tiny,
td .link-button-tiny:link,
td .link-button-tiny:visited,
td .link-button-other-tiny,
td .link-button-other-tiny:link,
td .link-button-other-tiny:visited{
	margin:0px;
}
.link-button:hover {
    background-color: #003366;
}
.link-button-other,
.link-button-other:link,
.link-button-other:visited,
.link-button-other-small,
.link-button-other-small:link,
.link-button-other-small:visited,
.link-button-other-tiny,
.link-button-other-tiny:link,
.link-button-other-tiny:visited {
    background-color: transparent;
    color: #1378f4;
    border: 1px solid #1378f4;
}
td .link-button-other,
td .link-button-other:link,
td .link-button-other:visited,
td .link-button-other-small,
td .link-button-other-small:link,
td .link-button-other-small:visited,
td .link-button-other-tiny,
td .link-button-other-tiny:link,
td .link-button-other-tiny:visited {
   margin:0px;
}
.link-button-delete,
.link-button.link-button-delete,
.link-button-small.link-button-delete,
.link-button-tiny.link-button-delete{
	background-color:#e29c9c;
}
.link-button-delete:hover,
.link-button.link-button-delete:hover,
.link-button-small.link-button-delete:hover,
.link-button-tiny.link-button-delete:hover{
	background-color:#bc0000;
}
a.link-white:link,
a.link-white:visited {
    color: white;
    text-decoration: underline;
}
/*FOOTER*/
#footer {
    clear: both;
    font-size: 0.9em;
    padding: 20px 10px;
    border-top: 1px solid #cccccc;
}
#footer {
    clear: both;
    font-size: 0.9em;
    padding: 20px 10px;
    border-top: 1px solid #cccccc;
}
.footer-column {
    float: left;
    margin-left: 3%;
}
#footer-contact {
    border-left: 1px solid #cccccc;
    padding-left: 6px;
}
#footer-contact img {
    vertical-align: text-bottom;
}
#footer-contact a:link,
#footer-contact a:visited {
    display: block;
    padding: 4px;
    text-decoration: none;
}

/* COMMON ELEMENTS */
table.table-default tr.oddrow {
    background-color: #eee;
}
table.table-default td,
table.table-default th,
table.table-borders td,
table.table-borders th {
    border: 1px solid #ccc;
    padding: 5px 7px;
}

/*PAGINATOR*/
.paginator {
    text-align: center;
    padding: 10px 0px;
    border: 1px solid #ccc;
}
.paginator-pageBtn,
.paginator-currentPage {
    display: inline-block;
    min-width: 20px;
    padding: 4px 4px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-decoration: none;
}
.paginator-currentPage {
    font-weight: bold;
    background-color: #d7e6ff;
}
.paginator-pageBtn:hover {
    color: #fff;
    background-color: #1378f4;
}

/* INFO PANELS */
.infoPanel {
    display: none;
    position: fixed;
    z-index: 30000;
}
/**/
.infoPanel-switch,
.infoPanel-switch-phrase {
    /* base settings and single "?" */
    font-size: 90%;
    display: inline-block;
    background-color: #f9e8f5;
	border:1px solid #ff91e3;
    padding: 2px 8px;
    border-radius: 100%;
	color:#d138a8;
}
.infoPanel-switch-phrase {
    /* alt settings for "phrase" switch */
    padding: 0px 4px;
    border-radius: 4px;
}
#infoPanel-rightPanel {
    right: 0px;
    top: 0px;
    width: 40vw;
    height: 100vh;
    overflow-y: scroll;
    overflow-x: hidden;
    border-left: 5px solid #f9e8f5;
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: -3px 0px 10px 0px rgba(0, 0, 0, 0.5);
}
#infoPanel-bottomPanel {
    bottom: 0px;
    min-height: 20vh;
    max-height: 30vh;
    width: 100vw;
}
.infoPanel-box {
    display: none;
    position: absolute;
    height: 90vh;
    top: 7vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0px 30px;
}
/*.infoPanel-box-help{background-color: #FFF;}*/
.infoPanel-box-success {
    border-color: #009900;
    background-color: #d7ffd3;
}
.infoPanel-box-warning {
    border-color: #ff8300;
    background-color: #fcdba6;
}
.infoPanel-box-error {
    border-color: #990000;
    background-color: #ffd4d3;
}

.infoPanel-box-title {
    font-size: 140%;
    margin-bottom: 8px;
}
.infoPanel-close {
    position: absolute;
    right: 6px;
    top: 10px;
    color: #0054ff;
    border: 1px solid #0054ff;
    background-color: #fff;
    padding: 6px;
    border-radius: 4px;
    cursor: pointer;
}
.infoPanel-close:hover {
    background-color: #fff;
}
.infoPanel-box-body p {
    padding: 5px 0px;
}
.infoPanel-box-body ul {
    margin-left: 10px;
}
.infoPanel-box-body li {
    padding: 3px;
}
.infoPanel-optionInfo-list {
    list-style: none;
}
.infoPanel-optionInfo-list li {
    margin-top: 16px;
    padding: 6px 0px;
    border-bottom: 1px solid #ccc;
}
.infoPanel-optionInfo-list .infoPanel-optionInfo-label {
    font-size: 110%;
    font-weight: bold;
}

/* HIDE CAPTCHA BADGE*/
.grecaptcha-badge {
    visibility: hidden;
}

/*
STATUS DIRECTION
colors indicate direction (set by locallist->status_material.stepDirection)
*/
.status_indicator{
	display: inline-block;
  	padding: 6px;
  	border-bottom: 2px solid #CCC;
  	font-weight: bold;
}
td.status_indicator{
	display:table-cell;
	font-weight:normal;
}

.nextStep-switch-SAVE,
.nextStep-form-SAVE,
.status-direction-SAVE,
.status_indicator-SAVE{
    background-color: #f0f0f0;
    color: #3b9634;
    border: 1px solid #3b9634;
}
.nextStep-switch-FORWARD,
.nextStep-form-FORWARD,
.status-direction-FORWARD{
    background-color: #70d178;
    color: #fff;
}
.status_indicator-FORWARD{
	background-color: #eaffe8;
  	color: #007a08;
  	border-color: #007a08;
}
 
.nextStep-switch-BACK,
.nextStep-form-BACK,
.status-direction-BACK{
    background-color: #e88686;
    color: #fff;
}
.status_indicator-BACK{
	background-color: #ffd1d1;
  	color: #e53939;
  	border-color: #e53939;
}
.nextStep-switch-SAVED,
.nextStep-form-SAVED,
.status-direction-SAVED,

.nextStep-switch-PREPARE,
.nextStep-form-PREPARE,
.status-direction-PREPARE,

.nextStep-switch-NEUTRAL,
.nextStep-form-NEUTRAL,
.status-direction-NEUTRAL{
    background-color: #f0f0f0;
    color: #575757;
    border: 1px solid #575757;
}

.status_indicator-SAVED,
.status_indicator-NEUTRAL,
.status_indicator-PREPARE{
    background-color: #f0f0f0;
  	color: #007a08;
  	border-color: #007a08;
}

.nextStep-switch-DELETE,
.nextStep-form-DELETE,
.status-direction-DELETE,
.status_indicator-DELETE {
    background-color: #f0f0f0;
    color: #b9383a;
    border-color:#b9383a;
}

/* Base styling for all alerts */
.alert {
    display: flex;
    justify-content: space-between; /* Aligns children (message and button) horizontally */
    align-items: center; /* Centers children vertically */
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 14px;
}

/* Style for success alerts */
.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

/* Style for danger or error alerts */
.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}
/* Optional: Add some additional spacing and style if you have a close button inside the alert */
.alert .close {
    font-size: 18px;
    color: inherit;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0; /* Removes default padding */
    margin: 0; /* Removes default margin */
}

/* CONTENT BOX / WHITE BOX */
.content-box{
	position:relative;
	background-color:#FFF;
	border:1px solid #CCC;
	margin:10px 0px;
	padding:10px;
}

/* INFO ROWS */
.info-item{
	border:1px solid #CCC;
	padding:8px;
	margin-bottom:4px;	
}
.info-row{
	padding:2px 0px;
}
.info-row .info-label{
	font-style:bold;	
}
.metadata-row{
	clear:both;
	border-top:1px solid #EFEFEF;
	color:#888;
	padding:4px 0px 0px 4px;
	margin-top:4px;	
}

.helper-instructions-box{
	line-height:140%;
	border-left:6px solid #f9e8f5;
}

.notset{
	color:#AAA;
	font-style:italic;
}
