.ge-mainControls {
  position: relative;
  min-height: 22px;
  margin-bottom: 10px;
  /* The add buttons on the left are grey, so the blue is left to the
       source, preview and layout buttons on the right */
  /* toolbar_groups: the tabs choosing which category of add buttons
       shows, at the start of the line. Never squeezed, and never behind the
       more button */
  /* toolbar_overflow: 'menu'. The add buttons keep to one line, and the
       ones that don't fit go behind a button at its end. The right-hand
       buttons come before in the markup, so they are ordered back to how
       floating them puts them. */
  /* As wide as its buttons, so the more button comes right after them;
       the room left over pushes the right-hand buttons to the end, from
       the line or, while it shows, from the more button */
}
.ge-mainControls .ge-wrapper {
  padding-top: 5px;
}
.ge-mainControls .ge-wrapper.ge-top .container {
  margin: 0;
  padding: 0;
  width: auto;
}
.ge-mainControls .ge-wrapper.ge-fixed {
  position: fixed;
  z-index: 20;
  top: 0;
}
.ge-mainControls .ge-addRowGroup .btn.btn-light,
.ge-mainControls .ge-addContainerGroup .btn.btn-light,
.ge-mainControls .ge-toolbar-more > .btn.btn-light {
  background: #f4f4f4;
  color: #666;
  border-color: #999;
}
.ge-mainControls .ge-addRowGroup .btn.btn-light:hover,
.ge-mainControls .ge-addContainerGroup .btn.btn-light:hover,
.ge-mainControls .ge-toolbar-more > .btn.btn-light:hover,
.ge-mainControls .ge-addRowGroup .btn.btn-light:active,
.ge-mainControls .ge-addContainerGroup .btn.btn-light:active,
.ge-mainControls .ge-toolbar-more > .btn.btn-light:active {
  background: #E3E3E3;
}
.ge-mainControls .ge-addRowGroup .btn.btn-light {
  display: flex;
  align-items: center;
}
.ge-mainControls .ge-addRowGroup .ge-row-icon {
  width: 48px;
  /* A button shrinks to its content, and an equal column has none */
  flex: 0 0 48px;
  margin: 0;
  /* Nothing inside to be as wide as */
}
.ge-mainControls .ge-addRowGroup .ge-row-icon .column {
  height: 10px;
  background: #666;
  padding: 0;
  border-left: 2px solid #f4f4f4;
}
.ge-mainControls .ge-addRowGroup .ge-row-icon .col-auto {
  min-width: 8px;
}
.ge-mainControls .ge-layout-mode {
  margin-left: 5px;
}
.ge-mainControls .ge-toolbar-groups {
  flex: none;
  margin-right: 8px;
  /* An outline button has no background of its own: with the toolbar
           fixed over the canvas, the drawers would show through */
}
.ge-mainControls .ge-toolbar-groups > .btn {
  --bs-btn-bg: var(--bs-body-bg, #fff);
  white-space: nowrap;
}
.ge-mainControls .ge-wrapper.ge-toolbar-menu {
  display: flex;
  align-items: flex-start;
}
.ge-mainControls .ge-wrapper.ge-toolbar-menu > .pull-right {
  float: none;
}
.ge-mainControls .ge-wrapper.ge-toolbar-menu > .ge-toolbar-end {
  order: 1;
}
.ge-mainControls .ge-wrapper.ge-toolbar-menu > .btn-group.pull-right {
  order: 2;
}
.ge-mainControls .ge-wrapper.ge-toolbar-menu > .ge-layout-mode {
  order: 3;
}
.ge-mainControls .ge-toolbar-start {
  display: flex;
  flex: 0 1 auto;
  min-width: 0;
  margin-right: auto;
  overflow: hidden;
  /* A group as wide as its buttons and a button as wide as its label:
           squeezed, they would wrap their labels rather than overflow */
}
.ge-mainControls .ge-toolbar-start > .btn-group {
  flex: none;
  /* All its buttons behind the more button: no margin left over */
}
.ge-mainControls .ge-toolbar-start > .btn-group:empty {
  display: none;
}
.ge-mainControls .ge-toolbar-start .btn {
  white-space: nowrap;
}
.ge-mainControls .ge-toolbar-start .btn.ge-before-more {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ge-mainControls .ge-toolbar-overflowing > .ge-toolbar-start {
  margin-right: 0;
}
.ge-mainControls .ge-toolbar-more {
  display: none;
  position: relative;
  flex: none;
  margin: 0 auto 0 -1px;
  padding-right: 5px;
  /* Joined to the last button on the line, as in a btn-group */
}
.ge-mainControls .ge-toolbar-more.ge-needed {
  display: block;
}
.ge-mainControls .ge-toolbar-more > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ge-mainControls .ge-toolbar-overflow {
  display: none;
  position: absolute;
  z-index: 30;
  top: calc(100% + 4px);
  right: 5px;
  flex-direction: column;
  gap: 6px;
  width: max-content;
  max-width: min(420px, calc(100vw - 32px));
  padding: 6px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 6px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  /* Wrapped onto several lines, a group's buttons stand apart */
}
.ge-mainControls .ge-toolbar-overflow > .btn-group {
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
}
.ge-mainControls .ge-toolbar-overflow > .btn-group:empty {
  display: none;
}
.ge-mainControls .ge-toolbar-overflow > .btn-group > .btn.btn {
  margin-left: 0;
  border-radius: 4px;
}
.ge-mainControls .ge-toolbar-more.ge-open > .ge-toolbar-overflow {
  display: flex;
}
.ge-mainControls .ge-toolbar-end {
  margin-right: 5px;
}
.ge-mainControls .ge-toolbar-end > .btn + .btn {
  margin-left: 5px;
}
.ge-mainControls .btn:focus {
  box-shadow: none;
  outline: none;
}
.ge-mainControls .pull-right {
  float: right;
}
.ge-mainControls .dropdown-menu a {
  cursor: default;
}
.ge-html-output {
  width: 100%;
  display: none;
}
/* A block's html edited in place, with the codemirror-inline plugin: the
   block is hidden behind its editor while it is open */
.ge-canvas.ge-editing .ge-code-hidden {
  display: none !important;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-code-inline {
  position: relative;
  width: 100%;
  margin: 0 0 5px;
  padding: 4px;
  background: #f8f9fa;
  border: 1px solid #ced4da;
  border-radius: 4px;
  cursor: auto;
  -webkit-user-select: text;
  user-select: text;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-code-inline > .ge-code-inline-source {
  width: 100%;
  min-height: 120px;
  font-family: monospace;
  font-size: 13px;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-code-inline .CodeMirror {
  height: auto;
  border: 1px solid #ced4da;
  font-size: 13px;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-code-inline .CodeMirror-scroll {
  min-height: 120px;
  max-height: 60vh;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-code-inline > .ge-code-inline-bar {
  display: flex;
  gap: 4px;
  justify-content: flex-end;
  padding-top: 4px;
}
/* The source view in a code editor, with the codemirror plugin: where the
   textarea was, and as wide */
.ge-code-editor {
  width: 100%;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 13px;
}
/* Not editing */
.ge-canvas .ge-tools-drawer {
  display: none;
}
/* While a toolbar button is in the air, the canvas opens up: the gap between
   two rows is where a drop lands at canvas level instead of inside a column,
   and it is otherwise too thin to aim at */
.ge-canvas.ge-editing.ge-dropping {
  /* Where the block would land */
}
.ge-canvas.ge-editing.ge-dropping > .row {
  margin-bottom: 24px;
}
.ge-canvas.ge-editing.ge-dropping .column > .row {
  margin-bottom: 20px;
}
.ge-canvas.ge-editing.ge-dropping .ge-drop-marker {
  height: 6px;
  margin: 4px 0;
  border-radius: 3px;
  background: #2FA4E7;
}
/* The button following the pointer must not be what the pointer is over */
.ge-drag-helper {
  opacity: 0.85;
  pointer-events: none;
}
.ge-drag-helper .ge-tools-drawer {
  pointer-events: none;
}
/* A toolbar button that can be carried onto the canvas */
.ge-palette-button {
  cursor: move;
  touch-action: none;
}
.ge-toolbar-helper {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
  opacity: 0.85;
}
/* Dragging by the whole drawer rather than by the move tool */
.ge-canvas.ge-editing.ge-drag-drawer {
  /* The tools in it are still tools, and do not start a drag */
  /* An info tool does nothing when clicked, so it is somewhere to hold */
  /* A text's drawer sits over the text, small, and is mostly tools: a grip
       at its start says where to take hold of it */
}
.ge-canvas.ge-editing.ge-drag-drawer .ge-tools-drawer {
  cursor: move;
}
.ge-canvas.ge-editing.ge-drag-drawer .ge-tools-drawer > a,
.ge-canvas.ge-editing.ge-drag-drawer .ge-tools-drawer .ge-details {
  cursor: pointer;
}
.ge-canvas.ge-editing.ge-drag-drawer .ge-tools-drawer .ge-details {
  cursor: auto;
}
.ge-canvas.ge-editing.ge-drag-drawer .ge-tools-drawer > a.ge-text-info,
.ge-canvas.ge-editing.ge-drag-drawer .ge-tools-drawer > a.ge-element-info {
  cursor: move;
}
.ge-canvas.ge-editing.ge-drag-drawer .ge-text-block > .ge-text-drawer {
  padding-left: 14px;
}
.ge-canvas.ge-editing.ge-drag-drawer .ge-text-block > .ge-text-drawer::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 4px;
  width: 6px;
  height: 14px;
  transform: translateY(-50%);
  background-image: radial-gradient(circle, #50637b 1px, transparent 1.3px);
  background-size: 3px 3px;
  opacity: 0.7;
}
/* A node's settings, wherever settings_panel shows them: in its drawer, or
   in one of Bootstrap's offcanvas, popover or modal, outside the canvas. The
   fields are Bootstrap's own - form-control-sm, form-select-sm,
   btn-outline-secondary - and this only lays them out. */
.ge-details {
  font-size: 0.8125rem;
  /* Each section's heading: the general fields, and what plugins add */
  /* Every section after the first, set off from the one above */
  /* The utility plugins' fields, folded under one toggle */
}
.ge-details .ge-details-general {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ge-details .ge-section-title {
  margin: 0 0 6px;
  color: var(--bs-body-color, #333);
  font-size: 0.8125rem;
  font-weight: 600;
}
.ge-details .ge-panel-section,
.ge-details .ge-utilities {
  padding-top: 10px;
  border-top: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.1));
}
.ge-details .ge-field {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
}
.ge-details .ge-field-label,
.ge-details .ge-utility-label {
  color: var(--bs-secondary-color, #6c757d);
  font-size: 0.75rem;
}
.ge-details .ge-presets:empty {
  display: none;
}
.ge-details .ge-utilities {
  margin-top: 10px;
  /* The spacing plugin: a side and a value per group */
}
.ge-details .ge-utilities > .ge-utilities-toggle {
  display: block;
  color: var(--bs-body-color, #333);
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}
.ge-details .ge-utilities > .ge-utilities-toggle::before {
  content: '\25B8';
  display: inline-block;
  width: 1em;
}
.ge-details .ge-utilities.ge-open > .ge-utilities-toggle::before {
  content: '\25BE';
}
.ge-details .ge-utilities > .ge-utilities-body {
  display: none;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px 10px;
  margin-top: 6px;
}
.ge-details .ge-utilities.ge-open > .ge-utilities-body {
  display: grid;
}
.ge-details .ge-utilities .ge-utility {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
}
.ge-details .ge-utilities .ge-utility-note {
  color: var(--bs-secondary-color, #666);
  font-size: 0.6875rem;
}
.ge-details .ge-utilities .ge-spacing {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px 10px;
  grid-column: 1 / -1;
}
.ge-details .ge-utilities .ge-spacing-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  /* The group names the field once */
}
.ge-details .ge-utilities .ge-spacing-group .ge-utility > .ge-utility-label {
  display: none;
}
.ge-details .ge-utilities .ge-spacing-gutter {
  grid-column: 1 / -1;
  color: var(--bs-secondary-color, #666);
  font-size: 0.6875rem;
}
/* A settings panel the dialog was opened from waits under its backdrop:
   Bootstrap's popover would sit over the modal */
.ge-settings-panel.ge-under-dialog {
  z-index: 1040;
}
/* What plugins add to a panel, between its general fields and Responsive.
   In a popover or inline, a button that opens it in the dialog. */
.ge-details .ge-panel-section {
  margin-top: 10px;
}
/* The inline-style plugin's accordion: in a panel, or in the dialog, which is
   outside any panel, so it carries the look of the fields it shares. */
.ge-inline-style {
  font-size: 0.8125rem;
}
.ge-inline-style .accordion-button {
  padding: 6px 10px;
  font-size: 0.8125rem;
  font-weight: 500;
}
.ge-inline-style .accordion-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 8px 10px;
}
.ge-inline-style .ge-inline-style-label,
.ge-inline-style .ge-utility-label,
.ge-inline-style .ge-inline-style-shadow-label {
  color: var(--bs-secondary-color, #6c757d);
  font-size: 0.75rem;
}
.ge-inline-style .ge-inline-style-note,
.ge-inline-style .ge-utility-note,
.ge-inline-style .ge-spacing-gutter {
  color: var(--bs-secondary-color, #666);
  font-size: 0.6875rem;
}
.ge-inline-style .ge-inline-style-fields,
.ge-inline-style .ge-spacing {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px 10px;
}
.ge-inline-style .ge-inline-style-field,
.ge-inline-style .ge-utility,
.ge-inline-style .ge-spacing-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
}
.ge-inline-style .ge-spacing-group .ge-utility > .ge-utility-label {
  display: none;
}
.ge-inline-style .ge-spacing-gutter {
  grid-column: 1 / -1;
}
.ge-inline-style .ge-inline-style-color .form-control-color {
  flex: 0 0 2.25rem;
  padding: 2px;
}
.ge-inline-style .ge-inline-style-shadow,
.ge-inline-style .ge-inline-style-field:has(.ge-inline-style-shadow) {
  grid-column: 1 / -1;
}
.ge-inline-style .ge-inline-style-shadow-builder {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
  gap: 4px 8px;
  align-items: end;
}
.ge-inline-style .ge-inline-style-shadow-part {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
}
.ge-inline-style .ge-inline-style-shadow-color {
  grid-column: span 2;
}
.ge-inline-style .ge-inline-style-shadow-mode {
  display: inline-block;
  margin-top: 2px;
  font-size: 0.6875rem;
}
.ge-inline-style .ge-inline-style-catalog {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ge-inline-style .ge-inline-style-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}
.ge-inline-style .ge-inline-style-chip {
  --bs-btn-padding-y: 0;
  --bs-btn-padding-x: 6px;
  --bs-btn-font-size: 0.6875rem;
  font-family: var(--bs-font-monospace, monospace);
}
/* In a drawer it is part of the drawer, compact */
.ge-tools-drawer > .ge-details {
  font-size: 11px;
}
.ge-tools-drawer > .ge-details .ge-utilities > .ge-utilities-body {
  grid-template-columns: repeat(auto-fill, minmax(120px, 160px));
}
/* In one of Bootstrap's, outside the canvas */
.ge-settings-panel .ge-details {
  display: block;
}
.ge-settings-panel .ge-settings-title {
  font-size: 1rem;
  font-weight: 500;
}
.ge-settings-offcanvas {
  /* Beside the canvas rather than over most of it */
  --bs-offcanvas-width: 340px;
  --bs-offcanvas-height: 60vh;
}
/* The sidebar: always there while editing, with the page making room for it
   (html.ge-sidebar-open) where the window is wide enough. Narrower than
   Bootstrap's sm it covers the page instead. */
.ge-settings-sidebar {
  --bs-offcanvas-width: 340px;
}
.ge-settings-sidebar .ge-sidebar-empty {
  margin: 0;
  color: var(--bs-secondary-color, #6c757d);
}
html.ge-sidebar-open {
  padding-right: 340px;
}
/* On the panel's left edge, centred; folded away, on the window's right edge.
   Its own element, so the panel can slide out from under it. */
.ge-sidebar-toggle {
  position: fixed;
  top: 50%;
  right: 340px;
  z-index: 1045;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 3rem;
  padding: 0;
  transform: translateY(-50%);
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-right: 0;
  border-radius: 0.375rem 0 0 0.375rem;
  background: var(--bs-body-bg, #fff);
  color: var(--bs-body-color, #212529);
  transition: right 0.3s ease-in-out;
}
.ge-sidebar-toggle[aria-expanded="false"] {
  right: 0;
}
.ge-sidebar-toggle.ge-under-dialog {
  z-index: 1040;
}
@media (max-width: 575.98px) {
  .ge-settings-sidebar {
    --bs-offcanvas-width: 100vw;
  }
  .ge-sidebar-toggle[aria-expanded="true"] {
    right: calc(100vw - 1.5rem);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-left: 0;
    border-radius: 0 0.375rem 0.375rem 0;
  }
}
.ge-settings-popover {
  /* Popper would position it; without Popper that is the editor's job */
  position: absolute;
  --bs-popover-max-width: 360px;
  width: 360px;
  max-width: calc(100vw - 16px);
  /* Bootstrap's css leaves the arrow's position to Popper, which puts it on
       as an inline style. Without it the arrow stays in the flow, a strip as
       tall as the arrow above the header; out of it, the top or bottom of
       .bs-popover-bottom and .bs-popover-top hang it outside the edge */
}
.ge-settings-popover > .popover-arrow {
  position: absolute;
}
.ge-settings-popover > .popover-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.ge-settings-popover > .popover-header > .btn-close {
  font-size: 0.65rem;
}
.ge-settings-popover > .popover-body {
  overflow-y: auto;
}
/* The node whose settings are open */
.ge-canvas.ge-editing .ge-settings-target {
  outline: 2px solid var(--bs-primary, #0d6efd);
  outline-offset: 1px;
}
/* The target, with active_target: where the toolbar's buttons add and what
   the sidebar shows. A node that also has its panel open shows both: this
   one a little further out */
.ge-canvas.ge-editing .ge-selected {
  outline: 2px dashed var(--bs-success, #198754);
  outline-offset: -2px;
}
.ge-canvas.ge-editing .ge-selected.ge-settings-target {
  box-shadow: 0 0 0 4px var(--bs-success, #198754);
}
/* While editing */
.ge-canvas.ge-editing {
  /* Content area */
  /* The column size picker, offered by holding the add column tool. It
       hangs off the tool itself, so it comes away with the drawers */
  /* The copy tool says it copied, for a moment, with the clipboard
       plugin */
  /* Containers: tabs, accordions and popups. A container sits in a column
       beside the content areas, and each of its panes is an ordinary region */
  /* A pane's own drawer is small and sits with its label rather than
       above it: a tab strip is a row of tabs, not a stack of them */
  /* A tabs container laid out vertically from a breakpoint: Bootstrap's
       classes answer to the window, and a breakpoint view narrows the canvas
       instead, so the tabs plugin says which layout the view has and that is
       what shows. The selectors outweigh Bootstrap's !important utilities.
       Vertical, the container wraps, so its drawer is a line of its own
       above the strip and the panes */
  /* The label is edited in place, so it needs to look like it can be */
  /* Open and closed while editing is what the page will ship, which is what
       data-ge-open says. Bootstrap's own collapse is not involved: its
       javascript is never asked to run over the canvas, so the state is
       driven from the attribute rather than from the .show class it animates */
  /* A carousel shows one slide, the one Bootstrap's .active says, and the
       container's drawer moves between them. Bootstrap's arrows are kept in
       the markup but not drawn: they would sit over the slide's content and
       the drawer's already do their work. Its indicators are drawn but the
       editor's javascript answers, not theirs: a click goes through them to
       what is under, and a slide is changed with no transition */
  /* A popup is rendered unfolded and in place: a plain block with its
       body as an ordinary region. Bootstrap's modal JS is never asked to
       open it, so there is no backdrop, no focus trap and no scroll lock */
  /* An offcanvas is rendered unfolded and in place too: a plain block with
       its body as an ordinary region, whichever edge it comes from on the
       page. Bootstrap fixes it to the window, hides it and shifts it out
       until its own JS adds .show, which the editor never asks for, so what
       it sets is undone here. The responsive classes hide the header and
       the body's padding from their breakpoint up, where the panel is
       content: the title still has to be there to edit */
  /* A trigger pointing at an offcanvas that is not there any more */
  /* A trigger pointing at a popup that is not there any more */
  /* Elements: the level below a column, inside a content area. Dashed
       rather than solid, so a page full of them still reads as content */
  /* A text block: a content area and, beside it rather than inside,
       where the text editor would take it, its drawer */
  /* The host's plain content: a block to move and delete, edited in the
       source - greyer than a text, which an editor edits in place */
  /* A column with nothing in it but its drawer still has room to drop a
       block into */
  /* Sorting. The dragged node stays in the list and shows where it would
       land - that is the placeholder - while a copy of it follows the
       pointer. */
  /* A size change should read as a movement rather than a jump, but not
       while the pointer is dragging the edge: there the column follows the
       pointer and a transition only lags behind it */
  /* Resizing: a grip on the column's edge, clear of the drawer, which is
       what keeps the resize gesture and the sort gesture apart */
  /* The units the column would land on, shown in its drawer while dragging */
}
.ge-canvas.ge-editing .ge-tools-drawer {
  /* Positioned, so a tool can hang a picker off itself. Deliberately
           not stacked above anything the rest of the time: the resize handle
           runs down the column's edge, and a drawer sitting over it would take
           the clicks meant for the handle. */
  position: relative;
  -webkit-touch-callout: none;
  /* While one of its tools is offering a choice, this drawer is the one
           that matters - above the handles, and above the drawers below it */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin: 0 -5px 5px;
  display: block;
  width: calc(100% + 2 * 5px);
  /* Its node may align text, and the drawer's tools would follow */
  text-align: left;
  /* A node's settings, unfolded in its drawer: settings_panel 'inline' */
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-picker-open {
  z-index: 200;
}
.ge-canvas.ge-editing .ge-tools-drawer > a {
  display: inline-block;
  padding: 5px;
}
.ge-canvas.ge-editing .ge-tools-drawer > a:hover {
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}
.ge-canvas.ge-editing .ge-tools-drawer > .ge-details {
  display: none;
  padding: 5px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  text-align: left;
  cursor: auto;
  /* The one line a drawer has room for needs no heading */
}
.ge-canvas.ge-editing .ge-tools-drawer > .ge-details > .ge-section-title {
  display: none;
}
.ge-canvas.ge-editing .ge-tools-drawer > .ge-details .ge-details-general {
  flex-direction: row;
  align-items: flex-end;
}
.ge-canvas.ge-editing .ge-tools-drawer > .ge-details input.ge-id {
  width: 90px;
}
.ge-canvas.ge-editing .ge-tools-drawer > .ge-details input.ge-classes {
  width: 200px;
}
.ge-canvas.ge-editing .row {
  background-color: #efefef;
  border: 1px solid #999999;
  padding: 0 5px 5px;
  margin-bottom: 5px;
  margin-left: 0;
  margin-right: 0;
}
.ge-canvas.ge-editing .row > .ge-tools-drawer {
  /* Bootstrap pads every child of a row by half its gutter, and
               caps it at the row's width: the drawer is not a column */
  padding-left: 0;
  padding-right: 0;
  max-width: none;
  background: #e5e5e5;
}
.ge-canvas.ge-editing .row > .ge-tools-drawer > a {
  color: #666;
}
.ge-canvas.ge-editing .row > .ge-tools-drawer > a.ge-add-column {
  color: #178acc;
}
.ge-canvas.ge-editing .column {
  background-color: rgba(47, 164, 231, 0.15);
  border: 1px solid #2FA4E7;
  padding: 0 5px 5px;
  /* The resize handle is positioned against the column, so the column
           has to be something to position against */
  position: relative;
}
.ge-canvas.ge-editing .column > .ge-tools-drawer {
  /* The drawer is not content: an auto column is as wide as what
               it holds, and its tools would make it as wide as a drawer */
  contain: inline-size;
  background: #afd5ea;
}
.ge-canvas.ge-editing .column > .ge-tools-drawer a {
  color: #178acc;
}
.ge-canvas.ge-editing .column > .ge-tools-drawer > a.ge-add-row {
  color: #666;
}
.ge-canvas.ge-editing .ge-content-type-tinymce.active {
  outline: 1px dotted #333;
}
.ge-canvas.ge-editing .ge-tools-drawer > a {
  position: relative;
}
.ge-canvas.ge-editing .ge-tools-drawer > a.ge-copied {
  color: #198754;
}
.ge-canvas.ge-editing .ge-size-picker {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 30;
  display: flex;
  flex-wrap: wrap;
  width: 160px;
  padding: 3px;
  background: #fff;
  border: 1px solid #999;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.ge-canvas.ge-editing .ge-size-picker > .ge-size {
  flex: 0 0 auto;
  width: 26px;
  margin: 1px;
  padding: 4px 0;
  text-align: center;
  font-size: 11px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  color: #178acc;
  background: rgba(47, 164, 231, 0.08);
  border: 1px solid rgba(47, 164, 231, 0.4);
  border-radius: 3px;
  /* col and col-auto: a word, not a number */
  /* Wider than what is left of the row: allowed, but said so */
}
.ge-canvas.ge-editing .ge-size-picker > .ge-size:hover {
  background: #2FA4E7;
  border-color: #2FA4E7;
  color: #fff;
}
.ge-canvas.ge-editing .ge-size-picker > .ge-size.ge-size-flex {
  width: auto;
  padding-left: 5px;
  padding-right: 5px;
}
.ge-canvas.ge-editing .ge-size-picker > .ge-size.ge-size-tight {
  color: #999;
  background: transparent;
  border-style: dashed;
  border-color: #ccc;
}
.ge-canvas.ge-editing .ge-container {
  position: relative;
  border: 1px solid #1D8A5E;
  padding: 0 5px 5px;
  margin-bottom: 5px;
}
.ge-canvas.ge-editing .ge-container > .ge-container-drawer {
  background: rgba(29, 138, 94, 0.2);
}
.ge-canvas.ge-editing .ge-container > .ge-container-drawer > a {
  color: #197550;
}
.ge-canvas.ge-editing .ge-pane-drawer {
  display: inline-flex;
  align-items: center;
  width: auto;
  margin: 0;
  background: transparent;
}
.ge-canvas.ge-editing .ge-pane-drawer > a {
  padding: 2px 4px;
  color: #197550;
}
.ge-canvas.ge-editing .ge-tab {
  display: flex;
  align-items: center;
}
.ge-canvas.ge-editing .ge-tab > .ge-pane-drawer {
  padding-left: 4px;
}
.ge-canvas.ge-editing .ge-tab .nav-link {
  padding-left: 4px;
}
.ge-canvas.ge-editing [data-ge-tabs-layout="vertical"] {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start !important;
}
.ge-canvas.ge-editing [data-ge-tabs-layout="vertical"] > .ge-container-drawer {
  flex-shrink: 0;
}
.ge-canvas.ge-editing [data-ge-tabs-layout="vertical"] > .nav {
  flex-direction: column !important;
  margin-right: 1rem !important;
}
.ge-canvas.ge-editing [data-ge-tabs-layout="horizontal"] {
  display: block !important;
}
.ge-canvas.ge-editing [data-ge-tabs-layout="horizontal"] > .nav {
  flex-direction: row !important;
  margin-right: 0 !important;
}
.ge-canvas.ge-editing .ge-pane-label:hover {
  outline: 1px dotted #197550;
}
.ge-canvas.ge-editing .ge-pane-label[contenteditable="true"] {
  outline: 1px solid #197550;
  cursor: text;
}
.ge-canvas.ge-editing .tab-content > .tab-pane {
  padding: 5px 0;
}
.ge-canvas.ge-editing .accordion-collapse[data-ge-open="true"] {
  display: block;
}
.ge-canvas.ge-editing .accordion-collapse[data-ge-open="false"] {
  display: none;
}
.ge-canvas.ge-editing .ge-accordion-item > .ge-pane-drawer {
  padding: 2px 0;
}
.ge-canvas.ge-editing .ge-container-carousel .carousel-inner {
  overflow: visible;
}
.ge-canvas.ge-editing .ge-container-carousel .carousel-item {
  transition: none;
}
.ge-canvas.ge-editing .ge-container-carousel .carousel-control-prev,
.ge-canvas.ge-editing .ge-container-carousel .carousel-control-next {
  display: none;
}
.ge-canvas.ge-editing .ge-container-carousel .carousel-indicators {
  pointer-events: none;
}
.ge-canvas.ge-editing .ge-container-carousel .carousel-indicators {
  z-index: 1;
}
.ge-canvas.ge-editing .ge-container-carousel .ge-carousel-counter {
  min-width: 3em;
  text-align: center;
  text-decoration: none;
  cursor: default;
}
.ge-canvas.ge-editing .ge-container-carousel .ge-carousel-item > .ge-pane-drawer {
  padding: 2px 0;
}
.ge-canvas.ge-editing .ge-container-carousel .ge-tools-drawer .disabled {
  opacity: 0.35;
  pointer-events: none;
}
.ge-canvas.ge-editing .ge-container-popup {
  /* Folded away, for a page with several popups on it */
}
.ge-canvas.ge-editing .ge-container-popup .modal {
  display: block;
  position: static;
  z-index: auto;
  overflow: visible;
  /* Bootstrap keeps a modal at opacity 0 and its dialog shifted up
               until it adds .show, which only its own JS does. The editor
               never asks it to, so the fade is undone here instead */
  opacity: 1;
  transition: none;
}
.ge-canvas.ge-editing .ge-container-popup .modal-dialog {
  margin: 5px 0;
  max-width: none;
  pointer-events: auto;
  transform: none;
  transition: none;
}
.ge-canvas.ge-editing .ge-container-popup .modal-content {
  box-shadow: none;
}
.ge-canvas.ge-editing .ge-container-popup .ge-popup-trigger {
  margin-bottom: 5px;
}
.ge-canvas.ge-editing .ge-container-popup.ge-popup-collapsed .modal {
  display: none;
}
.ge-canvas.ge-editing .ge-container-offcanvas {
  /* d-*-none on the trigger is for the page: the editor needs it to select the container */
  /* Folded away, for a page with several offcanvases on it */
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas {
  position: static;
  z-index: auto;
  visibility: visible;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 5px 0;
  transform: none;
  transition: none;
  display: flex;
  flex-direction: column;
  background-color: var(--bs-offcanvas-bg) !important;
  border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas .offcanvas-header {
  display: flex;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas .offcanvas-body {
  display: block;
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow: visible;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-sm {
  position: static;
  z-index: auto;
  visibility: visible;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 5px 0;
  transform: none;
  transition: none;
  display: flex;
  flex-direction: column;
  background-color: var(--bs-offcanvas-bg) !important;
  border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-sm .offcanvas-header {
  display: flex;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-sm .offcanvas-body {
  display: block;
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow: visible;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-md {
  position: static;
  z-index: auto;
  visibility: visible;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 5px 0;
  transform: none;
  transition: none;
  display: flex;
  flex-direction: column;
  background-color: var(--bs-offcanvas-bg) !important;
  border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-md .offcanvas-header {
  display: flex;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-md .offcanvas-body {
  display: block;
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow: visible;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-lg {
  position: static;
  z-index: auto;
  visibility: visible;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 5px 0;
  transform: none;
  transition: none;
  display: flex;
  flex-direction: column;
  background-color: var(--bs-offcanvas-bg) !important;
  border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-lg .offcanvas-header {
  display: flex;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-lg .offcanvas-body {
  display: block;
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow: visible;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-xl {
  position: static;
  z-index: auto;
  visibility: visible;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 5px 0;
  transform: none;
  transition: none;
  display: flex;
  flex-direction: column;
  background-color: var(--bs-offcanvas-bg) !important;
  border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-xl .offcanvas-header {
  display: flex;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-xl .offcanvas-body {
  display: block;
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow: visible;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-xxl {
  position: static;
  z-index: auto;
  visibility: visible;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 5px 0;
  transform: none;
  transition: none;
  display: flex;
  flex-direction: column;
  background-color: var(--bs-offcanvas-bg) !important;
  border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-xxl .offcanvas-header {
  display: flex;
}
.ge-canvas.ge-editing .ge-container-offcanvas .offcanvas-xxl .offcanvas-body {
  display: block;
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow: visible;
}
.ge-canvas.ge-editing .ge-container-offcanvas > .ge-offcanvas-trigger {
  display: inline-block !important;
  margin-bottom: 5px;
}
.ge-canvas.ge-editing .ge-container-offcanvas.ge-offcanvas-collapsed .offcanvas {
  display: none;
}
.ge-canvas.ge-editing .ge-container-offcanvas.ge-offcanvas-collapsed .offcanvas-sm {
  display: none;
}
.ge-canvas.ge-editing .ge-container-offcanvas.ge-offcanvas-collapsed .offcanvas-md {
  display: none;
}
.ge-canvas.ge-editing .ge-container-offcanvas.ge-offcanvas-collapsed .offcanvas-lg {
  display: none;
}
.ge-canvas.ge-editing .ge-container-offcanvas.ge-offcanvas-collapsed .offcanvas-xl {
  display: none;
}
.ge-canvas.ge-editing .ge-container-offcanvas.ge-offcanvas-collapsed .offcanvas-xxl {
  display: none;
}
.ge-canvas.ge-editing .ge-offcanvas-orphan {
  outline: 2px dashed #d9534f;
}
.ge-canvas.ge-editing .ge-popup-orphan {
  outline: 2px dashed #d9534f;
}
.ge-canvas.ge-editing .ge-element {
  position: relative;
  outline: 1px dashed #7B5EA7;
  margin-bottom: 5px;
  padding: 0 5px;
}
.ge-canvas.ge-editing .ge-element > .ge-element-drawer {
  background: rgba(123, 94, 167, 0.15);
  margin: 0 -5px 5px;
  width: calc(100% + 2 * 5px);
}
.ge-canvas.ge-editing .ge-element > .ge-element-drawer > a {
  color: #6f5398;
  padding: 2px 5px;
}
.ge-canvas.ge-editing .ge-element > .ge-element-drawer > a.ge-element-info {
  cursor: default;
}
.ge-canvas.ge-editing .ge-text-block {
  position: relative;
  outline: 1px dashed rgba(90, 111, 138, 0.6);
  margin-bottom: 5px;
  /* Over the text rather than above it: nearly every column has a
           text, and a bar for each would make every column taller. It shows
           while it is wanted - the pointer over the text, the text being
           edited or holding the focus, its settings open, a drag under way -
           and takes no room either way. */
  /* While the text is being edited it would sit over the end of its
           first line, so it stands back - faint, still there to click - until
           the pointer is on the drawer itself */
  /* Except when something in it is in use: its settings, a choice it
           offers, a drag */
  /* With its settings open it spans the text, so the panel has room */
  /* The choice of editor a click on plain content offers hangs off
           the drawer, which sits at the right: so it opens leftwards */
}
.ge-canvas.ge-editing .ge-text-block > .ge-text-drawer {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  width: auto;
  margin: 0;
  border-radius: 0 0 0 4px;
  background: #e1e5ea;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  /* Hidden only once it has faded, shown at once */
  transition: opacity 120ms ease, visibility 0s linear 120ms;
}
.ge-canvas.ge-editing .ge-text-block > .ge-text-drawer > a {
  color: #50637b;
  padding: 2px 5px;
}
.ge-canvas.ge-editing .ge-text-block > .ge-text-drawer > a.ge-text-info {
  cursor: default;
}
.ge-canvas.ge-editing .ge-text-block > .ge-text-drawer > a.ge-text-missing {
  color: #b02a37;
}
.ge-canvas.ge-editing .ge-text-block:hover > .ge-text-drawer,
.ge-canvas.ge-editing .ge-text-block:focus-within > .ge-text-drawer,
.ge-canvas.ge-editing .ge-text-block.ge-drag-chosen > .ge-text-drawer,
.ge-canvas.ge-editing .ge-text-block:has(> .ge-rte-active) > .ge-text-drawer,
.ge-canvas.ge-editing .ge-text-block:has(> .ge-text-drawer.ge-picker-open) > .ge-text-drawer,
.ge-canvas.ge-editing .ge-text-block:has(> .ge-text-drawer > .ge-details[style*="block"]) > .ge-text-drawer {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
.ge-canvas.ge-editing .ge-text-block:has(> .ge-rte-active) > .ge-text-drawer:not(:hover) {
  opacity: 0.35;
}
.ge-canvas.ge-editing .ge-text-block.ge-drag-chosen > .ge-text-drawer:not(:hover),
.ge-canvas.ge-editing .ge-text-block:has(> .ge-text-drawer.ge-picker-open) > .ge-text-drawer:not(:hover),
.ge-canvas.ge-editing .ge-text-block:has(> .ge-text-drawer > .ge-details[style*="block"]) > .ge-text-drawer:not(:hover) {
  opacity: 1;
}
.ge-canvas.ge-editing .ge-text-block:has(> .ge-text-drawer > .ge-details[style*="block"]) > .ge-text-drawer {
  left: 0;
  border-radius: 0;
}
.ge-canvas.ge-editing .ge-text-block > .ge-text-drawer > .ge-convert-picker {
  left: auto;
  right: 0;
}
.ge-canvas.ge-editing .ge-text-block.ge-plain-block {
  outline-color: rgba(0, 0, 0, 0.25);
}
.ge-canvas.ge-editing .ge-text-block.ge-plain-block > .ge-text-drawer {
  background: #e9ecef;
}
.ge-canvas.ge-editing .column:not(:has( > :not(.ge-tools-drawer, .ge-resize-handle)))::after {
  content: '';
  display: block;
  min-height: 40px;
  border: 1px dashed rgba(47, 164, 231, 0.5);
}
.ge-canvas.ge-editing .ge-drag-placeholder {
  background: rgba(255, 255, 0, 0.2);
  opacity: 1;
  min-height: 50px;
  max-height: 100px;
}
.ge-canvas.ge-editing .ge-drag-placeholder > * {
  visibility: hidden;
}
.ge-canvas.ge-editing .column {
  transition: width 120ms ease, margin-left 120ms ease;
}
.ge-canvas.ge-editing .column.ge-resizing {
  transition: none;
  /* Follow the pointer in pixels: the layout mode's max-width is what
           the column will snap back into once the drag lands */
  max-width: none;
}
.ge-canvas.ge-editing .column > .ge-resize-handle {
  position: absolute;
  display: block;
  z-index: 10;
  /* The gesture is the editor's, not the page's: without this a touch
           drag on the handle scrolls instead of resizing */
  touch-action: none;
}
.ge-canvas.ge-editing .column > .ge-resize-e,
.ge-canvas.ge-editing .column > .ge-resize-w {
  top: 0;
  bottom: 0;
  width: 8px;
  cursor: ew-resize;
  background: rgba(47, 164, 231, 0.3);
}
.ge-canvas.ge-editing .column > .ge-resize-e:hover,
.ge-canvas.ge-editing .column > .ge-resize-w:hover {
  background: #2FA4E7;
}
.ge-canvas.ge-editing .column > .ge-resize-e {
  right: -1px;
}
.ge-canvas.ge-editing .column > .ge-resize-w {
  left: -1px;
}
.ge-canvas.ge-editing .ge-tools-drawer > .ge-resize-size {
  display: none;
  float: right;
  padding: 5px;
  font-size: 11px;
  color: #178acc;
}
.ge-canvas.ge-editing .column.ge-resizing > .ge-tools-drawer > .ge-resize-size {
  display: block;
}
/* drawer_overflow: 'menu'. A drawer keeps its tools to one line; the ones
   that don't fit are hidden behind a more tool at its end, which unfolds it
   to show them all */
.ge-canvas.ge-editing .ge-tools-drawer.ge-drawer-fit {
  white-space: nowrap;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-drawer-fit > .ge-details {
  white-space: normal;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-drawer-fit > a.ge-tool-overflow,
.ge-canvas.ge-editing .ge-tools-drawer.ge-drawer-fit > a.ge-drawer-more {
  display: none;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-drawer-fit.ge-drawer-overflow {
  padding-right: 26px;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-drawer-fit.ge-drawer-overflow > a.ge-drawer-more {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-drawer-fit.ge-drawer-expanded {
  white-space: normal;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-drawer-fit.ge-drawer-expanded > a.ge-tool-overflow {
  display: inline-block;
}
.ge-canvas.ge-editing .ge-tools-drawer.ge-drawer-fit.ge-drawer-expanded > a.ge-drawer-more {
  background: rgba(0, 0, 0, 0.08);
}
/* The handle belongs to editing, and never to the output */
.ge-canvas:not(.ge-editing) .ge-resize-handle {
  display: none;
}
/* Layout modes */
/*
 * One row per Bootstrap 5 breakpoint, in the same order as the BREAKPOINTS
 * table in the plugin. A layout mode previews one tier: the canvas is
 * constrained to that tier's width, that tier's column and offset classes are
 * made effective whatever the window is doing, and every other tier's classes
 * are switched off - otherwise a wide window would keep showing the widest
 * tier's classes no matter which mode is selected.
 *
 * The all view constrains nothing and switches nothing off: it renders the
 * page as the browser would, which is the point of it.
 */
.ge-canvas.ge-layout-all {
  max-width: none;
}
/*
 * col and col-auto, in the order Bootstrap writes them: before the numbered
 * sizes, so that of two classes for one tier the number wins, as it does on
 * the real page.
 */
/*
 * Switching a tier off means giving the column back to bootstrap's default
 * for a row child - full width, stacked - which is what a browser really
 * shows for a column that says nothing about the tier being previewed.
 * Leaving it at width auto sizes it to its content instead, and a column of
 * text then runs straight out of a narrow canvas.
 */
.ge-canvas.ge-layout-xs {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  /* Wider tiers are switched off, then every tier up to and including
           this one is switched on in ascending order. That reproduces
           Bootstrap's own cascade inside the preview: a column carrying only
           col-4 is four units wide at sm too, and col-sm-6 overrides it
           because it is written afterwards. All these rules have the same
           specificity, so the order they are written in is the rule. */
  /* this tier applies at the active one, so it is written by the pass below */
}
.ge-canvas.ge-layout-xs .col-sm,
.ge-canvas.ge-layout-xs .col-sm-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-sm-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .offset-sm-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-sm-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-sm-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-sm-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-sm-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-sm-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-sm-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-sm-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-sm-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-sm-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-sm-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .col-md,
.ge-canvas.ge-layout-xs .col-md-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-md-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .offset-md-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-md-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-md-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-md-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-md-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-md-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-md-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-md-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-md-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-md-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-md-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .col-lg,
.ge-canvas.ge-layout-xs .col-lg-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-lg-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .offset-lg-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-lg-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-lg-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-lg-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-lg-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-lg-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-lg-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-lg-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-lg-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-lg-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-lg-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .col-xl,
.ge-canvas.ge-layout-xs .col-xl-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .offset-xl-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xl-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xl-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xl-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xl-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xl-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xl-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xl-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xl-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xl-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xl-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .col-xxl,
.ge-canvas.ge-layout-xs .col-xxl-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-xxl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .offset-xxl-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xxl-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xxl-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xxl-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xxl-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xxl-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xxl-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xxl-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xxl-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xxl-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .offset-xxl-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xs .col {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xs .col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xs .col-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xs .col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xs .col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xs .col-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xs .col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xs .col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xs .col-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xs .col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xs .col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xs .col-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xs .offset-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xs .offset-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xs .offset-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xs .offset-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xs .offset-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xs .offset-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xs .offset-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xs .offset-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xs .offset-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xs .offset-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xs .offset-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-sm {
  max-width: 576px;
  margin-left: auto;
  margin-right: auto;
  /* Wider tiers are switched off, then every tier up to and including
           this one is switched on in ascending order. That reproduces
           Bootstrap's own cascade inside the preview: a column carrying only
           col-4 is four units wide at sm too, and col-sm-6 overrides it
           because it is written afterwards. All these rules have the same
           specificity, so the order they are written in is the rule. */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
}
.ge-canvas.ge-layout-sm .col-md,
.ge-canvas.ge-layout-sm .col-md-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-md-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .offset-md-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-md-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-md-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-md-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-md-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-md-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-md-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-md-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-md-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-md-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-md-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .col-lg,
.ge-canvas.ge-layout-sm .col-lg-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-lg-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .offset-lg-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-lg-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-lg-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-lg-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-lg-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-lg-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-lg-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-lg-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-lg-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-lg-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-lg-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .col-xl,
.ge-canvas.ge-layout-sm .col-xl-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .offset-xl-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xl-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xl-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xl-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xl-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xl-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xl-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xl-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xl-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xl-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xl-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .col-xxl,
.ge-canvas.ge-layout-sm .col-xxl-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-xxl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .offset-xxl-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xxl-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xxl-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xxl-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xxl-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xxl-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xxl-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xxl-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xxl-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xxl-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .offset-xxl-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-sm .col {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-sm .col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-sm .col-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-sm .col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-sm .col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-sm .col-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-sm .col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-sm .col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-sm .col-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-sm .col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-sm .col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-sm .col-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .offset-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-sm .offset-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-sm .offset-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-sm .offset-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-sm .offset-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-sm .offset-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-sm .offset-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-sm .offset-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-sm .offset-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-sm .offset-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-sm .offset-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-sm .col-sm {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-sm-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .col-sm-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-sm .col-sm-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-sm .col-sm-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-sm .col-sm-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-sm .col-sm-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-sm .col-sm-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-sm .col-sm-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-sm .col-sm-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-sm .col-sm-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-sm .col-sm-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-sm .col-sm-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-sm .col-sm-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-sm .offset-sm-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-sm .offset-sm-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-sm .offset-sm-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-sm .offset-sm-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-sm .offset-sm-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-sm .offset-sm-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-sm .offset-sm-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-sm .offset-sm-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-sm .offset-sm-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-sm .offset-sm-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-sm .offset-sm-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-md {
  max-width: 768px;
  margin-left: auto;
  margin-right: auto;
  /* Wider tiers are switched off, then every tier up to and including
           this one is switched on in ascending order. That reproduces
           Bootstrap's own cascade inside the preview: a column carrying only
           col-4 is four units wide at sm too, and col-sm-6 overrides it
           because it is written afterwards. All these rules have the same
           specificity, so the order they are written in is the rule. */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
}
.ge-canvas.ge-layout-md .col-lg,
.ge-canvas.ge-layout-md .col-lg-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-lg-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .offset-lg-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-lg-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-lg-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-lg-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-lg-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-lg-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-lg-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-lg-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-lg-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-lg-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-lg-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .col-xl,
.ge-canvas.ge-layout-md .col-xl-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .offset-xl-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xl-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xl-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xl-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xl-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xl-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xl-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xl-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xl-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xl-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xl-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .col-xxl,
.ge-canvas.ge-layout-md .col-xxl-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-xxl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .offset-xxl-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xxl-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xxl-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xxl-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xxl-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xxl-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xxl-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xxl-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xxl-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xxl-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .offset-xxl-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-md .col {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-md .col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-md .col-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-md .col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-md .col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-md .col-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-md .col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-md .col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-md .col-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-md .col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-md .col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-md .col-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .offset-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-md .offset-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-md .offset-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-md .offset-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-md .offset-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-md .offset-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-md .offset-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-md .offset-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-md .offset-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-md .offset-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-md .offset-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-md .col-sm {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-sm-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-sm-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-md .col-sm-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-md .col-sm-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-md .col-sm-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-md .col-sm-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-md .col-sm-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-md .col-sm-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-md .col-sm-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-md .col-sm-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-md .col-sm-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-md .col-sm-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-md .col-sm-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .offset-sm-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-md .offset-sm-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-md .offset-sm-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-md .offset-sm-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-md .offset-sm-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-md .offset-sm-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-md .offset-sm-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-md .offset-sm-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-md .offset-sm-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-md .offset-sm-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-md .offset-sm-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-md .col-md {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-md-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .col-md-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-md .col-md-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-md .col-md-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-md .col-md-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-md .col-md-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-md .col-md-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-md .col-md-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-md .col-md-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-md .col-md-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-md .col-md-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-md .col-md-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-md .col-md-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-md .offset-md-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-md .offset-md-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-md .offset-md-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-md .offset-md-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-md .offset-md-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-md .offset-md-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-md .offset-md-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-md .offset-md-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-md .offset-md-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-md .offset-md-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-md .offset-md-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-lg {
  max-width: 992px;
  margin-left: auto;
  margin-right: auto;
  /* Wider tiers are switched off, then every tier up to and including
           this one is switched on in ascending order. That reproduces
           Bootstrap's own cascade inside the preview: a column carrying only
           col-4 is four units wide at sm too, and col-sm-6 overrides it
           because it is written afterwards. All these rules have the same
           specificity, so the order they are written in is the rule. */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
}
.ge-canvas.ge-layout-lg .col-xl,
.ge-canvas.ge-layout-lg .col-xl-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .offset-xl-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xl-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xl-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xl-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xl-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xl-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xl-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xl-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xl-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xl-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xl-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .col-xxl,
.ge-canvas.ge-layout-lg .col-xxl-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-xxl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .offset-xxl-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xxl-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xxl-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xxl-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xxl-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xxl-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xxl-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xxl-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xxl-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xxl-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .offset-xxl-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-lg .col {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-lg .col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-lg .col-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-lg .col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-lg .col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-lg .col-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-lg .col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-lg .col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-lg .col-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-lg .col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-lg .col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-lg .col-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .offset-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-lg .offset-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-lg .offset-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-lg .offset-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-lg .offset-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-lg .offset-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-lg .offset-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-lg .offset-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-lg .offset-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-lg .offset-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-lg .offset-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-lg .col-sm {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-sm-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-sm-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-lg .col-sm-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-lg .col-sm-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-lg .col-sm-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-lg .col-sm-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-lg .col-sm-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-lg .col-sm-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-lg .col-sm-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-lg .col-sm-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-lg .col-sm-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-lg .col-sm-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-lg .col-sm-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .offset-sm-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-lg .offset-sm-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-lg .offset-sm-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-lg .offset-sm-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-lg .offset-sm-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-lg .offset-sm-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-lg .offset-sm-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-lg .offset-sm-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-lg .offset-sm-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-lg .offset-sm-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-lg .offset-sm-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-lg .col-md {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-md-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-md-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-lg .col-md-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-lg .col-md-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-lg .col-md-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-lg .col-md-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-lg .col-md-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-lg .col-md-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-lg .col-md-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-lg .col-md-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-lg .col-md-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-lg .col-md-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-lg .col-md-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .offset-md-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-lg .offset-md-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-lg .offset-md-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-lg .offset-md-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-lg .offset-md-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-lg .offset-md-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-lg .offset-md-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-lg .offset-md-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-lg .offset-md-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-lg .offset-md-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-lg .offset-md-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-lg .col-lg {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-lg-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .col-lg-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-lg .col-lg-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-lg .col-lg-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-lg .col-lg-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-lg .col-lg-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-lg .col-lg-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-lg .col-lg-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-lg .col-lg-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-lg .col-lg-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-lg .col-lg-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-lg .col-lg-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-lg .col-lg-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-lg .offset-lg-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-lg .offset-lg-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-lg .offset-lg-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-lg .offset-lg-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-lg .offset-lg-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-lg .offset-lg-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-lg .offset-lg-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-lg .offset-lg-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-lg .offset-lg-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-lg .offset-lg-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-lg .offset-lg-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xl {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  /* Wider tiers are switched off, then every tier up to and including
           this one is switched on in ascending order. That reproduces
           Bootstrap's own cascade inside the preview: a column carrying only
           col-4 is four units wide at sm too, and col-sm-6 overrides it
           because it is written afterwards. All these rules have the same
           specificity, so the order they are written in is the rule. */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
}
.ge-canvas.ge-layout-xl .col-xxl,
.ge-canvas.ge-layout-xl .col-xxl-auto {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-1 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-2 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-3 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-4 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-5 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-6 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-7 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-8 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-9 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-10 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-11 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xxl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .offset-xxl-1 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .offset-xxl-2 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .offset-xxl-3 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .offset-xxl-4 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .offset-xxl-5 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .offset-xxl-6 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .offset-xxl-7 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .offset-xxl-8 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .offset-xxl-9 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .offset-xxl-10 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .offset-xxl-11 {
  margin-left: 0;
}
.ge-canvas.ge-layout-xl .col {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xl .col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xl .col-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xl .col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xl .col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xl .col-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xl .col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xl .col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xl .col-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xl .col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xl .col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xl .col-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .offset-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xl .offset-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xl .offset-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xl .offset-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xl .offset-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xl .offset-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xl .offset-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xl .offset-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xl .offset-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xl .offset-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xl .offset-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xl .col-sm {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-sm-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-sm-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xl .col-sm-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xl .col-sm-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xl .col-sm-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xl .col-sm-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xl .col-sm-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xl .col-sm-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xl .col-sm-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xl .col-sm-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xl .col-sm-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xl .col-sm-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xl .col-sm-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .offset-sm-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xl .offset-sm-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xl .offset-sm-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xl .offset-sm-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xl .offset-sm-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xl .offset-sm-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xl .offset-sm-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xl .offset-sm-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xl .offset-sm-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xl .offset-sm-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xl .offset-sm-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xl .col-md {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-md-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-md-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xl .col-md-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xl .col-md-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xl .col-md-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xl .col-md-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xl .col-md-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xl .col-md-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xl .col-md-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xl .col-md-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xl .col-md-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xl .col-md-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xl .col-md-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .offset-md-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xl .offset-md-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xl .offset-md-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xl .offset-md-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xl .offset-md-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xl .offset-md-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xl .offset-md-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xl .offset-md-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xl .offset-md-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xl .offset-md-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xl .offset-md-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xl .col-lg {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-lg-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-lg-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xl .col-lg-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xl .col-lg-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xl .col-lg-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xl .col-lg-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xl .col-lg-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xl .col-lg-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xl .col-lg-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xl .col-lg-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xl .col-lg-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xl .col-lg-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xl .col-lg-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .offset-lg-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xl .offset-lg-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xl .offset-lg-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xl .offset-lg-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xl .offset-lg-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xl .offset-lg-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xl .offset-lg-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xl .offset-lg-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xl .offset-lg-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xl .offset-lg-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xl .offset-lg-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xl .col-xl {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xl-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .col-xl-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xl .col-xl-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xl .col-xl-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xl .col-xl-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xl .col-xl-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xl .col-xl-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xl .col-xl-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xl .col-xl-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xl .col-xl-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xl .col-xl-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xl .col-xl-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xl .col-xl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xl .offset-xl-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xl .offset-xl-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xl .offset-xl-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xl .offset-xl-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xl .offset-xl-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xl .offset-xl-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xl .offset-xl-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xl .offset-xl-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xl .offset-xl-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xl .offset-xl-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xl .offset-xl-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xxl {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  /* Wider tiers are switched off, then every tier up to and including
           this one is switched on in ascending order. That reproduces
           Bootstrap's own cascade inside the preview: a column carrying only
           col-4 is four units wide at sm too, and col-sm-6 overrides it
           because it is written afterwards. All these rules have the same
           specificity, so the order they are written in is the rule. */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
  /* this tier applies at the active one, so it is written by the pass below */
}
.ge-canvas.ge-layout-xxl .col {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .col-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xxl .col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .col-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xxl .col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .col-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xxl .col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .offset-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xxl .offset-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xxl .offset-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xxl .offset-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-sm {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-sm-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-sm-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .col-sm-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .col-sm-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xxl .col-sm-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .col-sm-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .col-sm-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xxl .col-sm-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .col-sm-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .col-sm-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xxl .col-sm-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .col-sm-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-sm-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .offset-sm-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-sm-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-sm-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xxl .offset-sm-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-sm-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-sm-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xxl .offset-sm-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-sm-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-sm-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xxl .offset-sm-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-sm-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-md {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-md-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-md-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .col-md-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .col-md-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xxl .col-md-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .col-md-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .col-md-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xxl .col-md-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .col-md-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .col-md-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xxl .col-md-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .col-md-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-md-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .offset-md-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-md-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-md-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xxl .offset-md-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-md-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-md-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xxl .offset-md-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-md-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-md-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xxl .offset-md-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-md-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-lg {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-lg-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-lg-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .col-lg-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .col-lg-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xxl .col-lg-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .col-lg-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .col-lg-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xxl .col-lg-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .col-lg-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .col-lg-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xxl .col-lg-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .col-lg-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-lg-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .offset-lg-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-lg-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-lg-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xxl .offset-lg-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-lg-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-lg-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xxl .offset-lg-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-lg-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-lg-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xxl .offset-lg-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-lg-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-xl {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-xl-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-xl-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .col-xl-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .col-xl-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xxl .col-xl-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .col-xl-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .col-xl-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xxl .col-xl-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .col-xl-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .col-xl-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xxl .col-xl-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .col-xl-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-xl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .offset-xl-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-xl-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-xl-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xxl .offset-xl-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-xl-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-xl-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xxl .offset-xl-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-xl-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-xl-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xxl .offset-xl-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-xl-11 {
  margin-left: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-xxl {
  flex: 1 0 0%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-xxl-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .col-xxl-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
  max-width: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .col-xxl-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
  max-width: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .col-xxl-3 {
  flex: 0 0 auto;
  width: 25%;
  max-width: 25%;
}
.ge-canvas.ge-layout-xxl .col-xxl-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
  max-width: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .col-xxl-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
  max-width: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .col-xxl-6 {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}
.ge-canvas.ge-layout-xxl .col-xxl-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
  max-width: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .col-xxl-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
  max-width: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .col-xxl-9 {
  flex: 0 0 auto;
  width: 75%;
  max-width: 75%;
}
.ge-canvas.ge-layout-xxl .col-xxl-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
  max-width: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .col-xxl-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
  max-width: 91.66666667%;
}
.ge-canvas.ge-layout-xxl .col-xxl-12 {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-1 {
  margin-left: 8.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-2 {
  margin-left: 16.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-3 {
  margin-left: 25%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-4 {
  margin-left: 33.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-5 {
  margin-left: 41.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-6 {
  margin-left: 50%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-7 {
  margin-left: 58.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-8 {
  margin-left: 66.66666667%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-9 {
  margin-left: 75%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-10 {
  margin-left: 83.33333333%;
}
.ge-canvas.ge-layout-xxl .offset-xxl-11 {
  margin-left: 91.66666667%;
}
/*
 * The inline-style plugin's display. A node Bootstrap would hide is kept on the
 * canvas - there would be nothing left to click to show it again - and shown
 * as it would be if it were not hidden, which data-ge-display says. The
 * selectors outweigh Bootstrap's d-* classes, which are !important too.
 */
.ge-canvas.ge-editing {
  /* The all view: hidden at some breakpoints, said in a corner */
}
.ge-canvas.ge-editing [data-ge-display="inline"] {
  display: inline !important;
}
.ge-canvas.ge-editing [data-ge-display="inline-block"] {
  display: inline-block !important;
}
.ge-canvas.ge-editing [data-ge-display="block"] {
  display: block !important;
}
.ge-canvas.ge-editing [data-ge-display="grid"] {
  display: grid !important;
}
.ge-canvas.ge-editing [data-ge-display="inline-grid"] {
  display: inline-grid !important;
}
.ge-canvas.ge-editing [data-ge-display="flex"] {
  display: flex !important;
}
.ge-canvas.ge-editing [data-ge-display="inline-flex"] {
  display: inline-flex !important;
}
.ge-canvas.ge-editing .ge-hidden-in-view {
  opacity: 0.45;
  background-image: repeating-linear-gradient(-45deg, transparent 0, transparent 6px, rgba(0, 0, 0, 0.07) 6px, rgba(0, 0, 0, 0.07) 12px);
}
.ge-canvas.ge-editing [data-ge-hidden-in] {
  position: relative;
}
.ge-canvas.ge-editing [data-ge-hidden-in]::after {
  content: attr(data-ge-hidden-in);
  position: absolute;
  right: 2px;
  bottom: 2px;
  z-index: 1;
  padding: 0 4px;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  pointer-events: none;
}
/*
 * The inline-style plugin's drawer on a flex or grid node: out of the flow, on top
 * and as wide as the node, over a transparent top border as tall as it is.
 * The border's width comes with the node's data-ge-drawer-out, from a rule
 * per height the plugin writes. The selectors outweigh Bootstrap's border
 * classes and the drawer's own margins, which the spacing part sets inline.
 */
.ge-canvas.ge-editing .ge-drawer-out {
  position: relative;
  border-top-style: solid !important;
  border-top-color: transparent !important;
  /* Not a block's html being edited, with the codemirror-inline plugin:
       a drawer only in name, it stands where the block was, in the flow */
}
.ge-canvas.ge-editing .ge-drawer-out > .ge-tools-drawer:not(.ge-code-inline) {
  position: absolute;
  left: 0;
  right: 0;
  width: auto !important;
  margin: 0 !important;
}
/* The order plugin: a column ordered by class in this view says where */
.ge-canvas.ge-editing .column[data-ge-order]::before {
  content: attr(data-ge-order);
  position: absolute;
  left: 2px;
  bottom: 2px;
  z-index: 1;
  padding: 0 4px;
  border-radius: 3px;
  background: rgba(23, 138, 204, 0.85);
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  pointer-events: none;
}
/*
 * The gutters plugin. A row with gutter classes is drawn with its real
 * gutters rather than the editor's frame: each column padded by half the
 * horizontal gutter, and the vertical gutter above each column. Bootstrap
 * takes the first line's back with a negative top margin on the row, which
 * here would pull it over the row above, so the row's drawer takes it back
 * instead and the gap shows between lines of columns only.
 */
.ge-canvas.ge-editing .row.ge-gutters {
  margin-top: 0;
}
.ge-canvas.ge-editing .row.ge-gutters > .ge-tools-drawer {
  margin-top: 0;
  margin-bottom: calc(5px - var(--bs-gutter-y));
}
.ge-canvas.ge-editing .row.ge-gutters > .column {
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  padding-right: calc(var(--bs-gutter-x) * 0.5);
}
.ge-canvas.ge-editing .row.ge-gutters > .column > .ge-tools-drawer {
  margin-left: calc(var(--bs-gutter-x) * -0.5);
  margin-right: calc(var(--bs-gutter-x) * -0.5);
  width: calc(100% + var(--bs-gutter-x));
}
/* A row whose row-cols sizes its columns in this view says how many */
.ge-canvas.ge-editing .row[data-ge-row-cols] {
  position: relative;
}
.ge-canvas.ge-editing .row[data-ge-row-cols]::before {
  content: attr(data-ge-row-cols);
  position: absolute;
  left: 2px;
  bottom: 2px;
  z-index: 1;
  padding: 0 4px;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  pointer-events: none;
}
/*
 * The sections plugin: Bootstrap's containers on the canvas. A section is
 * framed while editing, and in a breakpoint view each container class gets
 * the max-width it has at that breakpoint - Bootstrap sets it for the
 * window, and the window is not what a breakpoint view narrows.
 */
.ge-canvas.ge-editing > .ge-section {
  border: 1px dashed #8a6d3b;
  margin-bottom: 5px;
  padding-bottom: 5px;
}
.ge-canvas.ge-editing > .ge-section > .ge-section-drawer {
  background: rgba(138, 109, 59, 0.15);
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}
.ge-canvas.ge-editing > .ge-section > .ge-section-drawer > a {
  color: #785f33;
}
/* The width field, in the section's settings panel beside id and classes */
.ge-details .ge-section-width {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
}
.ge-canvas.ge-layout-xs > .container {
  max-width: 100%;
}
.ge-canvas.ge-layout-xs > .container-sm {
  max-width: 100%;
}
.ge-canvas.ge-layout-xs > .container-md {
  max-width: 100%;
}
.ge-canvas.ge-layout-xs > .container-lg {
  max-width: 100%;
}
.ge-canvas.ge-layout-xs > .container-xl {
  max-width: 100%;
}
.ge-canvas.ge-layout-xs > .container-xxl {
  max-width: 100%;
}
.ge-canvas.ge-layout-sm > .container {
  max-width: 540px;
}
.ge-canvas.ge-layout-sm > .container-sm {
  max-width: 540px;
}
.ge-canvas.ge-layout-sm > .container-md {
  max-width: 100%;
}
.ge-canvas.ge-layout-sm > .container-lg {
  max-width: 100%;
}
.ge-canvas.ge-layout-sm > .container-xl {
  max-width: 100%;
}
.ge-canvas.ge-layout-sm > .container-xxl {
  max-width: 100%;
}
.ge-canvas.ge-layout-md > .container {
  max-width: 720px;
}
.ge-canvas.ge-layout-md > .container-sm {
  max-width: 720px;
}
.ge-canvas.ge-layout-md > .container-md {
  max-width: 720px;
}
.ge-canvas.ge-layout-md > .container-lg {
  max-width: 100%;
}
.ge-canvas.ge-layout-md > .container-xl {
  max-width: 100%;
}
.ge-canvas.ge-layout-md > .container-xxl {
  max-width: 100%;
}
.ge-canvas.ge-layout-lg > .container {
  max-width: 960px;
}
.ge-canvas.ge-layout-lg > .container-sm {
  max-width: 960px;
}
.ge-canvas.ge-layout-lg > .container-md {
  max-width: 960px;
}
.ge-canvas.ge-layout-lg > .container-lg {
  max-width: 960px;
}
.ge-canvas.ge-layout-lg > .container-xl {
  max-width: 100%;
}
.ge-canvas.ge-layout-lg > .container-xxl {
  max-width: 100%;
}
.ge-canvas.ge-layout-xl > .container {
  max-width: 1140px;
}
.ge-canvas.ge-layout-xl > .container-sm {
  max-width: 1140px;
}
.ge-canvas.ge-layout-xl > .container-md {
  max-width: 1140px;
}
.ge-canvas.ge-layout-xl > .container-lg {
  max-width: 1140px;
}
.ge-canvas.ge-layout-xl > .container-xl {
  max-width: 1140px;
}
.ge-canvas.ge-layout-xl > .container-xxl {
  max-width: 100%;
}
.ge-canvas.ge-layout-xxl > .container {
  max-width: 1320px;
}
.ge-canvas.ge-layout-xxl > .container-sm {
  max-width: 1320px;
}
.ge-canvas.ge-layout-xxl > .container-md {
  max-width: 1320px;
}
.ge-canvas.ge-layout-xxl > .container-lg {
  max-width: 1320px;
}
.ge-canvas.ge-layout-xxl > .container-xl {
  max-width: 1320px;
}
.ge-canvas.ge-layout-xxl > .container-xxl {
  max-width: 1320px;
}
