
/*
 * Everything in this file must be present on the frontend
 * (and probably not the admin) for the layout to work.
 */

/** Reset and base */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
customhtml > * {
    position: relative;
    z-index: 10;
}
html,
body {
    min-height: 100vh;
    margin: 0;
    padding: 0;
}
html {
    touch-action: manipulation;
    position: relative;
    background-color: rgb(255, 255, 255);
}

/** Flex layout */
/* Flex parent - center flex children */
.main_container {
    min-height: 100vh;
    width: 100%;
    overflow: hidden;
}

.container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    max-width: 100%;
    width: 100%;

    overflow: visible;
}

.container {
    align-items: flex-start;
    -webkit-align-items: flex-start;
}

.page {
    z-index: 2;
}

/**
 * Ensures the bullet points in lists display in the correct position.
 * If the text-limit element is not block, the bullet point moves to the bottom
 * of the li, instead of the top.
 */

.page ul li > text-limit {
    display: block;
}

/* Flex child - grow to fill parent */
.content,
.content_container,
.pinned {
    -webkit-flex: 1 0 auto;
    -moz-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;

    max-width: 100%; /* No wider than the parent */
}

.content_container {
    width: 100%;
}

.content_container.full_height {
    min-height: 100vh;
}

.page_background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/** Stacking */
/* Contains both the page and backdrop */
.page_container {
    position: relative;
    overflow: visible;
    width: 100%;
}

/* Backdrop */
.backdrop {
    position: absolute;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    max-height: 100vh;
}

.backdrop > div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate3d(0,0,0);
    contain: strict;
}

[data-backdrop].backdrop > div[data-overflowing] {
    max-height: 100vh;
    position:absolute;
    top:0;
    left:0;
}

/** split responsive behavior **/
body.mobile [split-responsive] {
    display: flex;
    flex-direction:column;
}

body.mobile [split-responsive] .container {
    width: 100%;
    order: 2;
}

body.mobile [split-responsive] .backdrop {
    position: relative;
    height: 50vh;
    width: 100%;
    order: 1;
}

body.mobile [split-responsive] [data-auxiliary].backdrop {
    position: absolute;
    height: 50vh;
    width: 100%;
    order: 1;
}

.page {
    position: relative;
    z-index: 2;
}

img[data-align="left"] {
    float: left;
}

img[data-align="right"] {
    float: right;
}


/** rotated elements **/
[data-rotation]{
    transform-origin: center center;
}

/** draggable elements **/
.content .page_content:not([contenteditable="true"]) [data-draggable]{
    pointer-events: auto!important;
    backface-visibility: hidden;
}

.preserve-3d {
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.content .page_content:not([contenteditable="true"]) [data-draggable] iframe {
    pointer-events: none!important
}

/* prevent pointer events from being swallowed by iframe */
.dragging-active iframe {
    pointer-events: none!important;
}

.content .page_content:not([contenteditable="true"]) [data-draggable]:active {
    opacity: 1;
}



/** classes to determine the transition that happens when scrolling **/
.content .scroll-transition-fade {
    transition: transform 1s ease-in-out, opacity .8s ease-in-out;
}

.content .scroll-transition-fade.below-viewport {
    opacity: 0;
    transform: translateY(40px);
}


/** Mobile Page Width 100% except for split layout (not responsive) pages */
.mobile.full_width .page_container:not([split-layout]) .container_width {
    width: 100%;
}

/** Pinned pages and their accommodations */
[data-view="pinned_bottom"] .bottom_pin_invisibility {
    visibility: hidden;
}

.pinned {
    position: relative;
    width: 100%;
}

.pinned .page_container.accommodate:not(.fixed):not(.overlay) {
    z-index: 2;
}

.pinned .page_container.overlay {
    position: absolute;
    z-index: 4;
}

.pinned .page_container.overlay.fixed {
    position: fixed;
}

.pinned .page_container.overlay.fixed .page {
    /*overflow: hidden;*/
    max-height: 100vh;
    -webkit-overflow-scrolling: touch;
}

.pinned .page_container.overlay.fixed .page.allow-scroll {
    overflow-y: auto;
    overflow-x: hidden;
}

/* prevent center-aligned 100%-viewport height items from starting in middle */ 
.pinned .page_container.overlay.fixed .page.allow-scroll {
    align-items: flex-start;
    -webkit-align-items: flex-start;
}



.pinned .page_container .page.allow-scroll::-webkit-scrollbar {
    width: 0px;
    background: transparent;
    display: none;
}

.pinned.pinned_top .page_container.overlay {
    left: 0;
    top: 0;
}

.pinned.pinned_bottom .page_container.overlay {
    left: 0;
    bottom: 0;
}

/**
 * data-autopaginate element sometimes doesn't intersect w/ screen if it's the only thing in a set
 * Use this to force it down into the viewport
 */
div[data-container="set"]:empty {
    margin-top:1px;
}


/**
 * Thumbnails
 */
.thumbnails {
    position: relative;
    z-index: 1;
}

[thumbnails="grid"] {
    align-items: baseline;
}

[thumbnails="justify"] .thumbnail {
    box-sizing: content-box;
}

[thumbnails][data-padding-zero] .thumbnail {
    margin-bottom: -1px;
}

[thumbnails="montessori"] .thumbnail {
    pointer-events:auto;
    position: absolute;
}

[thumbnails] .thumbnail > a {
    display: block;
    text-decoration: none;
}

[thumbnails="montessori"] {
    height: 0;
}

[thumbnails][data-resizing], [thumbnails][data-resizing] * {
    cursor: nwse-resize;
}

[thumbnails] .thumbnail .resize-handle {
    cursor: nwse-resize;
    width: 26px;
    height: 26px;
    padding: 5px;
    position: absolute;

    opacity: .75;
    right: -1px;
    bottom: -1px;
    z-index: 100;
}

[thumbnails][data-resizing] .resize-handle {
    display:none;
}

[thumbnails] .thumbnail .resize-handle svg {
    position: absolute;
    top: 0;
    left: 0;
}

[thumbnails] .thumbnail .resize-handle:hover {
    opacity: 1;
}

[data-can-move].thumbnail .resize-handle svg .resize_path_outline {
    fill: rgba(255,255,255,1);
}

[data-can-move].thumbnail .resize-handle svg .resize_path {
    fill: rgba(0,0,0,1);
}

[thumbnails="montessori"] .thumbnail_sizer{
    height: 0;
    width: 100%;
    position: relative;
    padding-bottom: 100%;
    pointer-events:none;
}

[thumbnails] .thumbnail img {
    display: block;
    min-height:3px;
    margin-bottom: 0;
}

[thumbnails] .thumbnail img:not([src]), img[src=""] {
  margin: 0!important;
  width: 100%;
  min-height: 3px;
  height: 100%!important;
  position: absolute;
}

[aspect-ratio="1x1"].thumb_image {
    height: 0;
    padding-bottom: 100%;
    overflow: hidden;
}

[aspect-ratio="4x3"].thumb_image {
    height: 0;
    padding-bottom: 75%;
    overflow:hidden;
}

[aspect-ratio="16x9"].thumb_image {
    height: 0;
    padding-bottom: 56.25%;
    overflow:hidden;
}

[thumbnails] .thumb_image {
    width: 100%;
    position: relative;
}

[thumbnails][thumbnail-vertical-align="top"] {
    align-items: flex-start;
}

[thumbnails][thumbnail-vertical-align="middle"] {
    align-items: center;
}

[thumbnails][thumbnail-vertical-align="bottom"] {
    align-items: baseline;
}

[thumbnails][thumbnail-horizontal-align="left"] {
    justify-content: flex-start;
}

[thumbnails][thumbnail-horizontal-align="middle"] {
    justify-content: center;
}

[thumbnails][thumbnail-horizontal-align="right"] {
    justify-content: flex-end;
}

.thumb_image.default_image > svg {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.thumb_image.default_image {
    outline: 1px solid #ccc;
    outline-offset: -1px;
    position: relative;
}

/** Mobile Thumbnails Width 100% */
.mobile.full_width [data-view="Thumbnail"] .thumbnails_width {
    width: 100%;
}


/**
* Draggables
*/

.content [data-draggable] a:active,
.content [data-draggable] img:active {
    opacity: initial;
}
.content .draggable-dragging {
    opacity: initial;
}

[data-draggable].draggable_visible {
    visibility: visible;
}

[data-draggable].draggable_hidden {
    visibility: hidden;
}

.gallery_card [data-draggable],
.marquee [data-draggable] {
    visibility: inherit;
}
[data-draggable]{
    visibility: visible;
    background-color: rgba(0,0,0,0.003);
}

/**
 * Image galleries
 */


#site_menu_panel_container .image-gallery:not(.initialized) {
    height: 0;
    padding-bottom: 100%;
    min-height: initial;
}

.image-gallery:not(.initialized) {
    min-height: 100vh;
    visibility: hidden;
    width: 100%;
}


.image-gallery .gallery_card img {
    display: block;
    width: 100%;
    height: auto;
}

.image-gallery .gallery_card {
    transform-origin: center;
}

.image-gallery .gallery_card.dragging {
    opacity: 0.1;
    transform: initial!important;
}

.image-gallery:not([image-gallery="slideshow"]) .gallery_card iframe:only-child,
.image-gallery:not([image-gallery="slideshow"]) .gallery_card video:only-child {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
}

.image-gallery[image-gallery="slideshow"] .gallery_card video[muted][autoplay]:not([controls]),
.image-gallery[image-gallery="slideshow"] .gallery_card video[muted][data-autoplay]:not([controls]) {
    pointer-events:none;
}

.image-gallery [image-gallery-pad="0"] video:only-child {
    object-fit: cover;
    height: calc(100% + 1px);
}

div.image-gallery > img,
div.image-gallery > a,
div.image-gallery > iframe,
div.image-gallery > video {
    display:none;
}

[image-gallery-row] {
    align-items: flex-start;
    box-sizing: border-box;

    display: -webkit-box; display:
    -webkit-flex; display:
    -ms-flexbox; display: flex;

    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.image-gallery .gallery_card_image {
    width: 100%;
    position: relative;
}

[data-predefined-style="true"] .image-gallery a.gallery_card {
	display: block;
	border: none;
}

[image-gallery-col] {
    box-sizing: border-box;
}

[image-gallery-col="x12"] { width: 100%; }
[image-gallery-col="x11"] { width: 50%; }
[image-gallery-col="x10"] { width: 33.33%; }
[image-gallery-col="x9"] { width: 25%; }
[image-gallery-col="x8"] { width: 20%; }
[image-gallery-col="x7"] { width: 16.666666667%; }
[image-gallery-col="x6"] { width: 14.285714286%; }
[image-gallery-col="x5"] { width: 12.5%; }
[image-gallery-col="x4"] { width: 11.111111111%; }
[image-gallery-col="x3"] { width: 10%; }
[image-gallery-col="x2"] { width: 9.090909091%; }
[image-gallery-col="x1"] { width: 8.333333333%; }

.content .page_content [image-gallery-pad].image-gallery {
    pointer-events: none;
}

.content .page_content [image-gallery-pad].image-gallery .gallery_card_image > *,
.content .page_content [image-gallery-pad].image-gallery .gallery_image_caption {
    pointer-events: auto;
}

.content .page_content [image-gallery-pad="0"] {
    padding: 0;
}

.content .page_content [image-gallery-pad="0.25"] {
    padding: .125rem;
}

.content .page_content [image-gallery-pad="0.5"] {
    padding: .25rem;
}

.content .page_content [image-gallery-pad="0.75"] {
    padding: .375rem;
}

.content .page_content [image-gallery-pad="1"] {
    padding: .5rem;
}

.content .page_content [image-gallery-pad="1.25"] {
    padding: .625rem;
}

.content .page_content [image-gallery-pad="1.5"] {
    padding: .75rem;
}

.content .page_content [image-gallery-pad="1.75"] {
    padding: .875rem;
}

.content .page_content [image-gallery-pad="2"] {
    padding: 1rem;
}

.content .page_content [image-gallery-pad="2.5"] {
    padding: 1.25rem;
}

.content .page_content [image-gallery-pad="3"] {
    padding: 1.5rem;
}

.content .page_content [image-gallery-pad="3.5"] {
    padding: 1.75rem;
}

.content .page_content [image-gallery-pad="4"] {
    padding: 2rem;
}

.content .page_content [image-gallery-pad="5"] {
    padding: 2.5rem;
}

.content .page_content [image-gallery-pad="6"] {
    padding: 3rem;
}

.content .page_content [image-gallery-pad="7"] {
    padding: 3.5rem;
}

.content .page_content [image-gallery-pad="8"] {
    padding: 4rem;
}

.content .page_content [image-gallery-pad="9"] {
    padding: 4.5rem;
}

.content .page_content [image-gallery-pad="10"]{
    padding: 5rem;
}

/**
image gallery gutters
gutters are only for the left and right edges, to keep image grids clickable
**/

.content .page_content [image-gallery-gutter="0"] {
    margin: 0rem;
}

.content .page_content [image-gallery-gutter="0.5"] {
    margin: -.25rem;
}

.content .page_content [image-gallery-gutter="1"] {
    margin: -.5rem;
}

.content .page_content [image-gallery-gutter="1.5"] {
    margin: -.75rem;
}

.content .page_content [image-gallery-gutter="2"] {
    margin: -1rem;
}

.content .page_content [image-gallery-gutter="2.5"] {
    margin: -1.25rem;
}

.content .page_content [image-gallery-gutter="3"] {
    margin: -1.5rem;
}

.content .page_content [image-gallery-gutter="3.5"] {
    margin: -1.75rem;
}

.content .page_content [image-gallery-gutter="4"] {
    margin: -2rem;
}

.content .page_content [image-gallery-gutter="5"] {
    margin: -2.5rem;
}

.content .page_content [image-gallery-gutter="6"] {
    margin: -3rem;
}

.content .page_content [image-gallery-gutter="7"] {
    margin: -3.5rem;
}

.content .page_content [image-gallery-gutter="8"] {
    margin: -4rem;
}

.content .page_content [image-gallery-gutter="10"]{
    margin: -5rem;
}

.content .page_content [image-gallery-gutter="12"]{
    margin: -6rem;
}

.content .page_content [image-gallery-gutter="14"]{
    margin: -7rem;
}

.content .page_content [image-gallery-gutter="16"]{
    margin: -8rem;
}

.content .page_content [image-gallery-gutter="18"]{
    margin: -9rem;
}

.content .page_content [image-gallery-gutter="20"]{
    margin: -10rem;
}

/* Slideshow gallery layout */
[image-gallery="slideshow"]:not(.initialized) > *{
    min-height: 1px;
    opacity: 0;
    min-width: 100%;
}

[image-gallery="slideshow"][data-constrained-by="height"] [image-gallery-vertical-align].slick-track {
    align-items: flex-start;
}

[image-gallery="slideshow"] img.image-zoom:active {
    opacity: initial;
}

[image-gallery="slideshow"].slick-initialized .gallery_card {
    pointer-events: none;
}

[image-gallery="slideshow"].slick-initialized .gallery_card.slick-current {
    pointer-events: auto;
}

[image-gallery="slideshow"] .gallery_card:not(.has_caption) {
    line-height:0;
}

.content .page_content [image-gallery="slideshow"].image-gallery > * {
    pointer-events: auto;
}


.content [image-gallery="slideshow"].image-gallery.slick-initialized .gallery_card {
    overflow:hidden;
	margin: 0;
	display: flex;
	flex-flow: row wrap;
    flex-shrink: 0;
}



.content [image-gallery="slideshow"].image-gallery.slick-initialized .gallery_card.slick-current {
    overflow: visible;
}

[image-gallery="slideshow"] .gallery_image_caption {
    opacity: 1;
    transition: opacity .3s;
    -webkit-transition: opacity .3s;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    clear: both;
}

[image-gallery-horizontal-align="left"] .gallery_image_caption {
    text-align: left;
}

[image-gallery-horizontal-align="middle"] .gallery_image_caption {
    text-align: center;
}

[image-gallery-horizontal-align="right"] .gallery_image_caption {
    text-align: right;
}

[image-gallery="slideshow"][data-slideshow-in-transition] .gallery_image_caption {
	opacity: 0;
	transition: opacity .3s;
	-webkit-transition: opacity .3s;
}

[image-gallery="slideshow"] .gallery_card_image {
	width: initial;
	margin: 0;
	display: inline-block;
}

[image-gallery="slideshow"] .gallery_card img {
	margin: 0;
    display: block;
}

[image-gallery="slideshow"][data-exploded] {
    align-items: flex-start;
    box-sizing: border-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
}

[image-gallery="slideshow"][data-exploded] .gallery_card {
	padding: 1rem;
	width: 16.666%;
}

[image-gallery="slideshow"][data-exploded] .gallery_card_image {
	height: 0;
	display: block;
	width: 100%;
}

/* Grid image gallery layout */

[image-gallery="grid"] {
    align-items: baseline;
}

[image-gallery="grid"] .gallery_card.has_caption .gallery_card_image {
    display: block;
}

[image-gallery="grid"] [image-gallery-pad="0"].gallery_card {
    margin-bottom: -1px;
}

[image-gallery="grid"] .gallery_card img {
    margin: 0;
}

/* Columns image gallery layout */

[image-gallery="columns"] .gallery_card img {
    margin: 0;
}



/* Justify image grid layout */

[image-gallery="justify"] {
    align-items: flex-start;
}

[image-gallery="justify"] .gallery_card img {
    margin: 0;
}



/* Montessori image grid layout */

[image-gallery="montessori"][image-gallery-row] {
    display: block;
}

[image-gallery="montessori"] div.gallery_card,
[image-gallery="montessori"] a.gallery_card {
    position: absolute;
    pointer-events:auto;
}

[image-gallery="montessori"][data-can-move] .gallery_card,
[image-gallery="montessori"][data-can-move] .gallery_card .gallery_card_image,
[image-gallery="montessori"][data-can-move] .gallery_card .gallery_card_image > * {
    cursor: move;
}


[image-gallery="montessori"] {
    position:relative;
    height: 0;
}

/*[image-gallery="montessori"][zero-height] {
    left: 0;
    position:absolute;
    width: 100%;
}*/


/* Freeform image grid layout */
[image-gallery="freeform"] .gallery_card {
    position: relative;
}

[image-gallery="freeform"] [image-gallery-pad="0"].gallery_card {
    margin-bottom: -1px;
}

[image-gallery-vertical-align] {
    display: flex;
    flex-flow: row wrap;
}

[image-gallery-vertical-align].slick-track {
    display: flex;
    flex-flow: row nowrap;
}

.image-gallery .slick-list {
    margin-bottom: -.3px; /* hack for safari's terrible rounding behavior */
}

[image-gallery-vertical-align="top"] {
    align-content: flex-start;
    align-items: flex-start;
}

[image-gallery-vertical-align="middle"] {
    align-items: center;
    align-content: center;
}

[image-gallery-vertical-align="bottom"] {
    align-content: flex-end;
    align-items: flex-end;
}

[image-gallery-horizontal-align="left"] {
    justify-content: flex-start;
}

[image-gallery-horizontal-align="middle"] {
    justify-content: center;
}

[image-gallery-horizontal-align="right"] {
    justify-content: flex-end;
}



/* layout for both montessori and freeeform image galleriess */

.image-gallery[data-resizing], .image-gallery[data-resizing] * {
    cursor: nwse-resize!important;
}

.image-gallery .gallery_card .resize-handle, .image-gallery .gallery_card .resize-handle * {
    cursor: nwse-resize!important;
}

.image-gallery .gallery_card .resize-handle {
    width: 26px;
    height: 26px;
    padding: 5px;
    position: absolute;

    opacity: .75;
    right: -1px;
    bottom: -1px;
    z-index: 10;
}

.image-gallery[data-resizing] .resize-handle {
    display:none;
}

.image-gallery .gallery_card .resize-handle svg {
    cursor: nwse-resize!important;
    position: absolute;
    top: 0;
    left: 0;
}

.image-gallery .gallery_card .resize-handle:hover {
    opacity: 1;
}

[data-can-move].gallery_card .resize-handle svg .resize_path_outline {
    fill: rgba(255,255,255,1);
}

[data-can-move].gallery_card .resize-handle svg .resize_path {
    fill: rgba(0,0,0,1);
}

[image-gallery="montessori"] .thumbnail_sizer{
    height: 0;
    width: 100%;
    position: relative;
    padding-bottom: 100%;
    pointer-events:none;
}


/* Images */



/* Site Menu Button */

#site_menu_button {
    display: block;
    text-decoration: none;
    pointer-events: auto;
    z-index: 9;
    vertical-align: top;
    cursor: pointer;
    box-sizing: content-box;
    font-family: 'Icons';
}

#site_menu_button.custom_icon {
     padding: 0;
     line-height: 0;
}

#site_menu_button.custom_icon img {
    width: 100%;
    height: auto;
}

#site_menu_wrapper.disabled #site_menu_button {
    display: none;
}

#site_menu_wrapper.mobile_only #site_menu_button {
    display: none;
}

body.mobile #site_menu_wrapper.mobile_only:not(.disabled) #site_menu_button:not(.active) {
    display: block;
}

/* Site Menu */

#site_menu_panel_container[data-type="cargo_menu"] #site_menu_panel {
    display: block;
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    z-index: 10;
    cursor: default;
}

.site_menu {

    pointer-events: auto;
    position: absolute;
    z-index: 11;
    top: 0;
    bottom: 0;
    line-height: 0;
    max-width: 400px;
    min-width: 300px;
    font-size: 20px;
    text-align: left;

    background: rgba(20, 20, 20, 0.95);
    padding: 20px 30px 90px 30px;
    overflow-y: auto;
    overflow-x: hidden;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

body.mobile #site_menu_wrapper .site_menu {
    -webkit-overflow-scrolling: touch;
    min-width: auto;
    max-width: 100%;
    width: 100%;
    padding: 20px;
}

#site_menu_wrapper[data-sitemenu-position="top-left"] #site_menu,
#site_menu_wrapper[data-sitemenu-position="bottom-left"] #site_menu{
    left: 0;
}

#site_menu_wrapper[data-sitemenu-position="top-right"] #site_menu,
#site_menu_wrapper[data-sitemenu-position="bottom-right"] #site_menu{
    right: 0;
}

#site_menu_wrapper[data-type="page"] .site_menu {
    right: 0; left: 0;
    width: 100%;
    padding: 0;
    margin: 0;
    background: transparent;
}

.site_menu_wrapper.open .site_menu {
    display: block;
}

.site_menu div {
    display: block;
}

.site_menu a {
    text-decoration: none;
    display: inline-block;
    color: rgba(255, 255, 255, 0.75);
    max-width: 100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow: ellipsis;
    line-height: 1.4;
}

.site_menu div a.active {
    color: rgba(255,255,255,.4);
}

.site_menu div.set-link > a {
    font-weight: bold;
}

.site_menu div.hidden {
    display: none;
}

/*#site_menu div.set-link a + [data-set-wrapper] {*/
/*#site_menu [data-set-wrapper].indent {
    margin-left: 20px;
}*/

/*#site_menu .spacer {
     height: 28px;
}*/

.site_menu .close {
    display: block;
    position: absolute;
    top: 0;
    right: 10px;
    font-size: 60px;
    line-height: 50px;
    font-weight: 200;
    color: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    user-select: none;
}

#site_menu_panel_container .page_container {
    position: relative;
    overflow: hidden;
    background: transparent;
    z-index: 2;
}

#site_menu_panel_container .site_menu_page_wrapper {
    position: fixed;
    top:0;
    left:0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    height: 100%;
    width: 100%;
    z-index: 100;    
}


/* allow mousewheel while cursor is over backdrop */
#site_menu_panel_container .site_menu_page_wrapper .backdrop {
    pointer-events: none;
}

#site_menu_panel_container #site_menu_page_overlay {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    cursor: default;
    z-index: 1;
}

/* Shop Button */
#shop_button {
    display: block;
    text-decoration: none;
    pointer-events: auto;
    z-index: 9;
    vertical-align: top;
    cursor: pointer;
    box-sizing: content-box;
    font-family: 'Icons';
}

#shop_button.custom_icon {
     padding: 0;
     line-height: 0;
}

#shop_button.custom_icon img {
    width: 100%;
    height: auto;
}

#shop_button.disabled {
    display: none;
}


/*Loading animation*/
.loading[data-loading] {
  display: none;
  position: fixed;
  bottom: 8px; left: 8px;
  z-index: 100;
}

/* New Site button */
.new_site_button_wrapper {
  font-size: 1.8rem;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.85);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif, 'Sans Serif', Icons;
  font-style: normal;
  line-height: 1.4;
  color: white;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 999;
}
/*
.new_site_button {
    height: 50px;
    border-radius: 30px;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    line-height: 0;
}*/

body.template_site #toolset {
    display: none !important;
}

body.mobile .new_site_button {
    display: none;
}

/*.new_site_button #create_site_svg {
    width: 50px;
    height: 50px;
}

.new_site_button #create_site_svg .cls-1 {
    fill: #0fce83;
}

.new_site_button #create_site_svg .cls-2 {
    fill:none;
}

.new_site_button #create_site_svg .cls-3 {
    fill:none;
    stroke:#fff;
    stroke-linecap:round;
    stroke-miterlimit:10;
    stroke-width: 2.5px;
}*/

.new_site_button {
    display: flex;
    height: 44px;
    cursor: pointer;
}

.new_site_button .plus {
    width: 44px;
    height: 100%;
}

.new_site_button .plus svg {
    width: 100%;
    height: 100%;
}

.new_site_button .plus svg line {
  stroke: #000;
  stroke-width: 2px;
}

.new_site_button .plus:after,
.new_site_button .plus:before {
    content: '';
    width: 30px;
    height: 2px;
}

.new_site_button .text {
    background: #0fce83;
    display: none;
    padding: 7.5px 15px 7.5px 15px;
    height: 100%;
    font-size: 20px;
    color: #222;
}

.new_site_button:active {
    opacity: .8;
}

.new_site_button.show_full .text {
    display: block;
}

.new_site_button.show_full .plus {
    display: none;
}


/*.new_site_button.show_full:after {
    pointer-events: none;
    content: 'Make a site with this template?';
    position: absolute;
    top: 50%;
    right: 0;
    bottom: 0;
    left: 20px;
    font-size: 24px;
    z-index: 9999;
    line-height: .95;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}*/
/*
.new_site_button.show_full svg {
    left: auto;
    position: absolute;
    right: 0;
}*/

html:not(.admin-wrapper) .template_site #confirm_modal [data-progress] .progress-indicator:after {
    content: 'Generating Site...';
    padding: 7.5px 15px;
    right: -200px;
    color: #000;
}

/**
 * Marker
 */
bodycopy svg.marker-overlay,
bodycopy svg.marker-overlay * {
    transform-origin: 0% 0%;
    -webkit-transform-origin: 0% 0%;
    box-sizing: initial;
}

bodycopy svg#svgroot {
    box-sizing: initial;
}

bodycopy svg.marker-overlay {
    padding: inherit;
    position: absolute;
    left: 0%;
    top: 0%;
    width: 100%;
    height: 100%;
    min-height: 1px;
    overflow: visible;
    pointer-events: none;
    z-index: 999;
}

bodycopy svg.marker-overlay * {
    pointer-events: initial;
}

bodycopy svg.marker-overlay text {
    letter-spacing: initial;
}

bodycopy svg.marker-overlay a {
    cursor: pointer;
}


/** marquee layout **/
 .marquee:not(.torn-down) {
    overflow:hidden;
    width: 100%;
    position:relative;
    padding-bottom: .25em;
    padding-top: .25em;
    margin-bottom: -.25em;
    margin-top: -.25em;
    contain: layout;
}

.marquee .marquee_contents {
    will-change: transform;
    display: flex;
    flex-direction: column;
}

.marquee[behavior][direction].torn-down {
    white-space: normal;
}

.marquee[behavior="bounce"] .marquee_contents {
    display: block;
    float: left;
    clear: both;
}

.marquee[behavior="bounce"] .marquee_inner {
    display: block;
}

.marquee[behavior="bounce"][direction="vertical"] .marquee_contents {
    width: 100%;
}

.marquee[behavior="bounce"][direction="diagonal"] .marquee_inner:last-child,
.marquee[behavior="bounce"][direction="vertical"] .marquee_inner:last-child {
    position: relative;
    visibility: hidden;
}



/** scroll left/right **/
.marquee[behavior="scroll"][direction="horizontal"],
.marquee[behavior="bounce"][direction="horizontal"] {
    white-space:pre;
}

.marquee[behavior="scroll"][direction="horizontal"] .marquee_contents {
    display:inline-flex;
    white-space: nowrap;
    min-width: 100%;
}

.marquee[behavior="scroll"][direction="horizontal"] .marquee_inner {
    /*display:inline-flex;*/
    min-width: 100%;
}

.marquee[behavior="scroll"] .marquee_inner:first-child {
    will-change: transform;
    position: absolute;
    width: 100%;
    top: 0;
    left:0;
}

/* Do not show Cycle */
.cycle {
    display: none;
}

