/**
 * This file holds the basic CSS styles of Silex websites
 */

/* pages */
.page-element{
  display: none;
}
.paged-element{
  display: none;
}
.silex-published .paged-element{
  display: block;
}
/* default style for silex elements */
.editable-style{
  position: absolute;
  box-sizing: content-box; /* this is needed to set the size of elements with a border (though it could be omited since this is the default value) */
  -webkit-tap-highlight-color:rgba(255,255,255,0);
  -webkit-tap-highlight-color:transparent;
  tap-highlight-color:rgba(255,255,255,0);
  tap-highlight-color:transparent;
}
.silex-element-content{
  overflow: hidden;
  border-radius: initial;
  width: 100%;
}
/* prevent-auto-z-index is to let the components handle their z-index */
.section-element > .silex-element-content > *:not(.prevent-auto-z-index) {
  /* put the elements of a section on top of sections bellow */
  z-index: 10;
}
.silex-element-content {
  pointer-events: none;
}
.silex-element-content[contenteditable="true"] {
  min-height: 20px;
  cursor: text;
  pointer-events: auto;
}
.editable-style.silex-selected.text-editor-focus {
  /* remove text box selection markers
  box-shadow: none;
  */
  /* a click on current text box will select it */
  cursor: pointer;
}
.text-editor-focus .ui-resizable-handle {
  /* remove text box UI handles for resize */
  display: none;
}
.section-element > .silex-element-content {
  /* section have a content element, and it needs to keep pointer events
     because it container other silex elements
  */
  pointer-events: auto;
}
body.silex-runtime .silex-element-content {
  pointer-events: auto;
}
.editable-style.section-element {
  position: relative;
  left: 0;
  top: 0;
  right: 0;
  padding: 0 100px;
  margin: 0;
}
.silex-runtime .editable-style.section-element {
  padding: 0;
  margin: 0;
  margin-top: -1px;
}
.default-site-width, /* for backward compat, FIXME: remove in a while */
.website-width {
  width: 960px;
}
.section-element .silex-container-content {
  position: relative;
  left: 0;
  top: 0;
  margin-left: auto;
  margin-right: auto;
  overflow: initial;
}
/* background */
.background{
  position: relative !important;
  left: 0 !important;
  top: 0 !important; /* !important is useful while editing */
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
/* resize */
.editable-style.image-element .silex-element-content {
  position: absolute;
  border-radius: inherit; /* this is to follow the element's radius */
  height: 100%;
}
/* wysihtml text editor styles */
.wysiwyg-float-left {
  float: left;
  margin: 0 8px 8px 0;
}
.wysiwyg-float-right {
  float: right;
  margin: 0 0 8px 8px;
}
/* Remove dots surrounding links in Firefox
    because of normalize.css */
a:focus{ outline: none;}

body.silex-runtime .editable-style[data-silex-href] {
  cursor: pointer;
}
body.enable-mobile .editable-style.hide-on-desktop {
  display: none;
}
/* elements styles */
body.enable-mobile .background {
  height: initial;
  padding-bottom: 50px;
}
.silex-runtime .fixed {
  position: absolute;
  z-index: 20;
}
/* Mobile styles */
@media (max-width:480px) {
  /* hide horizontal scroll bar which appears because of residual values in css
  html {
    overflow-x: hidden;
  }
  */
  body {
    position: initial; /* used to be absolute but now only in editor (editable.css), when position is absolute the body has the size of its content */
  }
  /* mobile mode */
  body.enable-mobile .editable-style:not(.prevent-mobile-style),
  body.enable-mobile .background.background-initial {
    position: static;
    top: auto;
    left: auto;
    max-width: 100%;
    min-width: auto; /* this is to remove sections min-width, since section min-width is set to the witdh of its content in Element::setStyle() */
    margin-left: auto;
    margin-right: auto;
  }
  body.enable-mobile .editable-style.container-element {
    padding: 10px; /* leave space between a container and its content */
  }
  body.enable-mobile .editable-style.section-element {
    padding: 0;
  }
  body.enable-mobile .editable-style.section-element > .silex-element-content {
    padding: 10px 0; /* leave space between a container and its content */
  }
  body.enable-mobile.silex-resizing .editable-style:not(.prevent-mobile-style) {
    max-width: unset; /* while dragging let the user size the elements freely */
  }
  body.enable-mobile .image-element.editable-style:not(.prevent-mobile-style) {
    position: relative;
  }
  body.enable-mobile .editable-style.section-element {
    max-width: 100%; /* section bg should be 100% width because user do not need to grab the side and resize */
    padding: 0;
    margin: 0;
  }
  body.enable-mobile .container-element {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    height: fit-content;
  }
  /* but still hide paged elements or desktop only elements */
  .paged-element-hidden.paged-element.editable-style {
    display: none;
  }
  body.enable-mobile .editable-style.hide-on-mobile {
    display: none;
  }
  body.enable-mobile .editable-style.hide-on-desktop {
    display: initial;
  }
  body.silex-runtime.enable-mobile .background.background-initial {
    max-width: 100%;
  }
}

/**
 * prodotype components
 */
.silex-element-content-full-height .silex-element-content {
  height: 100%;
}
.prodotype-preview {
  display: none;
}
.prodotype-runtime,
.prodotype-runtime-strict {
  display: none;
}
.prodotype-published {
  display: none;
}
body.silex-editor .prodotype-preview {
  display: block;
}
body.silex-runtime .prodotype-runtime,
body.silex-runtime .prodotype-runtime-strict {
  display: block;
}
body.silex-published .prodotype-published {
  display: block;
}
body.silex-publish .prodotype-runtime-strict {
  display: none;
}
.prodotype-force-size {
  position: absolute;
  width: 100%;
  height: 100%;
}
.silex-component-button button {
  width: 100%;
}
/* full-width component*/
div.editable-style.full-width-section {
  min-height: 100px;
}

div.editable-style.full-width-section>.editable-style {
  position: static;
  min-width: 100%;
}

div.editable-style.full-width-section>.editable-style.silex-element-content {
  display: none;
}
