@charset "UTF-8";
/* Extra values we can use if we decide we need more control in the future */
:root {
  background: var(--cp-bg);
  color: var(--cp-color);
  --cp-button-default-bg: var(--cp-button-bg);
  --cp-button-default-color: var(--cp-button-color);
  --cp-sidebar-width: 180px;
  --cp-header-height: 65px;
  --cp-header-height-small: 53px;
  --cp-control-bar-height: 29px;
  --cp-control-bar-space-between: 1.5rem;
  --cp-font-family: "Lato", "Lucida Grande", "Lucida Sans Unicode", Tahoma,
    Sans-Serif;
  --cp-font-family-header: "Telefon Black", Sans-Serif;
  --cp-font-family-header-alt: "Telefon", Sans-Serif;
  --cp-font-family-monospace: SFMono-Regular, Consolas, "Liberation Mono", Menlo,
    monospace;
  --cp-font-family-editor: var(--cp-font-family-monospace);
  /**
  * # Button Variables
  * See @codepen/library/src/components/Button/Button.module.scss for usage
  */
  --cp-button-icon: currentColor;
  --cp-button-border-width: 3px;
  --cp-button-border-radius: 4px;
  --cp-button-margin-block: 1px;
  --cp-button-margin-inline: 10px;
  --cp-button-padding-inline: 16px;
  --cp-button-padding-block: 10px;
  --cp-pen-radius: 5px;
  --cp-pen-logo-size: 30px;
  --cp-pen-header-spacing: calc(var(--cp-pen-sidebar-spacing) * 1.5);
  --cp-pen-sidebar-width: 60px;
  --cp-pen-sidebar-icon-size: 26px;
  --cp-pen-sidebar-spacing: 6px;
  --cp-pen-sidebar-minimal-width: 6px;
  --cp-pen-panel-spacing: 10px;
  --cp-pen-bar-height: 45px;
  --cp-pen-editor-tab-spacing: 1px;
}
@media (max-width: 1100px) {
  :root {
    --cp-pen-sidebar-width: 50px;
    --cp-pen-sidebar-spacing: 4px;
    --cp-pen-sidebar-icon-size: 24px;
    --cp-pen-sidebar-minimal-width: 6px;
    --cp-pen-panel-spacing: 6px;
  }
}

/**
  * # THEME COLORS
  * The colors in use around the site. Don't use Sass variables anymore, reference the CSS variables.
  * These Sass variables are now scoped in here to prevent any kind of external usage, but they're still semi-useful as Sass variables for where they need to be repeated here.
  *
  * ## rgba / fade / transparent values
  * Mostly, color usage can and should be done with like var(--cp-color-8), but we've found that one more-than-a-few occasions, theme colors need slight adjustments to be useful in real life situations.
  * To help with this, we provide the raw `*-hsl` value variable for each color. For example, a theme color needs a slight bit of opacity applied to it. You can accomplish this like so
  * `color: hsl(var(--cp-color-17-hsl) / 80% );`
  *
  * Helpful Sass Color RegEx for finding Sass colors in use around the app: \$((collections|pens|posts|projects|users|picks|popular|following|topics|gray|green|red|yellow|purple|blue)(Color)?(-light|-dark|-very-light)?(-[0-9])?)
  */
:root {
  /* --cp-color-1 = white; */
  --cp-color-1-hsl: 0deg 0% 100%;
  --cp-color-1: hsl(var(--cp-color-1-hsl));
  /* --cp-color-2 = #f1f1f3; */
  --cp-color-2-hsl: 240deg 7.69% 94.9%;
  --cp-color-2: hsl(var(--cp-color-2-hsl));
  /* --cp-color-3 = rgb(234, 234.5, 237.5); */
  --cp-color-3-hsl: 231.43deg 9.09% 92.45%;
  --cp-color-3: hsl(var(--cp-color-3-hsl));
  /* --cp-color-4 = #e3e4e8; */
  --cp-color-4-hsl: 228deg 9.8% 90%;
  --cp-color-4: hsl(var(--cp-color-4-hsl));
  /* --cp-color-5 = #d5d7de; */
  --cp-color-5-hsl: 226.67deg 12% 85.29%;
  --cp-color-5: hsl(var(--cp-color-5-hsl));
  /* --cp-color-6 = #c7c9d3; */
  --cp-color-6-hsl: 230deg 12% 80.39%;
  --cp-color-6: hsl(var(--cp-color-6-hsl));
  /* --cp-color-7 = #b7bbc8; */
  --cp-color-7-hsl: 225.88deg 13.39% 75.1%;
  --cp-color-7: hsl(var(--cp-color-7-hsl));
  /* --cp-color-8 = #aaaebc; */
  --cp-color-8-hsl: 226.67deg 11.84% 70.2%;
  --cp-color-8: hsl(var(--cp-color-8-hsl));
  /* --cp-color-9 = #9b9dad; */
  --cp-color-9-hsl: 233.33deg 9.89% 64.31%;
  --cp-color-9: hsl(var(--cp-color-9-hsl));
  /* --cp-color-10 = #868ca0; */
  --cp-color-10-hsl: 226.15deg 12.04% 57.65%;
  --cp-color-10: hsl(var(--cp-color-10-hsl));
  /* --cp-color-11 = #717790; */
  --cp-color-11-hsl: 228.39deg 12.25% 50.39%;
  --cp-color-11: hsl(var(--cp-color-11-hsl));
  /* --cp-color-12 = #5a5f73; */
  --cp-color-12-hsl: 228deg 12.2% 40.2%;
  --cp-color-12: hsl(var(--cp-color-12-hsl));
  /* --cp-color-13 = #444857; */
  --cp-color-13-hsl: 227.37deg 12.26% 30.39%;
  --cp-color-13: hsl(var(--cp-color-13-hsl));
  /* --cp-color-14 = #2c303a; */
  --cp-color-14-hsl: 222.86deg 13.73% 20%;
  --cp-color-14: hsl(var(--cp-color-14-hsl));
  /* --cp-color-15 = rgb(37, 39.5, 48); */
  --cp-color-15-hsl: 226.36deg 12.94% 16.67%;
  --cp-color-15: hsl(var(--cp-color-15-hsl));
  /* --cp-color-16 = #1e1f26; */
  --cp-color-16-hsl: 232.5deg 11.76% 13.33%;
  --cp-color-16: hsl(var(--cp-color-16-hsl));
  /* --cp-color-17 = #131417; */
  --cp-color-17-hsl: 225deg 9.52% 8.24%;
  --cp-color-17: hsl(var(--cp-color-17-hsl));
  /* --cp-color-18 = #0a0a0c; */
  --cp-color-18-hsl: 240deg 9.09% 4.31%;
  --cp-color-18: hsl(var(--cp-color-18-hsl));
  /* --cp-color-19 = #010101; */
  --cp-color-19-hsl: 0deg 0% 0.39%;
  --cp-color-19: hsl(var(--cp-color-19-hsl));
  /* --cp-color-20 = black; */
  --cp-color-20-hsl: 0deg 0% 0%;
  --cp-color-20: hsl(var(--cp-color-20-hsl));
  /* --cp-color-green = #47cf73; */
  --cp-color-green-hsl: 139.41deg 58.62% 54.51%;
  --cp-color-green: hsl(var(--cp-color-green-hsl));
  /* --cp-color-green-light = #d3ffe1; */
  --cp-color-green-light-hsl: 139.09deg 100% 91.37%;
  --cp-color-green-light: hsl(var(--cp-color-green-light-hsl));
  /* --cp-color-green-dark = #248c46; */
  --cp-color-green-dark-hsl: 139.62deg 59.09% 34.51%;
  --cp-color-green-dark: hsl(var(--cp-color-green-dark-hsl));
  /* --cp-color-yellow = #ffdd40; */
  --cp-color-yellow-hsl: 49.32deg 100% 62.55%;
  --cp-color-yellow: hsl(var(--cp-color-yellow-hsl));
  /* --cp-color-yellow-light = #f9e9a2; */
  --cp-color-yellow-light-hsl: 48.97deg 87.88% 80.59%;
  --cp-color-yellow-light: hsl(var(--cp-color-yellow-light-hsl));
  /* --cp-color-yellow-dark = #d9b200; */
  --cp-color-yellow-dark-hsl: 49.22deg 100% 42.55%;
  --cp-color-yellow-dark: hsl(var(--cp-color-yellow-dark-hsl));
  /* --cp-color-yellow-darker = #5c4813; */
  --cp-color-yellow-darker-hsl: 43.56deg 65.77% 21.76%;
  --cp-color-yellow-darker: hsl(var(--cp-color-yellow-darker-hsl));
  /* --cp-color-purple = #ae63e4; */
  --cp-color-purple-hsl: 274.88deg 70.49% 64.12%;
  --cp-color-purple: hsl(var(--cp-color-purple-hsl));
  /* --cp-color-purple-light = #be9fe4; */
  --cp-color-purple-light-hsl: 266.96deg 56.1% 75.88%;
  --cp-color-purple-light: hsl(var(--cp-color-purple-light-hsl));
  /* --cp-color-purple-dark = #754cac; */
  --cp-color-purple-dark-hsl: 265.63deg 38.71% 48.63%;
  --cp-color-purple-dark: hsl(var(--cp-color-purple-dark-hsl));
  /* --cp-color-red = #ff3c41; */
  --cp-color-red-hsl: 358.46deg 100% 61.76%;
  --cp-color-red: hsl(var(--cp-color-red-hsl));
  /* --cp-color-red-very-light = #ffcfcb; */
  --cp-color-red-very-light-hsl: 4.62deg 100% 89.8%;
  --cp-color-red-very-light: hsl(var(--cp-color-red-very-light-hsl));
  /* --cp-color-red-light = #f19994; */
  --cp-color-red-light-hsl: 3.23deg 76.86% 76.27%;
  --cp-color-red-light: hsl(var(--cp-color-red-light-hsl));
  /* --cp-color-red-dark = #a00808; */
  --cp-color-red-dark-hsl: 0deg 90.48% 32.94%;
  --cp-color-red-dark: hsl(var(--cp-color-red-dark-hsl));
  /* --cp-color-blue = #0ebeff; */
  --cp-color-blue-hsl: 196.18deg 100% 52.75%;
  --cp-color-blue: hsl(var(--cp-color-blue-hsl));
  /* --cp-color-blue-light = #76daff; */
  --cp-color-blue-light-hsl: 196.2deg 100% 73.14%;
  --cp-color-blue-light: hsl(var(--cp-color-blue-light-hsl));
  /* --cp-color-blue-dark = #3d88c3; */
  --cp-color-blue-dark-hsl: 206.42deg 52.76% 50.2%;
  --cp-color-blue-dark: hsl(var(--cp-color-blue-dark-hsl));
  /* --cp-color-link = #76daff; */
  --cp-color-link-hsl: 196.2deg 100% 73.14%;
  --cp-color-link: hsl(var(--cp-color-link-hsl));
  /* --cp-color-link-on-white = #1f798f; */
  --cp-color-link-on-white-hsl: 191.79deg 64.37% 34.12%;
  --cp-color-link-on-white: hsl(var(--cp-color-link-on-white-hsl));
  /* --cp-color-link-on-black = #56bcf9; */
  --cp-color-link-on-black-hsl: 202.45deg 93.14% 65.69%;
  --cp-color-link-on-black: hsl(var(--cp-color-link-on-black-hsl));
  /* --cp-color-pens = #0ebeff; */
  --cp-color-pens-hsl: 196.18deg 100% 52.75%;
  --cp-color-pens: hsl(var(--cp-color-pens-hsl));
  /* --cp-color-posts = #47cf73; */
  --cp-color-posts-hsl: 139.41deg 58.62% 54.51%;
  --cp-color-posts: hsl(var(--cp-color-posts-hsl));
  /* --cp-color-collections = #ae63e4; */
  --cp-color-collections-hsl: 274.88deg 70.49% 64.12%;
  --cp-color-collections: hsl(var(--cp-color-collections-hsl));
  /* --cp-color-projects = #ffdd40; */
  --cp-color-projects-hsl: 49.32deg 100% 62.55%;
  --cp-color-projects: hsl(var(--cp-color-projects-hsl));
}

/* Extra values we can use if we decide we need more control in the future */
:root {
  color-scheme: dark;
  --cp-bg: var(--cp-color-17);
  --cp-bg-hsl: var(--cp-color-17-hsl);
  --cp-color: var(--cp-color-1);
  --cp-color-hsl: var(--cp-color-1-hsl);
  --cp-color-shadow: hsl(var(--cp-color-18-hsl) / 60%);
  --cp-overlay: radial-gradient(
    circle,
    hsl(var(--cp-color-11-hsl) / 90%) 35%,
    hsl(var(--cp-color-13-hsl) / 90%)
  );
  --cp-color-link-hover: var(--cp-color-1);
  /**
   * Button Variables
   * See @codepen/library/src/components/Button/Button.module.scss for usage
   */
  --cp-button-bg: var(--cp-color-13);
  --cp-button-color: white;
  --cp-button-hover-bg: var(--cp-color-12);
  --cp-button-hover-color: var(--cp-button-color);
  --cp-button-hover-icon: var(--cp-button-icon);
  --cp-button-active: var(--cp-color-13);
  /**
   * Grids
   */
  --cp-grid-item-bg: var(--cp-color-16);
  --cp-grid-item-color: var(--cp-color-1);
  --cp-grid-item-screenshot-bg: var(--cp-color-13);
  --cp-grid-item-screenshot-color: var(--cp-color-11);
  --cp-grid-item-author-color: var(--cp-color-7);
  /**
   * Tag Variables
   * See @codepen/library/src/components/Tag/Tag.module.scss for usage
   */
  --cp-tag-bg: var(--cp-color-13);
  --cp-tag-color: var(--cp-color-blue-light);
  --cp-tag-fill: var(--cp-color-7);
  --cp-tag-hover-bg: var(--cp-color-11);
  --cp-tag-hover-color: var(--cp-color-1);
  /**
   * Forms & Input Variables
   */
  --cp-input-bg: var(--cp-color-4);
  --cp-input-color: var(--cp-color-17);
  --cp-input-placeholder: var(--cp-color-10);
  --cp-input-focus-border: var(--cp-color-11);
  --cp-input-focus-bg: var(--cp-color-1);
  --cp-select-bg: var(--cp-color-13);
  --cp-select-color: var(--cp-color-4);
  --cp-select-hover-bg: var(--cp-color-14);
  --cp-select-hover-color: var(--cp-color-2);
  --cp-select-focus-border: var(--cp-color-18);
  --cp-radio-bg: var(--cp-color-15);
  --cp-radio-border: var(--cp-color-12);
  --cp-radio-checked-bg: var(--cp-color-green);
  --cp-radio-checked-color: var(--cp-color-1);
  /**
   * ControlBar
   */
  --cp-control-bar-bg: var(--cp-color-16);
  --cp-control-bar-color: var(--cp-color-10);
  --cp-control-bar-input-bg: var(--cp-color-14);
  --cp-control-bar-input-color: var(--cp-color-3);
  --cp-control-bar-input-placeholder: var(--cp-color-8);
  --cp-control-bar-input-focus-bg: var(--cp-color-13);
  --cp-control-bar-input-focus-color: var(--cp-color-1);
  --cp-control-bar-input-focus-border-color: var(--cp-color-12);
  --cp-control-bar-button-bg: var(--cp-color-13);
  --cp-control-bar-button-hover-bg: var(--cp-color-11);
  --cp-control-bar-button-color: var(--cp-color-1);
  /* --cp-modal-border = #262830; */
  --cp-modal-border-hsl: 228deg 11.63% 16.86%;
  --cp-modal-border: hsl(var(--cp-modal-border-hsl));
  --cp-modal-bg: var(--cp-color-17);
  --cp-modal-bg-hsl: var(--cp-color-17-hsl);
  --cp-modal-color: var(--cp-color-1);
  --cp-modal-content-border: var(--cp-color-15);
  --cp-modal-footer-bg: var(--cp-color-18);
  --cp-modal-alt-bg: var(--cp-color-16);
  --cp-modal-nav-color: var(--cp-color-8);
  --cp-modal-nav-active-color: var(--cp-color-1);
  --cp-modal-nav-active-bg: var(--cp-color-14);
  --cp-modal-nav-active-border: var(--cp-color-green);
  --cp-content-toggle-flyout-bg: hsl(var(--cp-color-18-hsl) / 90%);
  --cp-content-toggle-flyout-color: var(--cp-color-1);
  --cp-content-toggle-flyout-border: var(--cp-color-13);
  /**
   * Assets
   */
  --cp-asset-list-item-color: var(--cp-color-4);
  --cp-asset-list-item-hover-color: var(--cp-color-1);
  --cp-asset-list-item-hover-bg: var(--cp-color-14);
  /**
   * Dropdowns
   */
  --cp-dropdown-bg: var(--cp-color-16);
  --cp-dropdown-color: var(--cp-color-1);
  --cp-dropdown-border: var(--cp-color-13);
  --cp-dropdown-fill: var(--cp-color-11);
  /**
   * Old Editor Header
   */
  --cp-editor-actions-bg: var(--cp-color-16);
  /**
   * New Editor Variables
   */
  --cp-pen-border: var(--cp-color-15);
  --cp-pen-border-hover: var(--cp-color-13);
  --cp-pen-header-bg: var(--cp-color-20);
  --cp-pen-header-color: var(--cp-color-1);
  --cp-pen-header-color-secondary: var(--cp-color-8);
  --cp-pen-header-button-bg: var(--cp-color-15);
  --cp-pen-header-button-icon: var(--cp-color-10);
  --cp-pen-header-button-color: var(--cp-color-8);
  --cp-pen-header-button-hover-bg: var(--cp-color-13);
  --cp-pen-header-button-hover-color: var(--cp-color-3);
  --cp-omnibar-trigger-bg: var(--cp-color-17);
  --cp-omnibar-trigger-border: var(--cp-color-14);
  --cp-omnibar-trigger-color: var(--cp-color-12);
  --cp-omnibar-trigger-icon: var(--cp-color-13);
  --cp-omnibar-trigger-hover-bg: var(--cp-color-15);
  --cp-omnibar-trigger-hover-border: var(--cp-color-15);
  --cp-omnibar-trigger-hover-color: var(--cp-color-10);
  --cp-omnibar-trigger-hover-icon: var(--cp-color-10);
  --cp-omnibar-bg: var(--cp-color-14);
  --cp-omnibar-border: var(--cp-color-14);
  --cp-omnibar-color: var(--cp-color-1);
  --cp-omnibar-color-secondary: var(--cp-color-5);
  --cp-omnibar-icon: var(--cp-color-10);
  --cp-omnibar-placeholder: var(--cp-color-10);
  --cp-omnibar-item-badge-bg: var(--cp-color-12);
  --cp-omnibar-item-badge-color: var(--cp-color-1);
  --cp-omnibar-item-active-bg: var(--cp-color-13);
  --cp-omnibar-item-active-color: var(--cp-color-2);
  --cp-pen-sidebar-bg: var(--cp-color-20);
  --cp-pen-sidebar-button-bg: transparent;
  --cp-pen-sidebar-button-fill: var(--cp-color-11);
  --cp-pen-sidebar-button-active-bg: transparent;
  --cp-pen-sidebar-button-active-fill: var(--cp-color-1);
  --cp-pen-sidebar-button-hover-bg: var(--cp-color-16);
  --cp-pen-sidebar-button-hover-fill: var(--cp-color-1);
  --cp-pen-panel-bg: var(--cp-color-16);
  --cp-pen-panel-color: var(--cp-color-1);
  --cp-pen-panel-bg-secondary: var(--cp-color-13);
  --cp-pen-panel-color-secondary: var(--cp-color-7);
  --cp-pen-panel-search-bg: var(--cp-color-17);
  --cp-pen-panel-search-color: var(--cp-color-4);
  --cp-pen-panel-search-fill: var(--cp-color-11);
  --cp-pen-panel-search-placeholder: var(--cp-color-6);
  --cp-pen-panel-search-focus-bg: var(--cp-color-1);
  --cp-pen-panel-search-focus-color: var(--cp-color-17);
  --cp-pen-panel-search-focus-placeholder: var(--cp-color-20);
  --cp-pen-panel-search-button-bg: var(--cp-color-13);
  --cp-pen-panel-search-button-color: var(--cp-color-1);
  --cp-pen-panel-search-button-hover-bg: var(--cp-color-10);
  --cp-pen-panel-box-bg: var(--cp-color-14);
  --cp-pen-panel-box-border: var(--cp-color-16);
  --cp-pen-panel-box-color: var(--cp-color-1);
  --cp-pen-panel-box-secondary-color: var(--cp-color-6);
  --cp-pen-panel-box-input-bg: var(--cp-color-5);
  --cp-pen-panel-box-input-color: var(--cp-color-14);
  --cp-pen-panel-box-input-focus-bg: var(--cp-color-16);
  --cp-pen-panel-box-input-focus-color: var(--cp-color-4);
  --cp-pen-panel-box-button-bg: var(--cp-color-12);
  --cp-pen-panel-box-button-color: var(--cp-color-1);
  --cp-pen-panel-box-button-hover-bg: var(--cp-color-15);
  --cp-pen-panel-box-button-hover-color: var(--cp-color-20);
  --cp-pen-panel-box-button-secondary-bg: var(--cp-color-green);
  --cp-pen-panel-box-button-secondary-color: var(--cp-color-20);
  --cp-pen-panel-box-button-secondary-hover-bg: var(--cp-color-green-light);
  --cp-pen-panel-box-button-secondary-hover-color: var(--cp-color-20);
  --cp-pen-privacy-bg: var(--cp-color-14);
  --cp-pen-privacy-color: var(--cp-color-6);
  --cp-pen-privacy-hover-bg: var(--cp-color-13);
  --cp-pen-privacy-hover-color: var(--cp-color-1);
  --cp-pen-privacy-active-bg: var(--cp-color-12);
  --cp-pen-privacy-active-color: var(--cp-color-1);
  --cp-pen-editor-header-bg: var(--cp-color-18);
  --cp-pen-editor-tab-bg: var(--cp-color-16);
  --cp-pen-editor-tab-color: var(--cp-color-5);
  --cp-pen-editor-tab-border: var(--cp-color-13);
  --cp-pen-editor-tab-changed-border: var(--cp-color-yellow);
  --cp-pen-editor-tab-active-border: var(--cp-color-9);
  --cp-pen-editor-button-bg: var(--cp-color-14);
  --cp-pen-editor-button-icon: var(--cp-color-11);
  --cp-pen-editor-button-hover-bg: var(--cp-color-12);
  --cp-pen-editor-button-hover-fill: var(--cp-color-9);
  --cp-pen-editor-dropdown-bg: var(--cp-color-12);
  --cp-pen-editor-content-bg: var(--cp-color-17);
  --cp-pen-editor-content-color: var(--cp-color-1);
  --cp-pen-files-active-file-bg: var(--cp-color-15);
  --cp-pen-preview-header-bg: var(--cp-pen-editor-header-bg);
  --cp-pen-footer-bg: var(--cp-color-18);
  --cp-pen-footer-color: var(--cp-color-10);
  --cp-pen-footer-color-highlight: var(--cp-color-8);
  --cp-pen-footer-button-bg: transparent;
  --cp-pen-footer-button-color: var(--cp-color-8);
  --cp-pen-footer-button-active-border: var(--cp-color-green);
  --cp-pen-footer-button-hover-bg: transparent;
  --cp-pen-footer-button-hover-color: var(--cp-color-1);
  --cp-pen-console-bg: var(--cp-color-17);
  --cp-pen-console-input-bg: var(--cp-color-15);
  --cp-blocks-top-and-bottom: var(--cp-color-7);
  --cp-blocks-left-and-right: var(--cp-color-10);
  --cp-diagnostics-bg: var(--cp-color-16);
  --cp-diagnostics-color: var(--cp-color-4);
}

html {
  overflow-x: hidden;
}

body {
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0;
}

.width-wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  padding: 0 2rem;
}
@media (max-width: 550px) {
  .width-wrapper {
    padding: 0 10px;
  }
}

body.admin-logged-in-as-user {
  padding-top: 16px !important;
}
body.admin-logged-in-as-user::before {
  content: "⚠️ ADMIN LOGGED IN AS USER - Log out to switch back to admin.";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  background: red;
  color: white;
  z-index: 999;
  font-size: 11px;
  height: 16px;
}

@font-face {
  font-family: "Telefon Black";
  src: url("https://public.codepenassets.com/fonts/telefon-black.654a55c7fc5c69899e4c776e9440cb.woff2") format("woff2");
}
@font-face {
  font-family: "Telefon";
  src: url("https://public.codepenassets.com/fonts/telefon-bold.30e9132f184f36be19ce6e4b9024ab.woff2") format("woff2");
}
html {
  font-family: var(--cp-font-family);
  line-height: 1.5;
  font-size: 15px;
  font-weight: 400;
}
@media (max-width: 830px) {
  html {
    font-size: 14px;
  }
}
@media (max-width: 550px) {
  html {
    font-size: 13px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.2;
  margin: 0 0 10px 0;
  font-weight: normal;
}
h1 .title-callout,
h2 .title-callout,
h3 .title-callout,
h4 .title-callout,
h5 .title-callout,
h6 .title-callout {
  color: var(--cp-color-blue);
}

h2,
h3,
h4,
h5,
h6 {
  font-family: var(--cp-font-family);
}

h1,
.h1 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: var(--cp-font-family-header);
  line-height: 1.1;
  font-size: 3rem;
}
@media (max-width: 550px) {
  h1,
  .h1 {
    font-size: 2.2rem;
  }
}

h2,
.h2 {
  font-family: var(--cp-font-family-header-alt);
  font-size: 1.8rem;
}

h3,
.h3,
dt {
  font-size: 1.4rem;
  font-weight: bold;
}

h4,
.h4 {
  font-size: 1.2rem;
  font-weight: bold;
  text-transform: uppercase;
}

h5,
.h5 {
  font-weight: bold;
  text-transform: uppercase;
}

h6 {
  font-weight: bold;
}

p,
pre,
blockquote {
  margin: 0 0 1em 0;
}
p:empty,
pre:empty,
blockquote:empty {
  display: none;
}

a {
  text-decoration: none;
  color: var(--cp-color-link);
}
a:hover, a:focus {
  cursor: pointer;
  color: var(--cp-color-link-hover);
}

time {
  color: var(--cp-color-7);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 80%;
}

code {
  font-family: var(--cp-font-family-monospace);
}

blockquote {
  padding-left: 1.625rem;
}
blockquote :last-child {
  margin: 0;
}

aside p,
aside address {
  color: var(--cp-color-8);
  font-style: normal;
}

.text ul,
.text ol {
  margin: 0 0 1.5rem 0;
  padding: 0 0 0 1.5rem;
}
.text ul li,
.text ol li {
  margin: 0 0 0.5rem 0;
}
.text table {
  border-collapse: collapse;
  margin: 0 0 1rem 0;
}
.text table th,
.text table td {
  padding: 3px 8px;
  border: 1px solid var(--cp-color-11);
}
.text > p:last-child {
  margin-bottom: 0;
}

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

html {
  height: 100%;
  -webkit-overflow-scrolling: touch;
}

body {
  min-height: 100%;
}

.preload * {
  -webkit-transition: none !important;
  transition: none !important;
}

img,
a img {
  outline: 0;
  border: 0;
}

img {
  max-width: 100%;
  height: auto;
}

input[type=name],
input[type=text],
input[type=email],
input[type=password],
input[type=date],
input[type=datetime-local],
input[type=search],
input[type=url],
input[type=tel],
input[type=number],
textarea {
  font-family: var(--cp-font-family);
  font-size: 13px;
  -webkit-appearance: none;
  padding: 4px 5px 4px 5px;
  outline: 0;
  background: var(--cp-color-5);
  color: var(--cp-color-15);
  border: 3px solid var(--cp-color-5);
  border-radius: 3px;
}
input[type=name]:focus,
input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=datetime-local]:focus,
input[type=search]:focus,
input[type=url]:focus,
input[type=tel]:focus,
input[type=number]:focus,
textarea:focus {
  border-color: var(--cp-color-11);
  background: var(--cp-color-1);
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

label[for],
input[type=checkbox],
input[type=radio] {
  cursor: pointer;
}

fieldset {
  border: 1px solid var(--cp-color-11);
  padding: 10px;
  margin: 0 0 10px 0;
}

legend {
  padding: 0 10px;
}

.page-wrap {
  position: relative;
  padding: 20px 20px 50px 20px;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  margin: -1px;
}

.visually-hidden {
  position: absolute !important;
  top: -9999px;
  left: -9999px;
}

.mobile-break {
  display: none;
}
@media (max-width: 550px) {
  .mobile-break {
    display: block;
  }
}

textarea:focus,
textarea:active {
  outline: 0;
}

[disabled],
.disabled,
.faded {
  opacity: 0.5 !important;
  cursor: default !important;
  pointer-events: none;
}

hr,
.sep {
  height: 0;
  border: 0;
  border-top: 1px solid var(--cp-color-14);
  margin: 30px 0 40px 0;
}

.mega-header {
  position: relative;
  border-bottom: 1px solid var(--cp-color-20);
  -webkit-box-shadow: 0 2px 15px var(--cp-color-20);
          box-shadow: 0 2px 15px var(--cp-color-20);
  background: var(--cp-color-20) url(https://cpwebassets.codepen.io/assets/global/texture-codepen-2-d817063398aa9a2b534f3834f8533e2bae759c25933b86cdd149d9f0cc38563d.png);
  background-position: 0 -5px;
  padding: 50px 20px 50px 20px;
  margin: 0 0 20px 0;
}
.mega-header.center h1,
.mega-header.center p {
  padding-right: 0;
  max-width: 100%;
}
.mega-header.mega-header-only {
  padding-bottom: 0;
}
.mega-header h1 {
  font-size: 4rem;
  padding: 0 25% 0 0;
  word-break: break-word;
}
.mega-header .mega-header-subhead {
  display: block;
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--cp-color-11);
}
.mega-header .mega-header-subdescription {
  max-width: 800px;
  margin: auto;
  letter-spacing: 0.1px;
  line-height: 26px;
}
.mega-header p {
  color: var(--cp-color-9);
  font-size: 1.2rem;
  padding-right: 200px;
}
.mega-header p,
.mega-header blockquote,
.mega-header ol,
.mega-header ul {
  max-width: 1000px;
}
.mega-header .actions-meta {
  position: absolute;
  top: 0;
  right: 20px;
  text-align: right;
}
@media (max-width: 550px) {
  .mega-header .actions-meta {
    position: static;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    text-align: left;
  }
  .mega-header .actions-meta .meta-line {
    margin-right: auto;
  }
  .mega-header .actions-meta .meta-line br {
    display: none;
  }
}
.mega-header .meta-line {
  margin: 0 0 10px 0;
}
.mega-header .date-block {
  padding: 4px 8px;
  color: var(--cp-color-20);
  font-weight: bold;
}
.mega-header .content-author {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 3px solid var(--cp-color-posts);
  padding: 15px 0;
}
.mega-header .content-author .user-avatar {
  display: block;
}
.mega-header .content-author time {
  white-space: nowrap;
}
.mega-header .mega-header .content-author {
  color: var(--cp-color-9);
}
@media (max-width: 550px) {
  .mega-header .mega-header .content-author {
    margin: 0 0 20px 0;
  }
}
@media (max-width: 850px) {
  .mega-header {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 550px) {
  .mega-header {
    background: var(--cp-color-20);
    padding: 20px 10px 10px 10px !important;
  }
  .mega-header h1 {
    font-size: 2.5rem;
    margin: 0 0 0.5rem 0;
    padding-right: 0;
  }
  .mega-header p {
    padding-right: 0;
  }
  .mega-header time,
  .mega-header button,
  .mega-header a {
    margin-right: 5px;
  }
}

@media (max-width: 550px) {
  .bonus-text {
    display: none;
  }
}
.little-big-header {
  font-family: var(--cp-font-family-header-alt);
  font-size: 4.7rem;
  font-weight: bold;
  margin: 0;
  color: var(--cp-color-1);
}
@media (max-width: 550px) {
  .little-big-header {
    font-size: 2.8rem;
  }
}

.site-footer {
  font-family: var(--cp-font-family);
  height: 30px;
  line-height: 1;
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  padding: 0.2rem 0.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  white-space: nowrap;
  color: var(--cp-color-9);
  background: var(--cp-color-14);
  border-top: 1px solid var(--cp-color-13);
  z-index: 10;
  font-size: 1rem;
}
@media (max-width: 550px) {
  .site-footer {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}

.footer-left {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  height: 100%;
  padding: 9px 0;
  z-index: 1;
}
@media (min-width: 551px) {
  .footer-left {
    display: none;
  }
}
.footer-left > .button {
  margin-right: 8px;
}

.export-feature-notifier.export-feature-notifier {
  margin: 0;
  position: absolute;
  top: -4px;
  right: -2px;
}

.footer-right {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (max-width: 610px) {
  .footer-right {
    position: relative;
    padding-left: 5px;
  }
}
@media (max-width: 610px) {
  .editor-footer .footer-right {
    position: absolute;
    right: 5px;
    padding-left: 0;
  }
}
.footer-right .pick-iframe {
  display: inline-block;
  width: 70px;
  height: 20px;
  background: none;
  vertical-align: top;
  margin: 0 5px 0 0;
}
.footer-right > a {
  display: inline-block;
  position: relative;
}
.footer-right > :last-child {
  -webkit-margin-end: 0;
          margin-inline-end: 0;
}

.footer-icon svg {
  width: 15px;
  height: 15px;
  fill: var(--cp-color-1);
  display: inline-block;
  vertical-align: middle;
  top: -1px;
  position: relative;
}

.footer-icon-editor svg {
  width: 16px !important;
  height: 16px !important;
  fill: var(--cp-color-12);
}
.footer-icon-editor:hover svg, .footer-icon-editor:active svg {
  fill: var(--cp-color-9);
}

.layout-change-links {
  display: inline-block;
}

body.layout-left .layout-change-links #left-layout svg,
body.layout-top .layout-change-links #top-layout svg,
body.layout-right .layout-change-links #right-layout svg {
  fill: var(--cp-color-7);
}

.footer-word-links {
  display: inline-block;
}
.footer-word-links a {
  margin-left: 4px;
}

.button.zoom-select {
  display: none;
}
@media (max-width: 767px), (max-height: 440px) {
  .button.zoom-select {
    display: inline-block;
  }
}

.editor-toggle-buttons > .button {
  background: #1e1e1e;
}
.editor-toggle-buttons > .button.active {
  color: white;
  font-weight: 700 !important;
  background: #1e1e1e;
}
.editor-toggle-buttons > .button:not(:first-child) {
  border-left: 1px solid var(--cp-color-12);
}

.editor-layout-buttons {
  display: inline-block;
  position: relative;
  top: 1px;
}

.footer-professor .layout-change-links {
  position: relative;
}
body.student .footer-professor .layout-change-links::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.student-count {
  color: var(--cp-color-1);
  margin: 0 5px;
}

.footer-collab .student-count {
  background: var(--cp-color-11);
}
.footer-collab #collab-names a {
  color: var(--cp-color-6);
}
.footer-collab #collab-names a:hover, .footer-collab #collab-names a:focus {
  color: white;
}

@media (width <= 1000px) {
  .footer-professor .editor-state,
  .footer-collab .editor-state {
    display: none;
  }
}
@media (width <= 650px) {
  .footer-professor,
  .footer-collab {
    display: block;
  }
  .footer-professor .footer-right,
  .footer-collab .footer-right {
    position: static;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
  .footer-professor .footer-actions,
  .footer-collab .footer-actions {
    padding: 0.25rem 0;
  }
}

.pres-footer .mini-logo {
  vertical-align: middle;
  margin-right: 5px;
}

.preview-size-buttons {
  margin: 0 !important;
}
.preview-size-buttons a {
  color: var(--cp-color-7);
}

.footer-icon-editor {
  margin-left: 5px;
}

.footer-actions-menu .toggle-footer-menu-button {
  display: none;
}
@media (max-width: 550px) {
  .footer-actions-menu .toggle-footer-menu-button {
    display: inline-block;
    padding: 0 16px;
  }
  .footer-actions-menu .toggle-footer-menu-button svg {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    -webkit-transition: 0.2s -webkit-transform;
    transition: 0.2s -webkit-transform;
    transition: 0.2s transform;
    transition: 0.2s transform, 0.2s -webkit-transform;
  }
  .footer-actions-menu .toggle-footer-menu-button[aria-expanded=true] svg {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}

.footer-actions {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
@media (max-width: 550px) {
  .footer-actions {
    display: none;
    width: 100vw;
    padding: 1rem 0.5rem;
    background: var(--cp-color-16);
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
.footer-actions[data-expanded=true] {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

/***
  VARIATONS
***/
form.form-on-white {
  background: var(--cp-color-1);
}
form.form-on-white label {
  color: var(--cp-color-14);
}

textarea.is-code {
  font-family: var(--cp-font-family-monospace);
  line-height: 2;
}

label.small {
  display: block;
  font-size: 0.8em;
  margin: 0 0 2px 0;
}

label.small-inline {
  font-size: 0.8em;
  display: inline-block !important;
  margin-right: 3px;
}

.mega-fullwidth.mega-fullwidth {
  width: 100%;
  margin: 10px 0;
  font-size: 1.5em;
  padding: 0.5em;
}

/***
  SIDE LABEL FORMS
***/
.form-like-form > div {
  clear: both;
  margin: 0 0 10px 0;
}
@media (max-width: 550px) {
  .form-like-form > div {
    margin: 0 0 20px 0;
  }
}
.form-like-form label {
  display: block;
  width: 35%;
  float: left;
  text-align: right;
  padding: 9px 10px 0 0;
  color: var(--cp-color-6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
@media (max-width: 830px) {
  .form-like-form label {
    text-align: left;
  }
}
@media (max-width: 550px) {
  .form-like-form label {
    float: none;
    width: 100%;
  }
}
.form-like-form input[type=name],
.form-like-form input[type=tel],
.form-like-form input[type=text],
.form-like-form input[type=email],
.form-like-form input[type=password],
.form-like-form input[type=url],
.form-like-form textarea {
  padding: 10px;
  width: 64%;
}
@media (max-width: 550px) {
  .form-like-form input[type=name],
  .form-like-form input[type=tel],
  .form-like-form input[type=text],
  .form-like-form input[type=email],
  .form-like-form input[type=password],
  .form-like-form input[type=url],
  .form-like-form textarea {
    width: 100%;
    margin: 2px 0 0 0;
  }
}
.form-like-form input[type=checkbox],
.form-like-form select {
  position: relative;
  top: 3px;
}
.form-like-form select {
  width: 25%;
}
@media (max-width: 550px) {
  .form-like-form select {
    width: 100%;
  }
}
.form-like-form textarea {
  height: 100px;
  display: block;
}
.form-like-form .hint {
  color: var(--cp-color-9);
  font-size: 0.85em;
  padding: 5px 0 0 35%;
}
.form-like-form .hint strong {
  color: var(--cp-color-1);
}
@media (max-width: 550px) {
  .form-like-form .hint {
    padding-left: 0;
  }
}
.form-like-form .end-form-buttons {
  padding-top: 10px;
}

/***
  TOP LABEL FORMS
***/
.top-label-form label {
  font-weight: normal;
  display: block;
  margin: 0 0 3px 0;
  letter-spacing: 0.5px;
}
.top-label-form input[type=name],
.top-label-form input[type=tel],
.top-label-form input[type=text],
.top-label-form input[type=number],
.top-label-form input[type=email],
.top-label-form input[type=date],
.top-label-form input[type=datetime-local],
.top-label-form input[type=password],
.top-label-form input[type=url],
.top-label-form textarea {
  padding: 10px;
  width: 100%;
}
.top-label-form select {
  background: var(--cp-color-5);
  color: var(--cp-color-15);
}
.top-label-form .top-label-form-row {
  margin-bottom: 1rem;
}
.top-label-form .top-label-input-instructions {
  color: var(--cp-color-8);
}

.normal-labels label {
  text-transform: none;
  letter-spacing: 0;
}

.row-of-radio label {
  display: inline;
}

.selected {
  color: var(--cp-color-link);
}

.body-login h1 strong {
  color: var(--cp-color-link);
}

#sent-message {
  display: none;
  font-style: italic;
  text-align: center;
}
#sent-message p {
  color: var(--cp-color-green);
}

/***
  ERRORS
***/
.error {
  clear: both;
}
.explore-tabs .error {
  background: none;
  color: var(--cp-color-red) !important;
  font-weight: bold;
  border: 0;
  padding: 3px 8px 5px 8px;
}
.error input[type=name],
.error input[type=tel],
.error input[type=text],
.error input[type=email],
.error input[type=password],
.error input[type=url],
.error textarea {
  border-color: var(--cp-color-red);
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.error-message {
  background: var(--cp-color-red);
  color: white;
  padding: 5px 10px;
  margin-left: 35%;
  width: 64%;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
#login-error .error-message {
  padding-top: 0;
}
.top-label-form .error-message, .field-half .error-message {
  margin-left: 0;
  width: 100%;
}

#pro-other {
  clear: both;
  margin: 20px 0;
}
#pro-other .error-message {
  padding-top: 0;
}

/***
  FANCY TOGGLE
***/
.ios-toggle-wrap {
  position: relative;
  text-align: center;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.1);
}

.ios-toggle-mega-label-wrap {
  display: inline-block;
  position: relative;
  white-space: nowrap;
}
.ios-toggle-mega-label-wrap.ios-toggle-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.ios-toggle-mega-label {
  position: absolute;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ios-toggle > input:active + label::before, .ios-toggle > input:checked + label::before {
  width: 60%;
  left: 20%;
  top: 30%;
  height: 40%;
  opacity: 0;
}

.ios-toggle {
  position: relative;
  display: inline-block;
  width: 2.975em;
  height: 1.75em;
  border-radius: 1.75em;
  background: var(--cp-color-7);
  vertical-align: middle;
  margin: 0 0.5rem;
}
.ios-toggle > input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  opacity: 0;
  width: 100% !important;
  height: 100%;
  position: absolute !important;
}
.ios-toggle > input:checked + label {
  background: var(--cp-color-9);
}
.ios-toggle > input:checked + label::after {
  right: 0;
  left: 1.225em;
}
.ios-toggle > input:active + label::after {
  right: 0.875em;
  left: 0;
}
.ios-toggle > input:active:checked + label::after {
  right: 0;
  left: 0.875em;
}
.ios-toggle > input[disabled][disabled] + label,
.ios-toggle > input[disabled][disabled] + label::before {
  background: var(--cp-color-11);
}
.ios-toggle > input[disabled][disabled] + label::after {
  background: var(--cp-color-6);
}
.ios-toggle > input[disabled][disabled] ~ label {
  cursor: not-allowed;
}
.ios-toggle > label:not(.ios-toggle-mega-label) {
  display: block !important;
  width: 100% !important;
  height: 100%;
  border-radius: 1.75em;
  -webkit-transition: background 0.125s;
  transition: background 0.125s;
}
.ios-toggle > label:not(.ios-toggle-mega-label)::before, .ios-toggle > label:not(.ios-toggle-mega-label)::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 1.75em;
  border-radius: inherit;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.ios-toggle > label:not(.ios-toggle-mega-label)::before {
  background: var(--cp-color-green);
  width: 100%;
}
.ios-toggle > label:not(.ios-toggle-mega-label)::after {
  background: var(--cp-color-1);
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  right: 1.225em;
}
.ios-toggle.ios-toggle-ambiguous > input:checked + label {
  background: var(--cp-color-9);
}
.ios-toggle.ios-toggle-ambiguous > label::before {
  background: var(--cp-color-9);
}
.ios-toggle.ios-toggle-reverse > input:checked + label {
  background: var(--cp-color-green);
}
.ios-toggle.ios-toggle-reverse > label::before {
  background: var(--cp-color-9);
}
.ios-toggle.ios-toggle-big {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
}

.password-protect-toggle-wrap {
  background: #482020;
  text-align: left;
  padding-left: 1rem;
}

#item-details-password-value {
  width: auto;
  padding: 4px 6px;
  margin-left: 4px;
}

.no-password-error-message {
  font-size: 0.8rem;
  margin-top: 1rem;
}

.normal-labels label {
  font-weight: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  color: inherit;
}

.checkbox-row {
  position: relative;
  margin: 0 0 5px 0;
}
.checkbox-row.public-private-checkbox-row {
  margin-bottom: 0;
}

/*
 * Select from WTF Forms
 */
.select {
  position: relative;
  display: inline-block;
  color: var(--cp-color-12);
}
.select.select-small {
  vertical-align: top;
}
.select.select-small select {
  vertical-align: middle;
  border: 0;
  padding: 4px 20px 4px 10px;
  font-size: 0.7rem;
  border-radius: 3px;
}
.select.select-small::after {
  right: 5px;
  top: 14px;
}

.select select {
  display: inline-block;
  margin: 0;
  padding: 10px 20px 10px 10px;
  border: 3px solid var(--cp-color-7);
  border-radius: 2px;
  cursor: pointer;
  outline: 0;
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.select select:focus:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--cp-color-20);
}

.select::after {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  display: inline-block;
  content: "";
  width: 0;
  height: 0;
  margin-top: -0.15rem;
  pointer-events: none;
  border-top: 0.35rem solid;
  border-right: 0.35rem solid transparent;
  border-bottom: 0.35rem solid transparent;
  border-left: 0.35rem solid transparent;
}

.select select:focus {
  border-color: var(--cp-color-12);
}

.select select::-ms-expand {
  display: none;
}

@-moz-document url-prefix() {
  .select select {
    text-indent: 0.01px;
    text-overflow: "";
    padding-right: 1rem;
  }
  .select option {
    background-color: var(--cp-color-1);
  }
}
/*
  File input from WTF Forms
*/
.file-upload-input {
  position: relative;
  display: inline-block;
  cursor: pointer;
  text-align: left;
  margin: 0 5px;
}
.file-upload-input.button {
  font-weight: bold;
  border: 2px solid #929292;
  padding: 0.25em 0.5em;
  font-size: 0.8em;
  border-radius: 2px;
}

.file-upload-input input {
  margin: 0;
  opacity: 0;
  position: absolute;
}

.file-custom {
  position: relative;
  z-index: 2;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.file-custom:hover::after {
  color: #a2a2a2;
}
.file-custom::after {
  content: "choose";
  color: #929292;
}
.file-custom[data-text]::after {
  content: attr(data-text);
}

/* ---------------------------------- */
/*
  Resource Search Input
*/
.resource-search-bar {
  border-radius: 6px;
  position: relative;
  background: var(--cp-color-4);
  border: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 !important;
}
.resource-search-bar:focus-within {
  border-color: var(--cp-color-12);
}
.resource-search-bar .icon-mag {
  width: 18px;
  height: 18px;
  fill: #535557;
  margin-left: 0.75rem;
}
.resource-search-bar input[type=text] {
  width: 100%;
  border: 0;
  color: var(--cp-color-13);
  font-size: 1rem;
  background: none;
  padding: 1rem;
}
.resource-search-bar > input[type=text] {
  width: auto;
}
.resource-search-bar .clock-spinner {
  margin-right: 1rem;
}
.resource-search-bar .recent-searches {
  font-size: 0.9rem;
  background: var(--cp-color-7);
  width: 100%;
  padding: 0.1rem 0.5rem 0.05rem;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  overflow: hidden;
}
.resource-search-bar .recent-searches:empty {
  display: none;
}
.resource-search-bar .recent-searches strong {
  color: #9397a5;
  font-size: 0.8rem;
  vertical-align: top;
  display: inline-block;
  margin-top: 2px;
  letter-spacing: 0.4px;
}
.resource-search-bar .recent-searches span {
  cursor: pointer;
  margin-left: 3px;
  display: inline-block;
  background: var(--cp-color-13);
  padding: 0 6px;
  border-radius: 3px;
  color: var(--cp-color-6);
  margin-bottom: 2px;
  margin-top: 2px;
  font-size: 0.8rem;
}
.resource-search-bar .recent-searches span:hover {
  background: var(--cp-color-16);
}

.range {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.range label {
  width: 100%;
}
.range input {
  width: calc(100% - 40px);
}
.range .team-count-value {
  display: inline-block;
  width: 40px;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  vertical-align: top;
  color: var(--cp-color-13);
  line-height: 32px;
}

.signup-form .range.team-count,
.pricing-table .range.team-count {
  border: 3px solid var(--cp-color-8);
  border-radius: 4px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.25rem 0.5rem;
  max-width: 225px;
}
.signup-form .range .team-count-decrease,
.signup-form .range .team-count-increase,
.pricing-table .range .team-count-decrease,
.pricing-table .range .team-count-increase {
  border: none;
  color: transparent;
  position: relative;
  cursor: pointer;
}
.signup-form .range .team-count-decrease::before,
.signup-form .range .team-count-increase::before,
.pricing-table .range .team-count-decrease::before,
.pricing-table .range .team-count-increase::before {
  position: absolute;
  background: var(--cp-color-20);
  content: "";
  top: 5px;
  width: 16px;
  height: 4px;
}
.signup-form .range .team-count-decrease:focus,
.signup-form .range .team-count-increase:focus,
.pricing-table .range .team-count-decrease:focus,
.pricing-table .range .team-count-increase:focus {
  outline: none;
}
.signup-form .range .team-count-decrease:focus::before, .signup-form .range .team-count-decrease:focus::after,
.signup-form .range .team-count-increase:focus::before,
.signup-form .range .team-count-increase:focus::after,
.pricing-table .range .team-count-decrease:focus::before,
.pricing-table .range .team-count-decrease:focus::after,
.pricing-table .range .team-count-increase:focus::before,
.pricing-table .range .team-count-increase:focus::after {
  background: var(--cp-color-blue);
}
.signup-form .range .team-count-decrease::before,
.pricing-table .range .team-count-decrease::before {
  left: 1rem;
}
.signup-form .range .team-count-increase::before,
.pricing-table .range .team-count-increase::before {
  right: 1rem;
}
.signup-form .range .team-count-increase::after,
.pricing-table .range .team-count-increase::after {
  position: absolute;
  background: var(--cp-color-20);
  content: "";
  top: -1px;
  right: 1.4rem;
  width: 4px;
  height: 16px;
}

#forgot-password-form {
  display: none;
  margin-top: 1rem;
}

.custom-select-wrap {
  border-radius: 3px;
  position: relative;
  z-index: 1;
  height: 42px;
  background: var(--cp-color-1);
}
.custom-select-wrap select {
  z-index: 0;
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  border: none;
  cursor: pointer;
  padding: 0 24px 0 12px;
  height: 42px;
  line-height: 42px;
  font-size: 1.1rem;
  color: var(--cp-color-12);
  background: transparent;
}
.custom-select-wrap .select-icon {
  z-index: 1;
  padding: 1px;
  position: absolute;
  width: 18px;
  height: 18px;
  right: 6px;
  top: 12px;
  pointer-events: none;
}
.custom-select-wrap .select-icon svg {
  width: 14px;
  height: 30px;
  position: absolute;
  fill: var(--cp-color-12);
  padding: 1px;
}
.custom-select-wrap .select-icon svg:first-child {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  top: -10px;
}

.last {
  margin-right: 0 !important;
}

.center {
  text-align: center;
}

.flex-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.align-right {
  text-align: right;
}

.align-left {
  text-align: left;
}

.full-width,
.fullwidth {
  width: 100%;
}

.hide {
  display: none !important;
}

.show {
  display: block !important;
}

.group::before,
.group::after {
  content: "";
  display: table;
}

.group::after {
  clear: both;
}

.warning-icon-bar, .bonus-icon-bar {
  margin: 0 0 10px 0;
}
.warning-icon-bar span, .bonus-icon-bar span {
  display: inline-block;
  font-size: 2rem;
  color: white;
  background: var(--cp-color-red);
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  font-weight: 800;
  text-align: center;
}
.warning-icon-bar span.inline-warning, .bonus-icon-bar span.inline-warning {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  line-height: 1rem;
  font-size: 0.8rem;
}

.bonus-icon-bar span {
  font-family: sans-serif;
  width: 4rem;
  height: 4rem;
  line-height: 3.9rem;
  background: var(--cp-color-green);
}

.user-avatar {
  border-radius: 4px;
}

.unsupported-browser-message {
  padding: 1rem;
  background: var(--cp-color-yellow);
  color: var(--cp-color-20);
  display: none;
}
.unsupported-browser-message a {
  color: var(--cp-color-blue);
  border-bottom: 1px solid var(--cp-color-blue);
}
.unsupported-browser-message a:hover, .unsupported-browser-message a:focus {
  color: hsl(var(--cp-color-link-hsl)/80%);
  border-bottom: none;
}
html.ie8 .unsupported-browser-message, html.ie9 .unsupported-browser-message, html.ie10 .unsupported-browser-message, html.ie11 .unsupported-browser-message {
  display: block;
}

button {
  font-family: inherit;
}

.button {
  font-family: var(--cp-font-family);
  -webkit-appearance: none;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  vertical-align: middle; /* Needed to keep icon buttons and spinner buttons aligned properly */
  position: relative;
  font-family: inherit;
  font-size: 1rem;
  text-shadow: none;
  line-height: 1.2;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: none !important;
  font-weight: normal !important;
  cursor: pointer;
  background: var(--cp-button-bg);
  color: var(--cp-button-color);
  padding: var(--cp-button-padding);
  margin: var(--cp-button-margin);
  border-radius: var(--cp-button-border-radius);
  border: var(--cp-button-border-width) solid transparent;
  --cp-button-padding: var(--cp-button-padding-block)
    var(--cp-button-padding-inline);
  --cp-button-margin: var(--cp-button-margin-block)
    var(--cp-button-margin-inline) var(--cp-button-margin-block) 0;
}
.button:hover, .button:focus {
  background: var(--cp-button-hover-bg, var(--cp-button-bg)) !important;
  color: var(--cp-button-hover-color, var(--cp-button-color)) !important;
  outline-offset: 3px;
}
.button:hover svg, .button:focus svg {
  fill: var(--cp-button-hover-icon, var(--cp-button-icon));
}
.button::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.button:active {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
.button a {
  color: inherit;
}
.button > svg,
.button > span > svg {
  width: 16px;
  height: 16px;
  display: inline-block;
  pointer-events: none;
  vertical-align: bottom;
  fill: var(--cp-button-icon);
}
.button > svg.icon-heart,
.button > span > svg.icon-heart {
  width: 18px;
}
.button.green {
  --cp-button-bg: var(--cp-color-green);
  --cp-button-color: black;
  --cp-button-hover-bg: var(--cp-color-green-dark);
}
.button.faded-green {
  --cp-button-bg: var(--cp-color-green-dark);
  --cp-button-color: black;
  --cp-button-hover-bg: var(--cp-color-green-dark);
}
.button.red {
  --cp-button-bg: var(--cp-color-red);
  --cp-button-color: white;
  --cp-button-hover-bg: var(--cp-color-red-dark);
}
.button.purple {
  --cp-button-bg: var(--cp-color-purple);
  --cp-button-color: white;
  --cp-button-hover-bg: var(--cp-color-purple-dark);
}
.button.yellow {
  --cp-button-bg: var(--cp-color-yellow);
  --cp-button-color: black;
  --cp-button-hover-bg: var(--cp-color-yellow-dark);
}
.button.yellow-dark {
  --cp-button-bg: var(--cp-color-yellow-dark);
  --cp-button-color: black;
  --cp-button-hover-bg: var(--cp-color-yellow-dark);
}
.button.blue {
  --cp-button-bg: var(--cp-color-blue);
  --cp-button-color: black;
  --cp-button-hover-bg: var(--cp-color-blue-dark);
}
.button.light {
  --cp-button-bg: var(--cp-color-7);
  --cp-button-color: var(--cp-color-17);
  --cp-button-hover-bg: var(--cp-color-6);
  --cp-button-hover-color: var(--cp-color-16);
}
.button.gray {
  --cp-button-bg: var(--cp-color-11);
  --cp-button-color: var(--cp-color-1);
  --cp-button-hover-bg: var(--cp-color-10);
}
.button.black {
  --cp-button-bg: var(--cp-color-17);
  --cp-button-color: var(--cp-color-1);
  --cp-button-hover-bg: var(--cp-color-16);
}
.button.grad-blue {
  --cp-button-bg: linear-gradient(
    to right,
    var(--cp-color-blue-dark),
    var(--cp-button-default-bg)
  );
  --cp-button-hover-bg: var(--cp-color-blue-dark);
  background-size: calc(100% + 6px);
  background-position: -3px 0;
}
.button.grad-yellow {
  --cp-button-bg: linear-gradient(
    to right,
    var(--cp-color-yellow-dark),
    var(--cp-button-default-bg)
  );
  --cp-button-hover-bg: var(--cp-color-yellow-dark);
  background-size: calc(100% + 6px);
  background-position: -3px 0;
}
.button:not([disabled]).roll-red {
  --cp-button-hover-bg: var(--cp-color-red);
  --cp-button-hover-color: var(--cp-color-1);
}
.button:not([disabled]).roll-green {
  --cp-button-hover-bg: var(--cp-color-green);
  --cp-button-hover-color: black;
}
.button:not([disabled]).roll-yellow {
  --cp-button-hover-bg: var(--cp-color-yellow);
  --cp-button-hover-color: black;
}
.button:not([disabled]).roll-gray {
  --cp-button-hover-bg: var(--cp-color-17);
  --cp-button-hover-color: var(--cp-color-1);
}

button.invisible-button {
  border: 0;
  background: none;
}

.button-no-right-margin {
  margin-right: 0;
}

.button-fullwidth {
  display: block;
  width: 100%;
  text-align: center;
  margin: 10px 0;
}

.mini-button {
  font-size: 0.8rem;
  padding: 2px 7px;
  margin: 0 3px 0 0;
  border-width: 1px;
  border-radius: 2px;
}
.mini-button > svg {
  width: 10px;
  height: 10px;
}
.mini-button > svg:not(:only-child) + :not(.screen-reader-text) {
  margin-right: 2px;
}

.file-upload-button {
  width: 80px;
}

.file-upload-button::-webkit-file-upload-button {
  visibility: hidden;
}

.file-upload-button::before {
  content: "Select File(s)";
  white-space: nowrap;
  -webkit-user-select: none;
  cursor: pointer;
}

.social-account-button {
  --cp-button-color: var(--cp-color-1);
  --cp-button-hover-bg: var(--cp-color-19);
  padding-left: 60px;
  text-align: left;
  margin: 0 0 10px 0;
}
.social-account-button:hover, .social-account-button:focus {
  outline: 2px solid var(--cp-color-12);
  outline-offset: -2px;
}
.social-account-button svg {
  width: 26px;
  height: 26px;
  fill: var(--cp-color-1);
  position: absolute;
  left: 14px;
  top: 6px;
}
.social-account-button.social-account-button-warning:hover:not([disabled]), .social-account-button.social-account-button-warning:focus:not([disabled]) {
  background: #a00808;
  color: white !important;
}
.social-account-button.social-account-button-warning:hover:not([disabled]) svg, .social-account-button.social-account-button-warning:focus:not([disabled]) svg {
  fill: white;
}
.social-account-button.smaller {
  white-space: normal;
  padding: 5px 8px 5px 40px;
  overflow: hidden;
  background-size: 30px;
  background-position: 4px 12px;
}
.social-account-button.smaller svg {
  width: 20px;
  height: 20px;
  left: 8px;
  top: 50%;
  margin-top: -10px;
}
.social-account-button.smaller:hover:not([disabled]), .social-account-button.smaller:focus:not([disabled]) {
  background-size: 30px;
  background-position: 4px -39px;
}

select.button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-indent: 1px;
  text-overflow: "";
}

.multi-button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  margin-right: 10px;
  border-radius: var(--cp-button-border-radius);
}
.multi-button > .button {
  margin: 0;
  float: left;
  border-radius: 0;
}

.mini-multi-button {
  overflow: visible;
  margin: 0 10px;
}
.mini-multi-button > .button {
  min-width: 50px;
  text-align: center;
  margin-left: -1px;
}
.mini-multi-button > .button:first-child {
  border-radius: 3px 0 0 3px;
}
.mini-multi-button > .button:last-child {
  border-radius: 0 3px 3px 0;
}

.multi-button-outline .button:first-child {
  border-top-left-radius: var(--cp-button-border-radius);
  border-bottom-left-radius: var(--cp-button-border-radius);
}
.multi-button-outline .button:last-child {
  border-top-right-radius: var(--cp-button-border-radius);
  border-bottom-right-radius: var(--cp-button-border-radius);
}
.multi-button-outline .button:not(:last-child) {
  border-right: 0;
}
.multi-button-outline .button:not(:first-child) {
  border-left: 0;
}

progress.progress {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 10px;
  border: 0;
  background-color: var(--cp-color-13);
}
progress.progress::-webkit-progress-bar {
  background-color: var(--cp-color-13);
}
progress.progress::-moz-progress-bar {
  background-color: var(--cp-color-8);
}
progress.progress::-webkit-progress-value {
  background-color: var(--cp-color-8);
}
progress.progress.level-1::-moz-progress-bar {
  background-color: var(--cp-color-green);
}
progress.progress.level-1::-webkit-progress-value {
  background-color: var(--cp-color-green);
}
progress.progress.level-2::-moz-progress-bar {
  background-color: var(--cp-color-yellow);
}
progress.progress.level-2::-webkit-progress-value {
  background-color: var(--cp-color-yellow);
}
progress.progress.level-3::-moz-progress-value {
  background-color: var(--cp-color-red);
}
progress.progress.level-3::-webkit-progress-value {
  background-color: var(--cp-color-red);
}

.tabNav {
  border-bottom: 2px solid var(--cp-color-14);
}
.tabNav ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.tabNav-tab {
  display: inline-block;
}
.tabNav-tab a {
  border-bottom: 2px solid var(--cp-color-14);
  color: var(--cp-color-10);
  display: block;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 0.625rem 1rem;
  margin-bottom: -2px;
  -webkit-transition: 0.2s ease all;
  transition: 0.2s ease all;
}
.tabNav-tab a.active {
  color: var(--cp-color-1);
  border-bottom: 2px solid var(--cp-color-green);
}
.tabNav-tab a:hover, .tabNav-tab a:active {
  color: var(--cp-color-1);
  border-bottom: 2px solid var(--cp-color-11);
}

.loading-spinner {
  height: 1.2em;
  width: 1.2em;
  border-radius: 50%;
  background: var(--cp-color-11);
  display: block;
  margin: 10em auto;
  position: absolute;
  left: 50%;
  -webkit-animation: loading-spinner 2s ease infinite;
          animation: loading-spinner 2s ease infinite;
}
.loading-spinner::before, .loading-spinner::after {
  content: "";
  display: block;
  position: absolute;
  height: inherit;
  width: inherit;
  background: inherit;
  border-radius: inherit;
  -webkit-animation: loading-spinner 2s ease infinite;
          animation: loading-spinner 2s ease infinite;
}
.loading-spinner::before {
  left: -2.3em;
}
.loading-spinner::after {
  left: 2.3em;
}

@-webkit-keyframes loading-spinner {
  0% {
    top: 0;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    top: -3.8em;
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
  100% {
    top: 0;
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}

@keyframes loading-spinner {
  0% {
    top: 0;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    top: -3.8em;
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
  100% {
    top: 0;
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
.loading-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: var(--cp-color-7);
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.loading-text span {
  display: inline-block;
  width: 15px;
  white-space: nowrap;
  overflow: hidden;
  letter-spacing: 1px;
  -webkit-animation: exposedots 20s forwards linear;
          animation: exposedots 20s forwards linear;
  vertical-align: bottom;
}
body.prelayout .loading-text {
  opacity: 0;
}
#results .loading-text {
  position: static;
  -webkit-transform: none;
          transform: none;
}

@-webkit-keyframes exposedots {
  to {
    width: 75px;
  }
}

@keyframes exposedots {
  to {
    width: 75px;
  }
}
.modal {
  position: fixed;
  width: 600px;
  min-width: 380px;
  left: 50%;
  top: 40px;
  margin-left: -300px;
  padding: 20px;
  color: var(--cp-color-1);
  background: var(--cp-color-20);
  z-index: 300;
  max-height: calc(100% - 80px);
  overflow-x: hidden;
  overflow-y: auto;
}
.modal::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.modal::-webkit-scrollbar-thumb {
  background: var(--cp-color-11);
  border-radius: 1px;
}
.modal::-webkit-scrollbar-track {
  background: var(--cp-color-5);
}
.modal::-webkit-scrollbar-corner {
  background: var(--cp-color-5);
}
@supports not selector(::-webkit-scrollbar) {
  .modal {
    scrollbar-color: var(--cp-color-11) var(--cp-color-5);
    scrollbar-width: thin;
  }
}
.modal h1 {
  font-size: 2.4rem;
}
.modal p,
.modal ul {
  color: var(--cp-color-6);
  margin: 0 0 25px 0;
}
.modal p.error-details {
  color: var(--cp-color-9);
  font-size: 0.9rem;
  letter-spacing: 1px;
  margin: 0;
}
.modal ul {
  margin-left: 20px;
}
.modal .modal-buttons {
  margin: 0;
}
.modal p > code,
.modal div > code,
.modal li > code {
  font-family: var(--cp-font-family-monospace);
  font-size: 0.8em;
  color: var(--cp-color-1);
}
.modal .contact-support {
  vertical-align: top;
  font-style: italic;
  margin-top: -10px;
}
.modal .button {
  float: none;
}
.modal.modal-warning {
  border: 10px solid var(--cp-color-red);
}
.modal.modal-error, .modal.modal-upsell {
  border: 10px solid var(--cp-color-yellow);
}
.modal.modal-good {
  border: 10px solid var(--cp-color-green);
}
.modal.modal-neutral {
  border: 10px solid var(--cp-color-12);
}
.modal.modal-email, .modal.modal-blue {
  border: 10px solid var(--cp-color-link);
}
.modal.modal-single-message {
  text-align: center;
  padding: 45px 10px 55px;
}
.modal.modal-single-message p {
  margin: 0;
}
.modal.modal-feature h2 {
  font-size: 2rem;
  text-align: center;
  margin: 1rem 3rem 1.5rem;
}
@media (max-width: 830px) {
  .modal {
    top: 20px;
    left: 10px;
    right: 10px;
    width: auto;
    min-width: 0;
    max-height: 375px;
    overflow: auto;
    margin-left: 0;
  }
}
.modal .stop-confirms {
  margin-top: 20px;
  margin-bottom: 10px;
}
.modal .stop-confirms input[type=checkbox] {
  display: inline-block;
  vertical-align: top;
  margin-right: 6px;
  margin-top: 5px;
}

.modal-message {
  z-index: 301;
}

.modal-blocker {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 301;
  display: block;
  top: 0;
}

.modal-close-button {
  background: transparent;
  border: none;
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 10;
  cursor: pointer;
}
.modal-close-button svg {
  fill: var(--cp-color-9);
  width: 1rem;
  height: 1rem;
  -webkit-transition: 0.1s ease fill;
  transition: 0.1s ease fill;
}
.modal-close-button:hover svg {
  fill: var(--cp-color-1);
}
.modal-close-button.light-modal:hover svg {
  fill: var(--cp-color-18);
}

@media (max-width: 600px) {
  .modal {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 90%;
    left: 0;
    right: 0;
    margin: auto;
    min-width: auto;
  }
}
.modal-title {
  font-weight: 700;
  font-size: 32px;
  margin: 0 0 10px 0;
  line-height: 1.2;
}

.bottom-left-popup {
  top: auto;
  bottom: 30px;
  left: 0;
  width: auto;
  margin-left: 0;
  border-radius: 0;
}

.upload-error-file {
  font-weight: bold;
  color: var(--cp-color-red);
}

@media (max-width: 830px) {
  .modal-buttons {
    line-height: 4;
  }
}
.overlay {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
}
.overlay.block {
  display: block;
}

.modal-overlay,
.noscript-overlay {
  z-index: 300;
}

.popup-overlay {
  z-index: 200;
}

input.modal-closing-trick {
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  margin: -1px;
}

input.modal-closing-trick:checked ~ div {
  display: none !important;
}

.collision-modal-choices {
  border-collapse: collapse;
}
.collision-modal-choices td {
  padding: 15px 20px 15px 0;
  border-bottom: 1px solid var(--cp-color-9);
}
.collision-modal-choices tr:last-child td {
  border: 0;
  padding-top: 20px;
}

#list-of-files p {
  margin: 0 0 2px 0;
}
#list-of-files p::before {
  content: " - ";
}
#list-of-files p:last-child {
  margin-bottom: 15px;
}

/* Extra values we can use if we decide we need more control in the future */
.modal-signup {
  background: var(--cp-color-1);
  border-top: 7px solid var(--cp-color-green);
  border-radius: 6px;
  padding: 2rem 4rem;
  height: 81vh;
  max-height: 800px;
  max-width: 550px;
  top: 2.5vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.modal-signup > h1,
.modal-signup > p {
  text-align: center;
}
.modal-signup h1 {
  color: var(--cp-color-13);
}
.modal-signup h1 strong {
  color: var(--cp-color-green-dark);
}
.modal-signup p {
  color: var(--cp-color-10);
}
.modal-signup .tabs {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 32px;
}
.modal-signup .tab-group {
  background: var(--cp-color-1);
  margin: 0 -4rem;
  padding: 2rem 4rem 0;
  position: relative;
  z-index: 5;
  border-top: 1px solid var(--cp-color-2);
}
.modal-signup .tab {
  text-align: center;
  color: var(--cp-color-13);
  width: 100%;
  display: block;
}
.modal-signup .tab.active {
  display: none;
}
.modal-signup .tab .button {
  padding: 10px 16px;
  margin-right: 0;
  display: block;
}
.modal-signup .tab .fake-link {
  color: var(--cp-color-link-on-white);
}
.modal-signup .tab .fake-link:hover, .modal-signup .tab .fake-link:focus {
  color: var(--cp-color-link-on-white);
}
.modal-signup .input-area {
  overflow-y: auto;
  position: relative;
  z-index: 1;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-bottom: 16px;
}
.modal-signup .input-area label {
  color: var(--cp-color-13);
  text-transform: none;
  font-weight: bold;
}
.modal-signup .input-area.active {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.modal-signup .anon-signup-tab {
  margin-right: -40px;
  padding-right: 20px;
}
.modal-signup .loading {
  position: absolute;
  z-index: 0;
  width: 220px;
  height: 140px;
  left: 50%;
  margin-left: -110px;
  top: 110px;
}
.modal-signup .loading .loading-codepen-box {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  margin-top: -60px;
}
.modal-signup .loading .loading-codepen-box svg {
  fill: var(--cp-color-10);
}
.modal-signup .loading p {
  font-size: 1.5rem;
  margin-left: 90px;
  margin-top: 20px;
}
.modal-signup .anon-login-frame {
  border: 0;
  outline: 0;
  width: 100%;
  padding: 0;
  margin: 0;
  height: 500px;
  max-height: 100dvh;
  position: relative;
  z-index: 20;
  overflow: hidden;
}
@media (max-width: 550px) {
  .modal-signup {
    max-height: 100%;
    min-height: 100%;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding: 10px;
  }
  .modal-signup h1 {
    font-size: 2rem;
  }
  .modal-signup .tab-group {
    white-space: nowrap;
  }
  .modal-signup .tabs {
    padding-bottom: 22px;
  }
  .modal-signup .tab.left {
    margin-right: 3px;
  }
}

.unsaved-editor-message {
  font-size: 10px;
  vertical-align: -0.5em;
  padding: 2px 6px 3px;
  background: var(--cp-color-yellow);
  color: black;
  border-radius: 3px;
  line-height: 1;
  margin-inline: 3px;
  max-width: 50%;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transition: opacity 0.4s linear, -webkit-transform 0.4s ease-in-out;
  transition: opacity 0.4s linear, -webkit-transform 0.4s ease-in-out;
  transition: opacity 0.4s linear, transform 0.4s ease-in-out;
  transition: opacity 0.4s linear, transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
.unsaved-editor-message b {
  font-weight: 700;
}
.unsaved-editor-message svg {
  opacity: 0.7;
  margin-left: 2px;
  margin-bottom: -1px;
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
}
.unsaved-editor-message.visible {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  pointer-events: auto;
}
.is-horiz-skinny + * .unsaved-editor-message.visible {
  -webkit-animation: none;
          animation: none;
}
@media (max-width: 767px), (max-height: 440px) {
  .unsaved-editor-message {
    position: fixed;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -100%);
            transform: translate(-50%, -100%);
    border-radius: 0 0 3px 3px;
    white-space: nowrap;
    z-index: 15;
  }
  .unsaved-editor-message.visible {
    visibility: visible;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}

@-webkit-keyframes flash-message-in {
  from {
    -webkit-transform: translate(-50%, -100%);
            transform: translate(-50%, -100%);
    opacity: 0;
  }
}

@keyframes flash-message-in {
  from {
    -webkit-transform: translate(-50%, -100%);
            transform: translate(-50%, -100%);
    opacity: 0;
  }
}
.flash-message {
  position: fixed;
  z-index: 302;
  top: 0;
  left: 50%;
  right: -50%;
  font-size: 14px;
  line-height: 1.3;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 3px 10px 4px;
  color: black;
  border-radius: 0 0 5px 5px;
  background: var(--cp-color-yellow);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  white-space: nowrap;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-animation: flash-message-in 0.5s ease-in-out;
          animation: flash-message-in 0.5s ease-in-out;
}
.flash-message a {
  background: var(--cp-color-14);
  color: white;
  padding: 2px 4px;
  border-radius: 4px;
  white-space: nowrap;
}
.flash-message a:hover, .flash-message a:focus {
  background: var(--cp-color-12);
}
.flash-message button.recheck-button {
  margin-left: 10px;
  margin-bottom: 1px;
}
.flash-message .close {
  width: 22px;
  height: 22px;
  padding: 5px;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
}
.flash-message .close svg {
  position: relative;
  width: 100%;
  height: 100%;
  top: 0;
  vertical-align: top;
}
.flash-message .dismiss {
  background: var(--cp-color-yellow);
  color: black;
  display: inline-block;
  padding: 0;
  text-align: center;
  font-size: 12px;
  margin-left: 10px;
  letter-spacing: 0.1px;
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  border-radius: 100%;
  font-weight: bold;
  border: 2px solid black;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
.flash-message .dismiss svg {
  width: 50%;
  height: 50%;
  margin-top: 5px;
}

.help-flyout {
  font-family: var(--cp-font-family);
  display: none;
  position: absolute;
  z-index: 10;
  left: 100%;
  top: -20px;
  margin-left: 12px;
  border: 5px solid var(--cp-color-12);
  -webkit-box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
          box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
  width: 300px;
  padding: 20px;
  background: var(--cp-color-20);
  text-align: left;
  font-weight: normal;
  color: var(--cp-color-8);
  cursor: auto;
}
.help-flyout::before {
  content: "";
  position: absolute;
  left: 0;
  margin-left: -14px;
  top: 12px;
  width: 0;
  height: 0;
  border-right: 10px solid var(--cp-color-12);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
.help-flyout h5 {
  color: var(--cp-color-1);
  margin: 0 0 0.5rem 0;
}
.help-flyout p {
  color: var(--cp-color-8) !important;
  font-size: 0.9rem;
  margin: 0 0 1rem 0;
}
.help-flyout p:last-child {
  margin: 0;
}
.settings .help-flyout a {
  color: var(--cp-color-link-on-black);
  white-space: nowrap;
  border-color: var(--cp-color-link-on-black);
}
.settings .help-flyout a:hover, .settings .help-flyout a:focus {
  color: white;
  border: none;
}
.help-flyout pre {
  white-space: pre-wrap;
}

.help-flyout-reverse {
  left: auto;
  right: 100%;
  margin-left: 0;
  margin-right: 12px;
}
.help-flyout-reverse::before {
  left: auto;
  right: 0;
  margin-left: 0;
  margin-right: -24px;
  border-right: 10px solid transparent;
  border-left: 10px solid var(--cp-color-12);
}

.help-flyout-flush-right-top {
  right: 0;
  left: auto;
  top: auto;
  margin-right: 0;
  margin-left: 0;
  bottom: calc(100% + 20px);
}
.help-flyout-flush-right-top::before {
  top: calc(100% + 5px);
  bottom: 0;
  left: auto;
  right: 0;
  margin-left: 0;
  margin-right: 0;
  border-left: 10px solid transparent;
  border-top: 10px solid var(--cp-color-12);
  border-bottom: none;
  border-right: 10px solid transparent;
}

.help-flyout-flush-left-top {
  right: 100%;
  left: auto;
  top: -2px;
  margin-right: 12px;
  margin-left: 0;
  bottom: auto;
  z-index: 6;
}
.help-flyout-flush-left-top::before {
  top: -5px;
  bottom: auto;
  left: auto;
  right: 0;
  margin-left: 0;
  margin-right: -24px;
  border-left: 10px solid var(--cp-color-12);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 10px solid transparent;
}

.help-flyout-up {
  top: auto;
  bottom: -20px;
}
.help-flyout-up::before {
  top: auto;
  bottom: 10px;
}

.help-flyout-middle {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.help-flyout-middle::before {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.help-flyout-narrow {
  width: 200px;
}

.help-flyout-link {
  position: absolute;
  top: 3px;
  right: 0;
  width: 14px;
  height: 14px;
  margin: 0;
  cursor: pointer;
  /* for inline flyouts */
}
.help-flyout-link .icon-help {
  width: 100%;
  height: 100%;
  fill: var(--cp-color-11);
}
.help-flyout-link .icon-help:hover, .help-flyout-link .icon-help:focus {
  fill: var(--cp-color-blue);
}
.help-flyout-link svg {
  display: block;
}
.help-flyout-link .icon-x {
  width: 12px;
  height: 12px;
  fill: var(--cp-color-12);
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
}
.help-flyout-link .icon-x:hover, .help-flyout-link .icon-x:focus {
  fill: var(--cp-color-6);
}
.template-wrap .help-flyout-link, .public-private-wrap .help-flyout-link, .template-checkbox-row .help-flyout-link {
  top: 22px;
  right: 20px;
}
.help-flyout-link.inline-flyout.open {
  width: 100%;
  position: relative;
  height: auto;
}
.help-flyout-link.inline-flyout.open .icon-help {
  position: absolute;
  right: -5px;
  left: auto;
  top: -25px;
  width: 14px;
  height: 14px;
}
.help-flyout-link.inline-flyout.open .help-flyout.help-flyout-reverse {
  display: block;
  position: relative;
  right: auto;
  width: 100%;
  margin-top: 24px;
  border-width: 2px;
  left: 2%;
}
.help-flyout-link.inline-flyout.open .help-flyout.help-flyout-reverse::before {
  display: none;
}

/**
 * Private lock icon on private pens/collections and soon to be posts
 */
.private-icon {
  float: right;
  fill: var(--cp-color-12);
  height: 25px;
  width: 20px;
}
.private-icon svg {
  width: 100%;
  height: 100%;
}
.private-icon.left {
  margin-right: 5px;
  float: left;
}

.typeahead,
.tt-query,
.tt-hint {
  padding: 8px 12px;
  border: 2px solid #ccc;
  outline: none;
}

.typeahead:focus {
  border: 2px solid #0097cf;
}

.tt-suggestion {
  color: var(--cp-color-1);
  margin: 0 !important;
  padding: 8px;
  font-size: 11px;
  white-space: nowrap !important;
  text-overflow: ellipsis;
  overflow: hidden;
}
.tt-suggestion small {
  display: block;
  margin: 2px 0;
  color: var(--cp-color-9);
}

.tt-cursor {
  color: white;
  background: -webkit-gradient(linear, left top, left bottom, from(#3875d7), to(#2a62bc));
  background: linear-gradient(#3875d7, #2a62bc);
}

.tt-menu {
  background: -webkit-gradient(linear, left top, left bottom, from(#313131), to(#131313));
  background: linear-gradient(#313131, #131313);
  color: white;
  width: calc(100% + 73px);
  max-height: 240px;
  overflow: auto;
  left: -36px !important;
}
.tt-menu::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.tt-menu::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 1px;
}
.tt-menu::-webkit-scrollbar-track {
  background: transparent;
}
.tt-menu::-webkit-scrollbar-corner {
  background: transparent;
}
@supports not selector(::-webkit-scrollbar) {
  .tt-menu {
    scrollbar-color: #666 transparent;
    scrollbar-width: thin;
  }
}

.empty-typeahead-message {
  padding: 15px;
  color: white;
}

.typeahead-no-results-found {
  text-align: center;
  padding: 1rem;
}

.twitter-typeahead {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
