* {
  margin: 0;
  padding: 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#wrap {
  width:1024px;
  margin:0 auto;
  background:#fff;
  -webkit-box-shadow: 0px 0px 10px 0px gray;
  box-shadow: 0px 0px 10px 0px gray;
  display:block;
	padding-bottom:45px;
}

#banner{
  text-align:center;
  padding-top:45px;
}
#motto {
  text-align: center;
  letter-spacing: 4px;
  font-size: 14px;
  font-family: "Helvetica Neue", "Helvetica", "Liberation Sans", Arial, sans-serif;
  color: #666;
  margin-top: 10px;
  margin-bottom: 45px;
}
#navigation {
	font-size: 15px;
  font-weight: 200;
  text-align:center;
  color:#666;
  clear: both;
  position: relative;
  z-index: 10;
  padding: 15px 0 15px 0;
}
#navigation a:hover {
  color:black;
}

a {
  text-decoration:none;
  color:#666;
}
html {
	overflow-y:scroll;
}
html, body {
  height:100%;
	line-height:150%;
	font-family: "Helvetica Neue", "Helvetica", "Liberation Sans", Arial, sans-serif;
  background-attachment: fixed !important;
  background: #f8f8f8; /* Old browsers */
  background: -moz-linear-gradient(top,  #f8f8f8 52%, #cccccc 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(52%,#f8f8f8), color-stop(100%,#cccccc)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  #f8f8f8 52%,#cccccc 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  #f8f8f8 52%,#cccccc 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  #f8f8f8 52%,#cccccc 100%); /* IE10+ */
  background: linear-gradient(to bottom,  #f8f8f8 52%,#cccccc 100%); /* W3C */
/*  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#ccccccc',GradientType=0 ); IE6-9 */
}


form input[type="text"] {
  padding:3px;
  width:3em;
  text-align:right;
}

.contents {
  position:relative;
  margin-left: 80px;
	margin-right: 80px;
	overflow-x: auto;
  max-width:900px;
  clear:both;
  margin-bottom:30px;
	margin-top:-30px;
}
#title {
  padding-left:10px;
	font-size:11pt;
}
#inputContents input {
  color:#666;
  text-align:left;
	width:864px;
	height:31px;
	border: 1px solid #ccc;
  border-bottom:0px;
	background:#f8f8f8;
}
#inputPane {
    overflow-x: hidden;
}
#inputContents input:hover {
  color:black;
}
#editor-wrapper {
  border: 1px solid #bbb;
  padding: 8px 0px 0px 5px;
}

#editor {
	font-size:12pt;
  font-family: 'Menlo', 'Monaco', 'Andale mono', 'Source Code Pro', monospace;
  max-width:100%;
  min-width:100%;
  min-height:100px;
  height:350px;
	position:relative;
  resize: vertical;
}
#editor.flash {
  background-color:#ededed;
}
#inputZone, #outputZone {
  background:#fff;
  overflow:auto;
  border:0px;
}
form #geoContents label {
  color:#222;
  float: left;
  width: 325px;
  text-align: right;
  margin-right: 0.5em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
}
#paramContents input, #geoContents input {
  border:1px solid #bbb;
  border-radius: 6px;
  margin-bottom:2px;
}

#conversions, #knowledge {
  list-style-type:none;
  float:left;
  color:#222;
}

fieldset {
  border:1px solid #bbb;
  margin:5px;
  padding: 1em;
  float:left;
  min-width: 0;
}
fieldset.listing {
  float:none;
}

fieldset.listing legend {
  padding: 0.2em 0.5em;
  background: #fff;
  text-align:left;
  cursor:pointer;
}
code {
  display: block;
  white-space: pre
}
.circled {
  display: inline-block;
  width: 1.2em;
  line-height: 1.2em;
  border-radius: 50%;
  text-align: center;
  color: #fff;
  background-color: #666;
  padding-left: 0.1em;
  padding-bottom: 0.1em;
  height: 1.2em;
}
#errorTab {
  color: red;
}
#errorOutput {
  font-family: menlo, consolas, 'DejaVu Sans Mono', monospace;
	color: #00ff00;
	background: black;
	font-size: 12pt;
	padding: 10px;
}
#diagramOutputSupplement {
	padding-top: 10px;
  color:#222;
}
#convertOutput {
  min-height: 135px;
}
#convertOutput pre {
  font-family: menlo, consolas, 'DejaVu Sans Mono', monospace;
  font-size: 9pt;
  line-height: 1.4em;
  overflow-x: auto;
  overflow-y: hidden;
}
.line {
	display: block;
	height:38px;
  border-bottom:solid 1px #ccc; /* ligne continue sur toute la largeur */
}
.info-symbol {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
}
ul.tabs {
	display: block;
	position:relative;
	top:-35px;
	font-size:15px;
	font-weight:bold;
}
ul.tabs .first_tab {
	margin-left:75px;
}
ul.tabs li {
	display: inline;
	margin-left:5px;
}
ul.tabs li a {
	-webkit-border-radius: 6px 6px 0px 0px;
	-moz-border-radius: 6px 6px 0px 0px;
	border-radius: 6px 6px 0px 0px;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	padding: 5px 20px;
  line-height:40px;
	background: #f8f8f8;
}
@-moz-document url-prefix() { 
  ul.tabs li a {
    position: relative;
    bottom: 1px;
  }
}
@media screen and (max-device-width: 480px){
    ul.tabs li a {
        position: relative;
        bottom: 12px;
    }
}

ul.tabs li a.active {
	background: #fff;
  border-bottom:3px solid #fff; /* on the continuous line */
}
ul.tabs a:hover {
  color:black;
}

#aboutContents, #paramContents {
  padding: 20px;
}

#geoContents, #paramContents, #aboutContents {
  display: none;
  overflow-y: auto;
  border: 1px solid #ccc;
}
#geoTab, #errorTab, #downloadButton {
  display: none;
}
.never_refreshed {
	padding-top:40px;
	padding-bottom:20px;
}

#aboutContents body {
    line-height: 1.5em;
    padding: 0 1.9em;
}
#aboutContents pre {
    font-family: "Source Code Pro", monospace;
		font-size: 10pt;
		font-weight: 600;
    margin: 0;
    padding: 1em 1em;
    background-color: #222;
    color: greenyellow;
    height: "4em";
    border-radius: 5px;
}
#aboutContents ul {
  list-style-type:square;
  margin: 1em 0 1em 2em;
}
#aboutContents i {
  font-style: italic;
}
#tutorial {
  position: absolute;
  top: 6px;
  right: 6px;
  padding: 0 10px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
  cursor: pointer;
}

#tutorial::after {
  margin-left: 5px;
}


.buttons {
  margin-top: 32px;
  margin-left: 8px;
  width: 64px;
  position:absolute;
  text-align: center;
}

.customButton {
  display: inline-block;
  width: 48px;
  height: 48px;
  background-size:cover;
  background-position:50% 50%;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  border: none;
  outline: none;
  transition: transform 0.2s ease-in-out;
  margin-bottom: 5px;
}

.customButton:hover {
  transform: scale(1.4);
}

.inlineIcon {
  height: 1.5em;
  vertical-align: bottom;
  transition: transform 0.2s ease-in-out;
}
.inlineIcon:hover {
  transform: scale(1.4);
}

.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .tooltiptext {
  visibility: hidden;
  background-color: #666;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  text-align:center;
  border-radius: 6px;
  padding: 0px 8px;
  position: absolute;
  z-index: 50;
  top: 50%;
  right: calc(100% + 10px);
  white-space: nowrap;
  opacity: 0;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
  transform: translateY(-50%);
}

.button-with-popup {
  position: relative;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.popup-menu {
  position: absolute;
  top: calc(50% - 52px);
  left: 80px;
  z-index: 50;
  display: none;
}

.popup-item {
  display: block;
  background-color: #666;
  color: #fff;
  border-radius: 6px;
  border: 0px;
  padding: 0px 5px;
  margin-bottom: 4px;
  box-shadow: 1px 1px 1px 1px rgba(255,255,255,0.7);
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  text-align: left;
  width:max-content;
}

.popup-close {
  border-radius: 50%;
  width: 24px;
  height: 24px;
  text-align: center;
}

.popup-item:hover {
  background-color: #FF931E;
  transition: transform 0.1s;
  transform: scale(1.1);
  transform-origin: left;
}

.popup-close:hover {
  background-color: #DF3633;
}

.mld .relation { font-variant: small-caps; font-weight: bold }
.mld .primary { text-decoration: underline }
.mld .foreign { font-style: oblique }
.mld strong { font-weight: bold }
.mld i { font-style: italic }
.mld ul { list-style-type:square; margin: 0 0 1em 2em }
.mld sup { vertical-align: super; font-size: smaller;}

#rotatingButton {
  position: relative;
  top: 0;
  left: 0;
}

#empty {
  position: relative;
  top: 0;
  left: 0;
}

#refreshRotatingButton {
  position: absolute;
  top: 1px;
  left: 10px;
  width: 45px;
  height: 45px;
  animation: rotation 0.4s infinite linear;
}
@keyframes rotation {
  from {transform: rotate(359deg);}
  to {transform: rotate(0deg);}
}

:root.flashlight:before {
  content: '';
  width: 100%;
  height: 100%;
  position: fixed;
  background: radial-gradient(
      circle 16rem at var(--cursorXPos) var(--cursorYPos),
      rgba(0, 0, 50, 0) 0%,
      rgba(0, 0, 0, 0.95) 100%
  ), #FFFF0020;
  z-index: 11;
}
@keyframes pulse {
  0% {
   transform: scale(0.9, 0.9);
  }
  50% {
   transform: scale(1.3, 1.3);
  }
  100% {
  transform: scale(0.9, 0.9);
  }
}
.pulsating {
  animation: pulse 1s linear infinite;
}

.settings-pane {
  display: grid;
  grid-template-columns: 0.5fr 1fr;
  gap: 0.3ex 0.8em; /* Vertical and horizontal gap */
}

.setting-row {
  display: contents; /* Makes .setting-row transparent to the grid */
  color:#222;
}

.setting-label {
  grid-column: 1; /* Position in the first column */
  text-align: right;
  padding-right: 10px; /* A little spacing between the label and the control */
}

.setting-controls {
  grid-column: 2; /* Position in the second column */
  list-style-type: none; /* Removes bullets from the list */
  padding: 0; /* Removes default padding from the list */
  margin: 0; /* Removes default margin from the list */
}

.setting-controls li {
  display: flex; /* Makes sure checkbox and its label are side by side */
  align-items: center; /* Vertically centers checkbox with its label */
}

.setting-control {
  margin-right: 10px; /* Adds some space between a checkbox and its label */
}
.setting-details {
  width: 100%;
  box-sizing: border-box;
}

.setting-details summary {
  cursor: pointer; /* Makes it clear that this is clickable */
  color: #666;
}
.footnote {
  margin-top: 50px;
}

.footnote p {
  font-size: 11px;
  color: #666;
  line-height:normal;
}

.footnote p a {
  color: black;
}

#paramContents input[type="url"] {
  width: 100%;
  height: 2em;
  border: 1px solid #CCC;
  border-radius: 0px;
  padding: 0px 0.5em 0px 0.5em;
}
