/* base CSS do display sleeknote */
/* reset */
[hidden],
template {
 display: none;
}

a {
 background: transparent;
 text-decoration: none;
}

a:active,
a:hover {
 outline: 0;
}

b,
strong {
 font-weight: bold;
}

small {
 font-size: 80%;
}

sub,
sup {
 font-size: 75%;
 line-height: 0;
 position: relative;
 vertical-align: baseline;
}

sup {
 top: -0.5em;
}

sub {
 bottom: -0.25em;
}

img {
 border: 0;
 display: inline-block;
 vertical-align: top;
 /*vertical-align: text-bottom;*/
}

img.emoji {
 height: 1em;
 width: 1em;
 margin: 0 0.05em 0 0.1em;
 vertical-align: -0.1em;
}

svg:not(:root) {
 overflow: hidden;
}

figure {
 margin: 1em 40px;
}

hr {
 /*
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    */
 height: 0;
}

pre {
 overflow: auto;
}

code,
kbd,
pre,
samp {
 font-family: monospace, monospace;
 font-size: 1em;
}

.input,
button,
input,
optgroup,
select,
textarea {
 color: inherit;
 /* 1 */
 font: inherit;
 /* 2 */
 margin: 0;
 /* 3 */
}

button {
 overflow: visible;
}

button,
select {
 text-transform: none;
}

button[disabled],
input[disabled] {
 cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
 border: 0;
 padding: 0;
}

.input,
input {
 line-height: 1.2;
}

table {
 table-layout: fixed;
 border-collapse: collapse;
 border-spacing: 0;
 position: relative;
}

td {
 vertical-align: top;
}

html,
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
input[type='radio'],
input[type='checkbox'],
textarea,
p,
blockquote,
th,
td,
label {
 margin: 0;
 padding: 0;
 color: inherit;
 font-weight: inherit;
 font-style: inherit;
 font-size: 100%;
 /*line-height: 1;*/
 font-family: inherit;
 text-align: left;
}

fieldset,
img,
iframe {
 border: 0;
}

address,
caption,
cite,
code,
dfn,
th,
var {
 font-style: normal;
 font-weight: normal;
}

ol,
ul {
 list-style: none;
}

caption,
th {
 text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
 font-size: 100%;
 font-weight: normal;
}

q:before,
q:after {
 content: '';
}

input[type='checkbox'],
input[type='radio'] {
 /*box-sizing: border-box;*/
 /* 1 */
 padding: 0;
 /* 2 */
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
 height: auto;
}

*,
*:before,
*:after {
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 list-style: none;
 position: relative;
 overflow: hidden;
}

/* now the basics */
html {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5em;
	-webkit-text-size-adjust: 100%;
	font-size: 13px;
	-webkit-tap-highlight-color: transparent;
	-ms-content-zooming: none;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'kern' 1;
	font-kerning: normal;
}

.input,
input[type='text'],
input[type='email'],
input[type='date'],
input[type='tel'],
textarea {
	padding: 12px;
	font-size: 13px;
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color: #aaa;
	border: 0px #000 solid;
	width: 100%;
}

select,
.select {
	font-size: 13px;
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color: #aaa;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='date']:focus,
input[type='tel']:focus,
textarea:focus {
	outline: none;
	border-color: solid 1px #ccc;
}

input[type='date']::-webkit-calendar-picker-indicator {
  height: 1em;
  padding: 0;
}

input[type='date']::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

textarea {
	overflow: auto;
	resize: none;
	display: block;
}

.textarea,
textarea {
 min-height: 100px;
}

section {
	cursor: default;
	/*PP - 6h I never get back - this transform assures that background with pointer-events auto will actually receive them WHY?*/
	transform: translate(0%, 0%);
}

.linkbutton,
[data-sn-type='button'],
section[data-type='teaser'],
section[name='teaser'],
[data-sn-custom-action],
#sleeknoteMinified {
	cursor: pointer;
}

[data-sn-type='phone'] *:not(style) {
    display: flex;
    align-items: center;
}

[data-sn-type='phone']>div {
	padding: 0!important;
}

[data-sn-type='phone'] label {
    display: inline;
    padding: 4px 16px 4px 8px;
    overflow: visible;
    z-index: 1;
    background: 0 0;
    background-repeat: no-repeat;
    background-position: right 0 center;
}

[data-sn-type='phone'] select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    text-indent: -9999999px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-sn-type='phone'] label:after {
    content: '+' attr(data-value);
}

[data-sn-type='phone'] [type='tel'] {
    flex: auto;
    padding: 10px;
    font: inherit;
    color: inherit;
    background-color: inherit;
    background-repeat: inherit;
    background-position: inherit;
    background-size: inherit;
    line-height: 1.2;
}

[data-sn-type='phone'] select optgroup {
	color: initial;
	font-size: initial;
}


body,
section,
form {
	overflow: hidden;
}

html {
	height: 100%;
	overflow: hidden;
}

body {
	overflow-y: auto;
	height: 100%;
}

html.editor body,
html.desktop body {
	width: calc(100% + 50px);
}

html.embedded body {
	overflow: hidden;
}


html.touch * {
	cursor: pointer !important;
}

/* section is always wrapper of the box */
label,
a,
input,
select,
textarea,
[data-click],
section,
[data-sn-type='text'],
#video-element {
	pointer-events: auto !important;
}

/* remember to apply auto in editor*/
section > * {
	pointer-events: none;
}

.box {
	overflow: visible;
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
	top: 0;
	left: 0;
	float: none;
	width: 100%;
	height: 100%;
}

.column-bg {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	border-radius: 0;
	z-index: -1;
}

.element {
	 position: relative;
	 width: 100%;
	 max-width: 100%;
	 /* now possible to change width */
	 overflow: visible;
	 z-index: 2;
	 height: 100%;
}

.element > * {
	width: 100%;
}

span {
	word-break: break-word;
}

.linkbutton p,
.input p,
[data-sn-type='button'] p {
	white-space: nowrap;
}

.inline-editor p {
	min-width: 60px;
	/*word-break: break-all;*/
}

 /*
    also educated guess, we should never allow that height sleeknotes anyway, and this just limits one text element size
    effectively that fixes most resizing problem
.inline-editor {

	max-height: 500px;
}
  */

.image-cover,
.inline-editor * {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	font-style: inherit;
	line-height: inherit;
	text-align: inherit;
	vertical-align: inherit;
	white-space: inherit;
}

.inline-editor strong,
.inline-editor b {
	font-weight: bold;
}

.inline-editor ins {
	text-decoration: none;
}

.inline-editor em {
	font-style: italic;
}

.inline-editor {
	line-height: 1.2;
}

.inline-editor s {
	text-decoration: line-through;
}

.inline-editor u {
	text-decoration: underline;
}

[data-sn-type='image'] img {
	max-width: 100%;
}


input[type='radio'],
input[type='checkbox'] {
	position: absolute;
	top: 0;
	/* not sure seems to better center in the middle*/
	bottom: 0;
	margin: auto 0;
	padding: 0;
	width: 16px;
}

[data-sn-subtype='label'] {
	display: block;
	position: relative;
	left: 25px;
	width: calc(100% - 25px);
	cursor: pointer;
	-webkit-user-select: none;
	user-select: none;
}

[contenteditable='true'] {
	outline: none !important;
}

[contenteditable='true']:focus {
	outline: none !important;
}

[contenteditable] * {
	overflow: visible;
}

html.mobile form {
	float: none;
	width: 100%;
}

[data-sn-custom-step='toggleForm'],
.element[data-sn-type='close'] {
	cursor: pointer;
}

[data-sn-custom-step='toggleForm'] > svg {
	cursor: pointer;
	transform: rotate(0deg);
	transition: 500ms ease all;
}

.toggle-arrow-down > svg {
	transform: rotate(0deg) !important;
}

.toggle-arrow-up > svg {
	transform: rotate(180deg) !important;
}

.inline-button {
	line-height: 0;
}

.flex-container-container {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	width: 100%;
 	min-height: 20px;	
}

.flexbox {
	display: -webkit-flex;
	display: flex;
	outline: none!important;
}

.select,
select {
	height: 100%;
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	text-align: left !important;
	border-radius: 0px;
	border: 0;
	outline: none;
	line-height: 1.2;
	width: 100%;
	margin: 0;
	background: transparent;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml; utf8,<svg width='10' height='5' viewBox='0 0 10 5' xmlns='http://www.w3.org/2000/svg'><title>Triangle</title><path fill='#000' d='M5 5.026L9.19 0H.81' fill-rule='evenodd'/></svg>");
	background-repeat: no-repeat;
	background-position: right 1em center;
}
.select p,
select p {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-right: 20px;
}

.select-wrap {
	overflow: hidden;
}

.select {
	padding: 10px;
}

select {
	cursor: pointer;
	padding: 10px !important;
}

option {
	height: 3em;
	color: #aaa;
	background-color: transparent;
	vertical-align: middle;
}

select:focus option {
 color: #444;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
 select {
  background-position: right calc(20px + 1em) center !important;
  width: calc(100% + 20px) !important;
  padding-right: 0 !important;
 }
}

#SNForm {
	-webkit-overflow-scrolling: touch;
}

[data-sn-subtype='seconds'] {
	display: none;
}

[data-sn-custom-seconds='true'] [data-sn-subtype='seconds'],
[data-sn-custom-seconds='1'] [data-sn-subtype='seconds'] {
	display: inline;
}

[data-sn-type='clerk'] {
	min-height: 100px;
	background: transparent;
}

.image-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	flex-direction: column;
	pointer-events: auto;
}