/*
// ==============================================================
// Xdebug Cloud
// Design & CSS/Sass build by Simon Collison, colly.com
// ==============================================================
*/
* {
  box-sizing: border-box;
}

body {
  background: #FFFFFF url("/assets/images/gradient.svg") no-repeat fixed -1050px -40px;
  border-top: 10px solid #416836;
  color: #1B1B1B;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "IBM Plex Sans", sans-serif;
  font-size: 0.95em;
  font-style: normal;
  margin: 0 auto;
  padding: 20px;
}
@media (min-width: 730px) {
  body {
    background: #FFFFFF url("/assets/images/gradient.svg") no-repeat fixed center -20px;
  }
}

h1, h2, h3, h4, h5 {
  clear: both;
  font-weight: 500;
}

h1 {
  background: #416836;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  box-shadow: 0 0 10px 2px rgba(7, 85, 123, 0.15);
  color: #FFFFFF;
  font-size: 1.5em;
  font-weight: 400;
  margin: 0 auto;
  max-width: 1100px;
  padding: 12px 24px;
}
@media (min-width: 730px) {
  h1 {
    font-size: 2em;
    padding: 12px 54px;
  }
}

h2 {
  line-height: 140%;
  margin: 50px 0 30px 0;
}

p {
  line-height: 150%;
  max-width: 650px;
}

a {
  color: #416836;
  font-weight: 600;
}

a:hover {
  color: #1B1B1B;
}

a.emoji {
  text-decoration: none;
}

pre {
  overflow: auto;
}

code {
  background: #EEEEEE;
  font-family: "SF Mono", "IBM Plex Mono", monospace;
  margin: 0;
  padding: 4px 8px;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

@media (min-width: 991px) {
  .constrain {
    width: 80%;
  }
}

.video {
  position: relative;
  padding-top: 25px;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0;
  margin: 20px 0 40px 0;
}

.video iframe {
  border-radius: 5px;
  border: 2px solid #9FC596;
  margin: 10px 0;
  padding: 5px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

div.packages {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 25px;
}

div.package {
  width: 300px;
}

div.package dt {
  width: 100px;
}

@media (min-width: 991px) {
  div.package dd {
    margin: 0 0 0 100px;
  }
}

span.price {
  font-size: 1.5em;
}

div.package dd {
  text-align: right;
}

ol {
  list-style: none;
  counter-reset: yim-counter;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  max-width: 650px;
}

ol li {
  counter-increment: yim-counter;
  display: block;
  flex-grow: 0;
  flex-basis: auto;
  margin: 0;
  padding: 0 0 0 46px;
  position: relative;
  width: 100%;
}

ol li::before {
  content: counter(yim-counter);
  background: #9FC596;
  color: #FFFFFF;
  border-radius: 50%;
  display: block;
  font-size: 1em;
  font-weight: bold;
  left: 0;
  line-height: 1.1em;
  padding: 8px;
  position: absolute;
  text-align: center;
  top: 10px;
  width: 1.1em;
  z-index: 1;
}

pre.example {
  padding: 20px;
  background-color: black;
  margin-bottom: 50px;
  width: 125%;
}

div#docs img {
  margin: 2em 0;
}

/*
// Policy needs slightly different headings to look good
// ==============================================================
*/
#policy h2 {
  margin: 40px 0 30px 0;
}

#policy h2:first-of-type {
  margin: 0 0 30px 0;
}

#policy h3 {
  font-size: 1.3em;
  margin: 30px 0;
}

#policy h4 {
  font-size: 1.1em;
  margin: 30px 0 20px 0;
}

/*
// Header
// ==============================================================
*/
#header {
  margin: 0 auto;
  max-width: 1100px;
}

.logo {
  background: url("/assets/images/logo.svg") no-repeat;
  background-size: 100%;
  margin: 0 0 20px 0;
  width: 160px;
  height: 90px;
  text-indent: -9999px;
}
@media (min-width: 991px) {
  .logo {
    float: left;
    width: 230px;
    height: 128px;
    margin: 0 0 30px 0;
  }
}

/*
// Main user menu
// ==============================================================
*/
ul#menu {
  font-size: 0;
  list-style-type: none;
  margin: 20px 0 30px 0;
  padding: 0;
}
@media (min-width: 991px) {
  ul#menu {
    float: right;
    margin: 60px 0 0;
    max-width: 70%;
  }
}

ul#menu li {
  font-size: 13px;
  padding: 0;
}
@media (min-width: 991px) {
  ul#menu li {
    display: inline;
    font-size: 16px;
  }
}

ul#menu li a {
  background: #416836;
  border-bottom: 1px solid #7B9C73;
  color: #FFFFFF;
  display: block;
  font-weight: 600;
  margin: 0;
  padding: 9px 12px;
  text-decoration: none;
  text-transform: capitalize;
}
@media (min-width: 991px) {
  ul#menu li a {
    border-bottom: 0;
    border-right: 1px solid #7B9C73;
    display: inline;
    padding: 12px 16px;
  }
}

ul#menu li a:hover {
  background: #2E4B26;
}

.register ul#menu li a.menu-register, .login ul#menu li a.menu-login, .home ul#menu li a.menu-home, .profile ul#menu li a.menu-profile, .tokens ul#menu li a.menu-tokens, .messages ul#menu li a.menu-messages, .signup ul#menu li a.menu-signup {
  background: #2E4B26;
}

ul#menu li:first-child a {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
@media (min-width: 991px) {
  ul#menu li:first-child a {
    border-bottom-left-radius: 6px;
    border-top-right-radius: 0px;
  }
}

ul#menu li:last-child a {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}
@media (min-width: 991px) {
  ul#menu li:last-child a {
    border-bottom: 0;
    border-bottom-left-radius: 0px;
    border-top-right-radius: 6px;
  }
}

ul#menu li a.menu-messages span.message_count {
  border-radius: 0.8em;
  background: #2E4B26;
  color: #FFFFFF;
  display: inline-block;
  font-weight: bold;
  line-height: 1.6em;
  margin: 0 0 0 5px;
  text-align: center;
  width: 1.6em;
}

ul#menu li a.menu-messages:hover span.message_count, .messages ul#menu li a.menu-messages span.message_count {
  background: #1B1B1B;
}

/*
// Admin menu
// ==============================================================
*/
ul#menu-admin {
  border-radius: 5px;
  background: rgba(159, 197, 150, 0.3);
  font-size: 0;
  list-style-type: none;
  margin: 0 0 60px 0;
  padding: 0;
  width: 100%;
}
@media (min-width: 991px) {
  ul#menu-admin {
    padding: 12px 0;
  }
}

ul#menu-admin li {
  font-size: 16px;
  padding: 0;
}
@media (min-width: 991px) {
  ul#menu-admin li {
    display: inline-block;
  }
}

ul#menu-admin li a {
  border-bottom: 1px solid #FFFFFF;
  color: #416836;
  display: block;
  font-weight: 600;
  margin: 0;
  padding: 9px 12px;
  text-decoration: none;
  text-transform: capitalize;
}
@media (min-width: 991px) {
  ul#menu-admin li a {
    border-bottom: 0;
    border-right: 1px solid #FFFFFF;
    display: inline;
    padding: 12px 16px;
  }
}

ul#menu-admin li a:hover {
  background: rgba(159, 197, 150, 0.4);
}

.admin-home ul#menu-admin li a.menu-admin-home, .admin-action ul#menu-admin li a.menu-admin-action, .admin-auth ul#menu-admin li a.menu-admin-auth, .admin-error ul#menu-admin li a.menu-admin-error, .admin-users ul#menu-admin li a.menu-admin-users, .admin-user ul#menu-admin li a.menu-admin-user, .admin-send ul#menu-admin li a.menu-admin-send {
  background: rgba(159, 197, 150, 0.8);
  color: #FFFFFF;
}

ul#menu-admin li:first-child a {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
@media (min-width: 991px) {
  ul#menu-admin li:first-child a {
    border-bottom-left-radius: 6px;
    border-top-right-radius: 0px;
  }
}

ul#menu-admin li:last-child a {
  border-right: 0px;
}

/*
// Layout
// ==============================================================
*/
#title {
  clear: both;
}

#content {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  background: #FFFFFF;
  box-shadow: 0 0 10px 2px rgba(153, 153, 153, 0.1);
  margin: 0 auto;
  max-width: 1100px;
  padding: 24px;
}
#content:after {
  content: "";
  display: table;
  clear: both;
}
@media (min-width: 730px) {
  #content {
    padding: 54px;
  }
}

#news p {
  text-align: justify;
}

#news div.news-date p {
  text-align: right;
  margin: 0 0 50px 0;
  color: #416836;
}

#news div.news-author p {
  text-align: right;
  margin: 50px 0 0 0;
  color: #416836;
}

/*
// Notifications / Messages
// ==============================================================
*/
.notification {
  border-radius: 5px;
  border: 2px solid #7B9C73;
  margin: 0 0 20px 0;
}

.notification .envelope {
  background: rgba(159, 197, 150, 0.3);
  border-bottom: 2px solid #7B9C73;
  font-weight: 700;
  padding: 15px;
}

.notification .time {
  color: #416836;
  font-size: 0.9em;
  padding: 5px 0 0 0;
}

.notification .subject {
  font-size: 1.1em;
  font-weight: 600;
}

.notification .message {
  line-height: 135%;
  max-width: 650px;
  padding: 15px 15px 15px 15px;
  white-space: pre-wrap;
}

/*
// Tokens
// ==============================================================
*/
div.tokens {
  margin-bottom: 50px;
}

ul.tokens {
  border-radius: 5px;
  border: 2px solid #7B9C73;
  list-style: none;
  margin: 0 0 20px 0;
  padding: 12px 10px;
}

ul.tokens li {
  clear: both;
  font-family: "SF Mono", "IBM Plex Mono", monospace;
  margin: 0 0 2px 0;
  padding: 15px 10px;
}
@media (min-width: 991px) {
  ul.tokens li {
    padding: 20px;
    position: relative;
  }
}

ul.tokens li.token-connected {
  font-weight: bold;
}

ul.tokens li:nth-child(odd) {
  background-color: rgba(238, 238, 238, 0.7);
}

ul.tokens li:nth-child(even) {
  background-color: rgba(225, 225, 225, 0.8);
}

ul.tokens li:hover {
  background-color: #e5f6d5;
}

ul.tokens li form div input[type=submit] {
  background: #7B9C73;
  font-size: 1em;
  margin: 10px 0 0;
  padding: 8px 12px;
}
@media (min-width: 991px) {
  ul.tokens li form div input[type=submit] {
    margin: 8px 8px;
  }
}

ul.tokens li form div input[type=submit]:hover {
  background: #416836;
}

div.token-actions {
  display: flex;
  flex-flow: column;
  align-items: baseline;
}
@media (min-width: 991px) {
  div.token-actions {
    flex-flow: row;
  }
}

div.token-actions div.token-nick {
  margin: 8px 0px;
  width: 100%;
}
@media (min-width: 991px) {
  div.token-actions div.token-nick {
    flex-grow: 10;
    margin: 8px 20px;
  }
}

/*
// Sessions
// ==============================================================
*/
div.session-container {
  max-height: 10em;
  overflow: hidden;
  overflow-y: auto;
  margin-top: 15px;
}

#no_sessions {
  margin: 0 0 20px 0;
}

#sessions .date {
  font-weight: 700;
  margin: 0 0 20px 0;
}

ul.session {
  border-radius: 5px;
  border: 2px solid #7B9C73;
  list-style-type: none;
  margin-bottom: 20px;
  padding: 0;
}

ul.session li {
  background: rgba(159, 197, 150, 0.3);
  color: #416836;
  font-weight: 700;
  padding: 5px;
}

ul.session li ul {
  list-style: disc;
  list-style-position: inside;
  background: #FFFFFF;
  margin: 0px -10px;
  padding: 10px 15px;
  transform: rotate(180deg);
}

ul.session li div.session-header {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

ul.session li ul li {
  background: white;
  color: #1B1B1B;
  font-weight: 400;
  padding: 8px 0;
  transform: rotate(180deg);
}

span.session_count {
  border-radius: 0.8em;
  background: #2E4B26;
  color: #FFFFFF;
  display: inline-block;
  font-weight: bold;
  line-height: 1.6em;
  margin: 0 0 0 5px;
  text-align: center;
  min-width: 1.6em;
  padding-left: 0.2em;
  padding-right: 0.2em;
}

/*
// Definition lists
// ==============================================================
*/
dl {
  border-radius: 5px;
  background: rgba(159, 197, 150, 0.3);
  border: 2px solid #7B9C73;
}

dl.day-content {
  margin: 0.1em;
}

dt {
  color: #416836;
  font-weight: 700;
  margin: 0;
  padding: 15px 10px 10px;
  width: auto;
}
@media (min-width: 991px) {
  dt {
    border-top: 1px solid rgba(153, 153, 153, 0.3);
    float: left;
    padding: 15px 15px 0 15px;
    width: 180px;
  }
}

@media (min-width: 991px) {
  div.day dl dd {
    margin: 0 0 0 80px;
  }
}

@media (min-width: 991px) {
  div.day dl dt {
    width: 100px;
  }
}

dt:first-of-type {
  border-top: 0px;
}

dd {
  background: #FFFFFF;
  margin: 0;
  padding: 15px 10px 15px;
}
@media (min-width: 991px) {
  dd {
    border-top: 1px solid rgba(153, 153, 153, 0.3);
    border-left: 1px solid rgba(153, 153, 153, 0.3);
    margin: 0 0 0 180px;
    padding: 15px;
  }
}

dd:first-of-type {
  border-top: 0px;
}
@media (min-width: 991px) {
  dd:first-of-type {
    border-top-right-radius: 5px;
  }
}

dd:last-of-type {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  border-top: 0px;
}
@media (min-width: 991px) {
  dd:last-of-type {
    border-top: 1px solid rgba(153, 153, 153, 0.3);
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 5px;
  }
}

dd:after {
  content: "";
  display: block;
  clear: both;
}

dl a {
  font-weight: 600;
}

dl#profile, dl#subscription {
  clear: left;
  margin: 0 0 20px 0;
}
@media (min-width: 991px) {
  dl#profile, dl#subscription {
    float: left;
    margin: 0 4% 40px 0;
    width: 48%;
  }
}

dl#invoice, dl#timeline {
  margin: 0 0 20px 0;
}
@media (min-width: 991px) {
  dl#invoice, dl#timeline {
    float: right;
    width: 48%;
  }
}

dl#invoice dd, dl#timeline dd {
  text-align: right;
}

dl#invoice dt.important, dl#invoice dd.important {
  font-weight: bold;
}

.inline-invoice {
  margin: 24px 100px;
}

.inline-invoice dl#invoice {
  float: none;
  width: 100%;
}

.subscribe-small-print {
  clear: both;
  margin: 24px 0;
  padding-top: 24px;
}

/*
// Tables
// ==============================================================
*/
#action-log, #user-log, #error-log, #users, #tasks {
  overflow: auto;
  width: 100%;
}
table {
  border-radius: 5px;
  border: 2px solid #7B9C73;
  width: 100%;
}
@media (min-width: 991px) {
  table {
    padding: 0 10px 10px;
  }
}

th {
  background: #FFFFFF;
  padding: 16px 20px;
  text-align: left;
}

tr:nth-child(odd), #error-log tr {
  background-color: rgba(238, 238, 238, 0.7);
}

tr:nth-child(even) {
  background-color: rgba(225, 225, 225, 0.8);
}

#error-log tr:nth-child(4n-2), #error-log tr:nth-child(4n-1) {
  background-color: rgba(225, 225, 225, 0.8);
}

tr:nth-child(odd):hover, #error-log tr:hover {
  background-color: #e5f6d5;
}

tr:nth-child(even):hover, #error-log tr:nth-child(4n-2):hover, #error-log tr:nth-child(4n-1):hover {
  background-color: #e5f6d5;
}

#error-log tr.error td {
  border-bottom: 0px;
  color: #416836;
  padding-bottom: 20px;
}

td {
  border-bottom: 10px solid #FFFFFF;
  padding: 14px 20px;
  vertical-align: top;
}

td a {
  display: inline-block;
  font-weight: 600;
  padding: 0 0 5px 0;
}

td span.user-status, td span.task-status, td span.subscription-status, dd span.subscription-status {
  border-radius: 5px;
  color: #FFFFFF;
  display: inline-block;
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.3px;
  min-width: 96px;
  padding: 4px 10px;
  text-align: center;
  text-transform: uppercase;
}

td.user-active span, td.task-handled span, td.subscription-active span, dd.subscription-active span {
  background: #A5D471;
}

td.user-inactive span, td.task-unhandled span, td.subscription-trial-period span, td.subscription-expired span, dd.subscription-trial-period span, dd.subscription-expired span, td.task-bot span {
  background: #999999;
}

td.user-expired span,
td.subscription-payment-overdue span, td.subscription-pending-payment span, td.subscription-cancelled span,
dd.subscription-payment-overdue span, dd.subscription-pending-payment span, dd.subscription-cancelled span,
td.task-overdue span {
  background: #FF5E5D;
}

td.trial-cancelled {
  text-decoration: line-through;
}

td.uid small {
  font-family: "SF Mono", "IBM Plex Mono", monospace;
}

/*
// Form elements
// ==============================================================
*/
form div {
  border-bottom: 1px solid rgba(153, 153, 153, 0.5);
  margin: 0 0 20px 0;
  padding: 0 0 25px 0;
}

form.one-line div {
  border-bottom: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

form.one-line div.token-nick input[type=text] {
  width: 100%;
}
@media (min-width: 991px) {
  form.one-line div.token-nick input[type=text] {
    width: 200px;
  }
}

form div:last-of-type {
  border-bottom: 0px;
}

form label {
  display: inline-block;
  font-weight: 700;
  padding: 10px 0;
  vertical-align: top;
  width: 150px;
}

form .hint {
  color: #999999;
  display: block;
  margin: 0;
  padding: 15px 0 0;
  width: 100%;
}
@media (min-width: 991px) {
  form .hint {
    margin: 0 0 0 150px;
    width: 400px;
  }
}

form .hint .required {
  color: #416836;
  font-weight: 700;
}

div.subscription-actions {
  margin-top: 20px;
  display: flex;
  flex-flow: row wrap;
  gap: 20px;
}

input[type=text], input[type=email], input[type=password], input[type=number], textarea, select {
  border-radius: 5px;
  border: 2px solid #7B9C73;
  font-size: 1.1em;
  padding: 8px;
  width: 100%;
}
@media (min-width: 991px) {
  input[type=text], input[type=email], input[type=password], input[type=number], textarea, select {
    width: 400px;
  }
}

input[type=number] {
  width: 100px;
}

input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, input[type=number]:focus, textarea:focus, select:focus {
  outline: none !important;
  border: 2px solid #416836;
}

input[type=submit] {
  border-radius: 5px;
  background: #416836;
  border: 0;
  color: #FFFFFF;
  font-size: 1.1em;
  font-weight: 600;
  padding: 10px 15px;
  text-transform: capitalize;
}

input[type=submit]:hover {
  background: #2E4B26;
}

input[type=submit].cancel-subscription, input[type=submit].auto-renew-off {
  background: #FF5E5D;
}

input[type=submit].cancel-subscription:hover, input[type=submit].auto-renew-off:hover {
  background: #FEC2C1;
}

textarea {
  height: 10em;
}

form dl input[type=text], form dl input[type=email], form dl input[type=password], form dl input[type=number] {
  margin: 0 0 6px 0;
  width: 100%;
}

#message.happy_message {
  border-radius: 5px;
  background: #7B9C73;
  color: #FFFFFF;
  font-weight: 600;
  margin: 0 0 50px 0;
  padding: 3px 20px;
}

#message.message, span.hint_error {
  border-radius: 5px;
  background: #FF5E5D;
  color: #FFFFFF;
  font-weight: 600;
  margin: 0 0 50px 0;
  padding: 3px 20px;
}

span.hint_error {
  margin: 5px 0 0 156px;
  width: 395px;
  padding: 3px 5px 3px 5px;
}

/*
// Mailchimp signup (similar but not the same as other form styles, so kept separate in case they need to be changed or removed)
// ==============================================================
*/
#mc_embed_signup {
  margin: 20px 0 0;
  padding: 0;
  text-align: left;
}

#mc_embed_signup form#mc-embedded-subscribe-form {
  margin: 0;
  padding: 0;
  text-align: left;
}

#mc_embed_signup form#mc-embedded-subscribe-form div {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 15px;
}

#mc_embed_signup #mc-embedded-subscribe-form #mc_embed_signup_scroll label {
  display: block;
  font-weight: 700;
  padding: 8px 0 15px 0;
  text-align: left;
  width: 200px;
}

#mc_embed_signup #mc-embedded-subscribe-form #mc_embed_signup_scroll input[type=email]#mce-EMAIL {
  border-radius: 5px;
  border: 2px solid #7B9C73;
  font-size: 1.1em;
  height: auto;
  padding: 8px !important;
  width: 100%;
}
@media (min-width: 991px) {
  #mc_embed_signup #mc-embedded-subscribe-form #mc_embed_signup_scroll input[type=email]#mce-EMAIL {
    width: 400px;
  }
}

#mc_embed_signup #mc-embedded-subscribe-form #mc_embed_signup_scroll input[type=email]#mce-EMAIL:focus {
  outline: none !important;
  border: 2px solid #416836;
}

#mc_embed_signup #mc-embedded-subscribe-form #mc_embed_signup_scroll input[type=submit] {
  border-radius: 5px;
  background: #416836;
  border: 0;
  color: #FFFFFF;
  font-size: 1.1em;
  font-weight: 600;
  height: auto;
  max-width: 180px;
  padding: 3px 15px;
  text-transform: capitalize;
}

#mc_embed_signup #mc-embedded-subscribe-form #mc_embed_signup_scroll input[type=submit]:hover {
  background: #2E4B26;
}

/*
// Footer
// ==============================================================
*/
#footer {
  margin: 40px auto 30px auto;
  max-width: 1100px;
  padding: 0 20px;
}
@media (min-width: 991px) {
  #footer {
    margin: 50px auto 70px auto;
    padding: 0 54px;
  }
}

ul.imprint {
  list-style-type: none;
  margin: 10px 0 0;
  padding: 0;
}

ul.imprint li {
  line-height: 150%;
  margin: 0 15px 0 0;
  white-space: nowrap;
}
@media (min-width: 991px) {
  ul.imprint li {
    display: inline;
  }
}

/*
// Calendar
// ==============================================================
*/
.calendar {
  margin-bottom: 2em;
  display: flex;
  flex-flow: wrap;
  gap: 1em;
  justify-content: flex-start;
}

.calendar .month {
  text-align: center;
  padding: 0.5em;
  background: rgba(229, 246, 213, 0.3);
  border: 2px solid #7B9C73;
  border-radius: 5px;
}

.calendar .month h3 {
  margin-top: 0.25em;
}

.calendar .days .week {
  display: flex;
}

.calendar .days .week .day, .calendar .days .week .empty-day {
  margin: 0.25em;
  width: 2em;
  height: 1.5em;
}

.calendar .days .week .day {
  border: 1px solid #9FC596;
  border-radius: 5px;
  text-align: center;
}

.heat-none {
  background-color: white;
}

.heat-low {
  background-color: #E5F6D5;
}

.heat-medium {
  background-color: #CDE7B1;
}

.heat-high {
  background-color: #A5D471;
}

/*# sourceMappingURL=main.css.map */
