html, body {
  overflow-x: hidden; /* Prevent scroll on narrow devices */
}

html {
  height: 100%;
}

html, body {
  margin: 0;
  padding: 0;
}

body {
  position: relative;
  min-height: 100%;
}

h1, h2, h3, h4, h5, h6 {
  color: #3c6e95 !important;
}

h2 {
  font-size: 120%;
}

h3 {
  font-size: 110%;
}

h4 {
  font-size: 105%;
}

h5 {
  font-size: 100%;
}

a {
  text-decoration: none;
}

li.nav-item h1 {
  font-size: 160%;
  color: #fff !important;
  margin: 0;
  padding: 0;
  font-style: italic;
}

.nocollapse .cardtitle:hover {
  text-decoration: none;
}

.tc-content {
  margin-top: 62px;
}

.tp-content {
  margin-top: 5em;
}

pre {
  white-space: pre-wrap;       /* Since CSS 2.1 */
  white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
  white-space: -pre-wrap;      /* Opera 4-6 */
  white-space: -o-pre-wrap;    /* Opera 7 */
  word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

.footerfix {
  height: 4rem;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 2px;
  background-color: #f5f5f5;
  text-align: center;
}

.logo {
  display: block;
  float: left;
  padding-right: 1rem !important;
}

div.clear {
  clear: both;
}

body.tp {
  background-color: #d0ffd0;
}

.form-ui, .form-ui:focus, .form-ui option {
  background-color: #dadada;
}

.modal-lg {
  max-width: 80%;
}

input.required, textarea.required {
  border-color: #007bff;
}

input.recommended {
  border-color: #868e96;
}

input.optional, input.experimental, input.beta, input.obsolete {
}

.btn-main {
  color: #fff;
  background-color: #2548b4;
  border-color: #2548b4;
}

.btn-main:not(.btn-check) + .btn-main:hover, .btn-main:hover {
  color: #fff;
  background-color: #1F3D91;
  border-color: #1C3787;
}

.btn-main:focus, .btn-main.focus {
  color: #fff;
  background-color: #2548b4;
  border-color: #2548b4;
  box-shadow: 0 0 0 3px rgba(37, 72, 180, 0.5);
}

.btn-main.disabled, .btn-main:disabled {
  background-color: #2548b4;
  border-color: #2548b4;
  color: #fff;
}

.btn-main:active, .btn-main.active, .show > .btn-main.dropdown-toggle {
  color: #fff;
  background-color: #2548b4;
  background-image: none;
  border-color: #2548b4;
}

.btn-main:not(:disabled):not(.disabled):active, .btn-main:not(:disabled):not(.disabled).active,
.show > .btn-main.dropdown-toggle {
  color: #fff;
  background-color: #2548b4;
  border-color: #2548b4;
}

.btn-main:not(:disabled):not(.disabled):active:focus, .btn-main:not(:disabled):not(.disabled).active:focus,
.show > .btn-main.dropdown-toggle:focus {
  color: #fff;
  background-color: #2548b4;
  border-color: #2548b4;
  box-shadow: 0 0 0 0.2rem rgba(37, 72, 180, 0.5); /* 72, 180, 97 #488461 */
}

.navbar-brand {
  background-color: #2548b4;
  background-image: url('../images/saltire.svg');
  font-style: italic;
  font-variant: small-caps;
}

.custom-control-input ~ .custom-control-indicator {
  background-color: #fff;
  border: 1px solid #000;
}

.custom-control-input:checked.override ~ .custom-control-indicator {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23007bff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}

.custom-control-input.override ~ .custom-control-indicator {
  background-color: #e9ecef;
}

.custom-control-input.override ~ .custom-control-description {
  color: #868e96;
}

.optional {
  background-color: #f5f5f5;
}

.extension {
  background-color: #ddffdd;
}

.extension:disabled {
  background-color: #c0c0c0;
}

.subextension {
  background-color: #ddffdd;
}

.beta {
  background-color: #ffe4e1;
}

.experimental {
  background-color: #fff2db;
}

.experimental:disabled {
  background-color: #c0c0c0;
}

.obsolete {
  background-color: #ffc1f8;
}

.info {
  background-color: #f5fafa;
}

@media screen and (max-width: 767px) {
  .row-offcanvas {
    position: relative;
    -webkit-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
  }

  .row-offcanvas-left {
    left: 0;
  }

  .row-offcanvas-left .sidebar-offcanvas {
    left: -100%; /* 12 columns */
  }

  .row-offcanvas-left.active .sidebar-offcanvas {
    left: -50%; /* 6 columns */
  }

  .row-offcanvas-left.active {
    left: 50%; /* 6 columns */
  }

  .sidebar-offcanvas {
    position: absolute;
    top: 0;
    width: 50%; /* 6 columns */
  }
}

.dropdown-submenu{
  position: relative;
}
.dropdown-submenu a::after{
  transform: rotate(-90deg);
  position: absolute;
  right: 3px;
  top: 40%;
}
.dropdown-submenu:hover .dropdown-menu, .dropdown-submenu:focus .dropdown-menu{
  display: flex;
  flex-direction: column;
  position: absolute !important;
  margin-top: -30px;
  left: 100%;
}
@media (max-width: 992px) {
  .dropdown-menu{
    width: 50%;
  }
  .dropdown-menu .dropdown-submenu{
    width: auto;
  }
}
