*,
*::before,
*::after {
	box-sizing: border-box;
}

::placeholder {
  color: var(--input-placeholder-color);
  opacity: 1; /* Firefox */
}

.container {
	max-width: var(--max-main-container-width);
	margin-left: auto;
	margin-right: auto;
	padding: 0 20px;
}

.wrapper-content {
	background-color: var(--default-content-background-color);
	padding: 0px 0 5px 0px;
}


#header h3:first-child {
	margin-top: 0;
	background-color: #EEEEEE;
	text-align: center;
	color: var(--default-text-color);
}

#content {
}

body {
	font-family: var(--default-body-font);
	background-color: var(--default-body-background-color, #FAFAFA);
	height: 100vh;
	margin: 0;
	padding: 0 0px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--default-heading-font);
	font-weight: 600;
	text-transform: uppercase;
}

h1 {
	font-size: 60px;
}

#mainbox h1 {
	font-size: 36px;
	text-align: center;
}

h3 {
	font-size: 32px;
	line-height: 150%;
}

.mainbox {
	padding: 70px 0;
}

.sidemenu-main h3, .sidemenu-side h3, .sidemenu-sticky h3, .equibox h3, .lightbox h3 {
	/*
	background-color: var(--default-heading-background-color);
	color: var(--default-heading-text-color, #000000);
	*/
	border-bottom: 1px solid var(--default-border-color);
	font-size: 22px;
	text-align: left;
	padding: 0;
}

.hero-bg h3 {
	background: transparent;
	color: inherit;
	border: none;
	text-align: left;
}

h1:first-child,h3:first-child, h2:first-child {
	margin-top: 0;
}

h1:last-child,h3:last-child, h2:last-child, *:last-child {
	margin-bottom: 0;
}

div, p {
	font-size: var(--default-body-font-size);
}

p, li {
	line-height: 175%;
}

p {
	margin-bottom: 1.6rem;
}

pre, textarea {
    overflow-x: auto;
    background-color: rgba(245,245,245,0.4);
    border: 6px double rgba(235,245,255,0.8);
    padding: 5px;
    min-width: 0;
    max-width: 100%;
}

.push-right {
	margin-left: auto;
}

.input-group {
	margin-bottom: 10px;
	padding: 4px;
	background-color: var(--input-group-background-color);
}

.input-group p:last-child {
	margin-bottom: 0;
}

.input-group > label {
	background-color: transparent;
	padding: 0;
	font-weight: bold;
	margin-bottom: 5px;
}

.input-group:last-child, .input-group:last-child {
}

label {
	font-size: 14px;
	background-color: var(--label-background-color);
	color: var(--label-text-color);
	padding: 0;
	border-radius: 2px;
	font-weight: bold;
	font-family: Verdana;
	margin: 1px 4px 1px 1px;
	box-shadow: none;
	border: none;
	display: block;
}

input, textarea {
	border: 1px solid var(--input-border-color);
	width: 100%;
	display: block;
	resize: vertical;
	padding: 5px;
	font-family: var(--default-input-font);
	border-radius: 3px;
}

textarea {
	min-height: 200px;
}

.input-group textarea {
	width: CALC(100% - 12px);
	background-color: var(--input-background-color);
	color: var(--input-text-color);
}

input:focus, textarea:focus {
	outline: 1px solid #FAA;
}

.btn {
	display: inline-block;
	border-radius: 2px;
	text-transform: uppercase;
	border: none;
	margin: 0px;
	font-family: var(--default-btn-font-family);
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	text-align: center;
	vertical-align: middle;
	user-select: none;
	background: var(--default-btn-background-color);
	color: var(--default-btn-text-color);
	border: 0px solid var(--default-btn-border-color);
	padding: 4px 10px;
	font-size: 1rem;
	font-weight: var(--default-btn-font-weight);
	cursor: pointer;
	text-decoration: none;
	
	background-size: 20px 20px;
	background-position: center center;
	background-repeat: no-repeat;
}

.btn-sm {
	font-size: 12px;
	padding: 2px 8px;
	font-weight: var(--default-btn-font-weight);
}

.btn.btn-large {
	font-size: 20px;
	font-weight: 700;
	padding: 10px 40px;
}

.btn:hover {
	box-shadow: none;
	background-color: var(--default-btn-background-hover-color);
	color: var(--default-btn-text-hover-color);
	border-color: var(--default-btn-border-hover-color);
}

.btn-block {
	width: 100%;
}

.button-box {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin: 10px 30px;
	background-image: var(--button-box-background);
	padding: 5px;
	gap: 5px;
}

#tool-headerbox .button-box {
	margin-left: 0;
	margin-right: 0;
}

.button-box input {
	width: 90px; height: 20px;
	border: 1px solid rgba(0,0,0,0.4);
}

.active-btn {
	background-color: var(--default-active-button-background-color);
	color: var(--default-active-button-text-color);
	border-color: var(--default-active-button-border-color);
}

.help-btn {
	background-color: var(--default-help-btn-background-color);
	color: var(--default-help-btn-text-color);
	border-color: var(--default-help-btn-border-color);
}


#resultlist {
	min-height: 350px;
}

.input-group {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.outputbox {
	padding: 20px;
}
		
.inputbox {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	flex-direction: row;
	margin-bottom: 10px;
	padding: 20px;
}

.inputbox > div {
	flex: 1 0 300px;
	max-height: 90vh;
	overflow-y: auto;
}

.btn-header-toolbar {
	background-color: transparent;
	width: 24px;
	height: 24px;
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-position: center center;
	border: none;
	display: inline-block;
	cursor: pointer;
}

.input-group > label {
	display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

.input-group > label > img {
	width: 32px;
	height: 32px;
}

.push-right {
	margin-left: auto;
}

.btn-login-status {
	background-color: rgba(0,0,0,0);
	width: 24px;
	height: 24px;
	background-image: var(--btn-login-status-image);
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: center center;
	border: none;
}

.btn-success {
	background-color: #008000;
	color: #FFFFFF;
}

.btn-danger {
	background-color: #FF0000;
	color: #FFFFFF;
}

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

#datatablebox .dtcard-body {
	height: 100%;
}

#tool-headerbox, #tool-databox {
	overflow: hidden;
}

#tool-databox {
	padding: 0;
}

.tool-heading h5 {
	margin-top: 16px; 
	margin-bottom: 10px;
	color: var(--default-text-color);
	border-bottom: 2px solid var(--default-border-color);
	display: inline-block;
}

.tool-heading h3 {
	margin-top:30px; 
	margin-bottom: 30px;
	color: var(--default-text-color);
	text-align: center;
}

.tool-heading p {
	margin-top: 5px; 
	text-align:justify; 
	font-size: 16px;
	color: var(--default-text-color);
}

#tool-controls {
	display: none;
}

#domain-add-box {
	color: var(--default-text-color);
}

.domain-row {
	cursor: pointer;
}

.domain-row:hover {
	text-decoration: underline;
}

::-webkit-scrollbar {
    width: 8px;
	height: 8px;
}

::-webkit-scrollbar-track {
    background-color: var(--scrollbar-background-color);
	border-radius: var(--default-border-radius, 0);
}

::-webkit-scrollbar-thumb {
	background-color: var(--scrollbar-thumb-color);
	border: 1px solid var(--scrollbar-border-color);
	border-radius: var(--default-border-radius, 0);
}

::-webkit-scrollbar-thumb:hover {
	background-color: var(--scrollbar-thumb-hover-color);
}

::-webkit-scrollbar-corner { 
	background-color: var(--scrollbar-corner-color, --body-background-color);
	border-radius: var(--default-border-radius, 0);
}

#popupinformation {
	max-width: MAX(80vw, 640px);
}

#popupinformation .popup-body {
	overflow-y: auto;
}

#popupinformation-data {
	max-height: MAX(70vh, 800px);
	padding-left: 96px;
	background-image: url(../images/logos/light/favicon.png);
	background-repeat: no-repeat;
	background-size: 64px 64px;
	background-position: 4px 0;
}
[data-theme="dark"] {
	#popupinformation-data {
		background-image: url(../images/logos/dark/favicon.png);
	}
}

#add-domain-controls p, #add-domain-controls h5, #add-domain-status {
	color: var(--default-text-color);
}

.button-bar {
	display: flex;
	flex-direction: row;
	column-gap: 10px;
	justify-content: space-between
}

li > .button-bar {
	box-shadow: var(--subtle-box-shadow);
}

li > .button-bar > .bg-btn-icon-24:hover,
li > .button-bar > .bg-btn-icon-20:hover {
	background-color: var(--default-btn-background-hover-color);
	color: var(--default-btn-text-hover-color);
}

.input-button {
    display: flex;
}

.input-button-input {
    flex: 1;
    padding: 1px 3px 1px 5px !important;
	outline-offset: -2px;
	border-radius: 0px 0px 0px 0px;
}

.input-button-input-readonly {
    flex: 1;
    padding: 1px 3px 1px 3px !important;
    border-radius: 0;
}

.input-button-item {
    padding: 1px !important;
    width: 64px;
    height: 2.5rem !important;
    border-radius: 0;
    background-color: var(--default-btn-background-color);
    color: var(--default-btn-text-color);
    box-shadow: none;
	border-radius: 0 0px 0px 0;
}

.input-button-item-text {
    background-image: none;
    background-color: var(--default-btn-background-color);
    color: var(--default-btn-text-color);
    align-items: center;
}


.bg-btn-icon-32 {
	width: 40px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: 32px 32px;
	background-position: center center;
}

.bg-btn-icon-24 {
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	background-position: center center;
}

.bg-btn-icon-20 {
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position: center center;
}

.icon-edit {
	background-image: url(../images/icons/64/light/edit.png);
}

.icon-delete {
	background-image: url(../images/icons/64/light/delete.png);
}

.icon-search {
	background-image: url(../images/icons/64/light/search.png);
}

.icon-search-dbg {
	background-image: url(../images/icons/64/dark/search.png);
}

.icon-toc {
	background-image: url(../images/icons/64/light/toc.png);
}

.icon-bookmark {
	background-image: url(../images/icons/64/light/bookmark.png);
}

.icon-filtered-data {
	background-image: url(../images/icons/64/light/filter.png);
}

.dtcard-header-control {
	background-image: url(../images/icons/64/light/toc.png);
}


[data-theme="dark"] {	
	.icon-edit {
		background-image: url(../images/icons/64/dark/edit.png);
	}

	.icon-delete {
		background-image: url(../images/icons/64/dark/delete.png);
	}
	
	.icon-search {
		background-image: url(../images/icons/64/dark/search.png);
	}
	
	.icon-toc {
		background-image: url(../images/icons/64/dark/toc.png);
	}
	
	.icon-bookmark {
		background-image: url(../images/icons/64/dark/bookmark.png);
	}
	
	.icon-filtered-data {
		background-image: url(../images/icons/64/dark/filter.png);
	}
	.dtcard-header-control {
		background-image: url(../images/icons/64/dark/toc.png);
	}
}



.icon-send {
	background-image: url(../images/icons/64/dark/send.png);
}

.contact-container {
	background-color: #FFFFFF; 
	padding: 20px; 
	color: #000000; 
	border-radius: 4px;
}

.date_has_topic {
	background-color: var(--default-highlight-background-color);
	color: var(--default-highlight-text-color);
}

div.zabuto_calendar .table tr.calendar-month-header td {
    background-color: rgba(0,0,0,0.1);
    font-weight: bold;
    font-size: 20px;
	text-transform: uppercase;
}

.calendar-dow {
}

.day {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.date_has_topic {
	cursor: pointer;
}

.day > span.datepopup {
	position: absolute;
	left: 0px;
	top: 0px;
	cursor: pointer;
	background-image: url(../images/icons/64/light/superscript-star.png);
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: center center;
	width: 30px;
	height: 30px;
}

div.zabuto_calendar .table tr td div.day.today {
	border-radius: 2px;
    border: 1px solid var(--default-text-color);
}

#calendar-box * {
	box-sizing: unset;
}

#ctrtoday-content .catchnote {
	font-weight: 600;
	font-style: italic;
}

#ctrtoday-content h3 {
	background-color: var(--default-heading-background-color);
	color: var(--default-heading-text-color);
	background-image: var(--default-heading-background-image);
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 0;
	margin-bottom: 2px;
}

div.tr_block > div:first-child {
	display: flex;
	flex-direction: row;
	column-gap: 40px;
}

div.tr_block > div:first-child > * {
	margin: 0;
	padding: 0;
	font-family: var(--default-body-font);
}

div.tr_block > div:first-child > p:first-child {
	display: none;
}

div.tr_block > div:first-child > p {
	font-weight: 700;
	border-bottom: 1px solid var(--default-border-color);
}

.tr_block {
}

#ctrtoday-content {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	flex-direction: row;
}

#ctrtoday-content > div {
	flex: 1 1 480px;
	min-width: 480px;
	padding: 20px;
	border: 0px solid var(--default-border-color);
}

.topic-link {
	cursor: pointer;
}

#ctrtoday-links {
	margin-top: 40px;
}

.small-head {
	font-size: 13px;
	margin-top: 0px;
	margin-bottom: 1px;
}

.btn-toggle-dark-mode, .btn-header-toolbar-logout, .btn-header-toolbar-login {
	width: 24px;
	height: 24px;
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: center center;
	cursor: pointer;
}

.btn-toggle-dark-mode:hover, 
.btn-header-toolbar-logout:hover, 
.btn-header-toolbar-login:hover {
	background-color: var(--default-hover-background-color);
	color: var(--default-text-background-color);
}

.btn-header-toolbar-login:hover {
	background-image: url(../images/icons/64/dark/login@64px.png);
}

.btn-header-toolbar-logout:hover {
	background-image: url(../images/icons/64/dark/logout@64px.png);
}

.btn-toggle-dark-mode:hover {
	background-image: url(../images/icons/64/dark/light-mode@64px.png);
}

.btn-header-toolbar-login {
	background-image: var(--btn-login-icon);
}

.btn-header-toolbar-logout {
	background-image: var(--btn-logout-icon);
}

.btn-toggle-dark-mode {
	background-image: var(--light-mode-btn-background-image);
}

[data-theme="dark"] {
	.btn-toggle-dark-mode {
		background-image: var(--dark-mode-btn-background-image);
	}
}

.ctrtoday-heading-toolbar {
	width: 100%;
	height: 24px;
	background-color: transparent;
	display: flex;
	flex-direction: row;
	gap: 10px;
	justify-content: flex-end;
}

.go-to-top-of-page {
	background-image: var(--expand-less-icon);
}

.go-to-bottom-of-page {
	background-image: var(--expand-more-icon);
}

.btn-toolbar-open {
    background-image: var(--open-inside-btn-icon);
}

.btn-toolbar-analyze {
    background-image: var(--analyze-btn-icon);
}

.logged-in-user-name {
	cursor: pointer;
	margin-bottom: 0; 
	margin-top: 0; 
	color: var(--default-text-color); 
	text-align: right; 
	font-weight: bold; 
	margin-right: 8px;
}


.btn-toolbar-back {
	background-image: url(/static/images/icons/64/light/go-back.png);
}

.btn-toolbar-forward {
	background-image: url(/static/images/icons/64/light/go-forward.png);
}

.btn-highlight-prev {
	background-image: url(/static/images/icons/64/light/find-left.png);
	background-color: #FFEAEA;
	width: 24px;
	height: 24px;
}

.btn-highlight-next {
	background-image: url(/static/images/icons/64/light/find-right.png);
	background-color: #FFFFAA;
	width: 24px;
	height: 24px;
	display: none;
}

.btn-toolbar-topic {
	background-image: url(../images/icons/64/light/topic.png);
}

.btn-toolbar-topic.selected-item {
	background-image: url(../images/icons/64/dark/topic.png);
}

.btn-search-history {
	/* background-image: url(/static/images/icons/64/dark/search-history.png); */
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: center center;
	/* width: 36px; */
	height: 24px;
}

[data-theme="dark"] {
	.btn-toolbar-back {
		background-image: url(../images/icons/64/dark/go-back.png);
	}

	.btn-toolbar-forward {
		background-image: url(../images/icons/64/dark/go-forward.png);
	}
	
	.btn-highlight-prev {
		background-color: #606060;
		background-image: url(../images/icons/64/dark/find-left.png);
	}

	.btn-highlight-next {
		background-color: #606060;
		background-image: url(../images/icons/64/dark/find-right.png);
	}
	
	.btn-toolbar-topic {
		background-image: url(../images/icons/64/dark/topic.png);
	}
	
	.btn-search-history {
		background-image: url(/static/images/icons/64/dark/search-history.png);
	}
}

.hide-when-empty:empty {
	display: none;
}

.analysis-in-full {
	box-shadow: var(--subtle-box-shadow);
	padding: 10px;
}

.analysis-in-full ul > li {
	user-select: text;
}

.ss-input {
    width: 100%;
    display: block;
    margin-bottom: 10px;
    padding: 4px;
    font-weight: 600;
}

.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    text-align: right;
    filter: alpha(opacity = 0);
    opacity: 0;
    cursor: inherit;
    display: block;
}

.dblock {
	display: block;
}

.mt-10 {
	margin-top: 10px;
}

.mb-10 {
	margin-bottom: 10px;
}

.mt-20 {
	margin-top: 20px;
}

.mb-20 {
	margin-bottom: 20px;
}

.mx-auto {
	margin-left: auto;
	margin-right: auto;
}

.li-topic-list {
	cursor: pointer;
}

.disabled {
	cursor: default;
	background-color: inherit;
	color: inherit;
	pointer-events: none;
	box-shadow: var(--subtle-box-shadow) !important;
}

.popup-close {
	background-image: url(/static/images/icons/64/dark/close.png);
}

.popup-footer .popup-close {
	background-image: none;
}

.gist {
	background-color: var(--default-gist-background-color);
	color: var(--default-gist-text-color);
}

.highlight, .search-highlight {
	background-color: var(--default-highlight-background-color);
	color: var(--default-highlight-text-color);
}

.search-highlight { 
	border-bottom: 4px double #FF0000;
}

#search-history-items > li {
	display: grid;
	grid-template-columns: 33% auto 80px;
	gap: 10px;
}

.expired_stamp {
	background-color: #7400E9;
	color: #FFFF00;
	padding: 0 5px;
	border-radius: 4px;
	width: 2rem;
}

.red_stamp {
	background-color: #FF0000;
	color: #FFFF00;
	padding: 0 5px;
	border-radius: 4px;
	width: 2rem;
}

.orange_stamp {
	background-color: #FF7523;
	color: #FFFF00;
	padding: 0 5px;
	border-radius: 4px;
	width: 2rem;
}

.light_orange_stamp {
	background-color: #FFCF3F;
	color: #000000;
	padding: 0 5px;
	border-radius: 4px;
	width: 2rem;
}

.green_stamp {
	background-color: #008000;
	color: #FFFF00;
	padding: 0 5px;
	border-radius: 4px;
	width: 2rem;
}

.yellow_stamp {
	background-color: #FFC823;
	color: #000000;
	padding: 0 5px;
	border-radius: 4px;
	width: 2rem;
}

.stamp {
	background-color: #CDFEFE;
	color: #000000;
	padding: 0 5px;
	border-radius: 4px;
	width: 2rem;
}

.active-item {
	background-color: var(--default-row-background-color-active) !important;
	color: var(--default-row-text-color-active) !important;
}


@media screen and (max-width: 860px) {
	.logo-container {
		max-height: 100px !important;
	}
	#topicbox {
		padding: 10px !important;
	}

	.hideable-860 {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.header-container {
		padding: 0 !important;
	}
}

@media (min-width:780px)  { 
	.sidemenu-sticky { padding: 0 4px 0 0; box-shadow: none; max-width: 240px;}
	.sidemenu-side { padding: 0 4px 0 0; box-shadow: none; max-width: 240px;}
	.sidemenu-side > h3:first-child, .sidemenu-sticky > h3:first-child {
		margin-top: 0;
	}
}
.sidemenu-sticky {box-shadow: none;}

@media print {    
	.sidemenu-sticky, .header-container, #topic-toolbar, #wrapper-footer, .btn,
	.navbar-container, #vert-navbar, .tooltip, .sidemenu-side,
	#hsplitter, #vsplitter, #contentsbox, #search-container, #book-contents, #sidemenu-container {
		display: none !important;
	}
	
	#show-me-data {
		display: none;
	}
	
	.sticky-topic-heading {
		display: block !important;
		background: none !important;
	}
	
	#topic-wrapper, .sticky-topic-heading {
		padding: 0 !important;
		border: none !important;
	}
	
	#mainbox, .wrapper-content  {
		display: block;
		width: 100vw;
		padding: 0 !important;
		margin: 0 !important;
		height: auto !important;
	}
	
	#topicbox, #topic-view {
		width: 100vw;
		max-width: 100% !important;
		height: auto !important;
		overflow: visible;
		margin: 0; 
		float: none;
		background: #fff !important;
		color: #000;
		border: none !important;
	}
	
	#topicbox  h3 {
		font-size: 20px;
		background: none !important;
		color: #000000;
		padding-left: 0;
		border: none;
		text-align: left;
	}
	
	#topicbox table {
		margin: 0;
	}
	
	.a-topic {
		padding: 0 !important;
	}
	
	#topicbox  p {
		background: none !important;
		padding: 0 !important;
		line-height: 125%;
	}
	
	*, .sidemenu-main {
		box-shadow: none !important;
	}
}
