/* Theme base styles */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*,
*:before,
*:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
     ========================================================================== */

/**
  * Remove the margin in all browsers.
  */

body {
  margin: 0;
  overflow-x: hidden;
}

/**
   * Render the `main` element consistently in IE.
   */

main {
  display: block;
}

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
     ========================================================================== */

/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
     ========================================================================== */

/**
   * Remove the gray background on active links in IE 10.
   */

a {
  background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */

b,
strong {
  font-weight: bolder;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
   * Add the correct font size in all browsers.
   */

small {
  font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
     ========================================================================== */

/**
   * Remove the border on images inside links in IE 10.
   */

img {
  border-style: none;
}

/* Forms
     ========================================================================== */

/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */

button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
   * Correct the padding in Firefox.
   */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */

progress {
  vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */

textarea {
  overflow: auto;
}

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */

[type='checkbox'],
[type='radio'] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
     ========================================================================== */

/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */

details {
  display: block;
}

/*
   * Add the correct display in all browsers.
   */

summary {
  display: list-item;
}

/* Misc
     ========================================================================== */

/**
   * Add the correct display in IE 10+.
   */

template {
  display: none;
}

/**
   * Add the correct display in IE 10.
   */

[hidden] {
  display: none;
}

p {
  margin: 0;
}

/* Generated
Styles generated by the theme builder.
*/
div[data-global-resource-path="codio-theme-by-tam/templates/partials/header-standalone.html"],div[data-global-resource-path="codio-theme-by-tam/templates/partials/header.html"]{position:sticky;top:0;z-index:100}.body-wrapper{min-height:100dvh;display:flex;flex-direction:column;z-index:0}.body-wrapper .body-container-wrapper{flex:1;max-width:var(--body-max-width);padding:0 var(--layout-padding);margin:0 auto;width:100%}
.btn,.hs-button{position:relative;display:flex;width:fit-content;border-radius:var(--button-border-radius);font-size:14px;line-height:1.2;font-weight:500;padding:12px 25px;cursor:pointer;text-decoration:none;border:0;z-index:0;overflow:hidden;justify-content:center;align-items:center;min-height:42px;transition:all var(--transition-duration, 0.3s);background-color:var(--button-primary-background);color:var(--button-primary-color)}.btn.--active,.btn:hover,.hs-button.--active,.hs-button:hover{background-color:var(--button-primary-hover-background);color:var(--button-primary-hover-color)}.btn.btn-secondary,.hs-button.btn-secondary{background-color:var(--button-secondary-background);color:var(--button-secondary-color)}.btn.btn-secondary.--active,.btn.btn-secondary:hover,.hs-button.btn-secondary.--active,.hs-button.btn-secondary:hover{background-color:var(--button-secondary-hover-background);color:var(--button-secondary-hover-color)}.btn.btn-tertiary,.hs-button.btn-tertiary{background-color:var(--button-tertiary-background);color:var(--button-tertiary-color)}.btn.btn-tertiary.--active,.btn.btn-tertiary:hover,.hs-button.btn-tertiary.--active,.hs-button.btn-tertiary:hover{background-color:var(--button-tertiary-hover-background);color:var(--button-tertiary-hover-color)}.btn.btn-black,.hs-button.btn-black{background-color:var(--button-black-background);color:var(--button-black-color)}.btn.btn-black.--active,.btn.btn-black:hover,.hs-button.btn-black.--active,.hs-button.btn-black:hover{background-color:var(--button-black-hover-background);color:var(--button-black-hover-color)}.btn.btn-white,.hs-button.btn-white{background-color:var(--button-white-background);color:var(--button-white-color)}.btn.btn-white.--active,.btn.btn-white:hover,.hs-button.btn-white.--active,.hs-button.btn-white:hover{background-color:var(--button-white-hover-background);color:var(--button-white-hover-color)}.btn.btn-dark-gray,.hs-button.btn-dark-gray{background-color:var(--color-dark-gray);color:var(--color-white)}.btn.btn-dark-gray.--hover,.btn.btn-dark-gray:hover,.hs-button.btn-dark-gray.--hover,.hs-button.btn-dark-gray:hover{background-color:var(--color-interact-gray)}.btn.btn-hover-gray,.hs-button.btn-hover-gray{background-color:var(--color-interact-gray)}.btn.btn-hover-gray:hover,.hs-button.btn-hover-gray:hover{background-color:var(--color-white);color:var(--color-black);font-weight:500}.btn.btn-small,.hs-button.btn-small{font-size:14px;padding:8px 20px;min-height:32px}.btn.btn-circle,.hs-button.btn-circle{border-radius:50%;overflow:hidden;width:32.24px;height:32.24px;min-height:32.24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0}.btn.btn-circle.btn-small,.hs-button.btn-circle.btn-small{width:24px;height:24px;min-height:24px}.btn.btn-ghost,.hs-button.btn-ghost{background-color:rgba(0,0,0,0);color:var(--text-color);box-shadow:inset 0 0 0 1px var(--text-color)}.btn.btn-ghost.--active,.btn.btn-ghost:hover,.hs-button.btn-ghost.--active,.hs-button.btn-ghost:hover{background-color:var(--color-interact-gray);box-shadow:inset 0 0 0 1px var(--color-interact-gray)}.light .btn.btn-secondary,.light .hs-button.btn-secondary{color:var(--color-black)}.light .btn.btn-secondary.--active,.light .btn.btn-secondary:hover,.light .hs-button.btn-secondary.--active,.light .hs-button.btn-secondary:hover{color:var(--color-white);background-color:var(--color-interact-gray)}.light .btn.btn-dark-gray,.light .hs-button.btn-dark-gray{background-color:var(--color-light-gray);color:var(--color-black)}.light .btn.btn-dark-gray.--active,.light .btn.btn-dark-gray:hover,.light .hs-button.btn-dark-gray.--active,.light .hs-button.btn-dark-gray:hover{color:var(--color-white);background-color:var(--color-interact-gray)}.light .btn.btn-white,.light .hs-button.btn-white{background-color:var(--color-black);color:var(--color-white)}.light .btn.btn-white.--active,.light .btn.btn-white:hover,.light .hs-button.btn-white.--active,.light .hs-button.btn-white:hover{background-color:var(--color-interact-gray)}
.icon__plus{width:20px;height:20px;background-color:var(--color-mid-gray);border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative}.icon__plus::before,.icon__plus::after{content:"";width:10px;height:1px;background-color:var(--text-color);position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);transform-origin:center;transition:all var(--transition-duration)}.icon__plus::before{transform:translate(-50%, -50%) rotate(90deg)}.icon__plus.--hover{background-color:var(--color-white)}.icon__plus.--hover::before,.icon__plus.--hover::after{background-color:var(--color-interact-gray)}.icon__plus.--active{background-color:var(--color-primary)}.icon__plus.--active .btn .header__plus-icon{background-color:var(--color-dark-gray)}.icon__plus.--active .btn .header__plus-icon::before,.icon__plus.--active .btn .header__plus-icon::after{background-color:var(--color-white)}.icon__plus.--open{background-color:var(--color-primary)}.icon__plus.--open::before,.icon__plus.--open::after{background-color:var(--color-dark-gray)}.icon__plus.--open::before{transform:translate(-50%, -50%) rotate(180deg)}.icon__plus.--open::after{transform:translate(-50%, -50%) rotate(180deg)}.light .icon__plus{background-color:var(--color-white)}.light .icon__plus.--hover{background-color:var(--color-white)}.light .icon__plus.--hover::before,.light .icon__plus.--hover::after{background-color:var(--color-interact-gray)}.light .icon__plus.--active{background-color:var(--color-black)}.light .icon__plus.--active::before,.light .icon__plus.--active::after{background-color:var(--color-white)}.light .icon__plus.--open{background-color:var(--color-primary)}.light .icon__plus.--open::before,.light .icon__plus.--open::after{background-color:var(--color-black)}