/* base CSS do display sleeknote4 */
/* 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: inherit;
}

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;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
	margin-left: 10px;
	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-date-and-time-value {
	/* @NOTE: enforces proper alignment on Android Chrome and iOS Safari. */
	text-align: inherit;
	margin: 0;
}

input[type='date']::-webkit-calendar-picker-indicator {
	margin-left: 10px;
	width: 1em;
	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;
	opacity: 0;
}

[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;
	text-align: inherit;
}

[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 */
html,
body,
iframe,
button,
label,
a,
input,
select,
textarea,
[data-click],
section,
[data-sn-type='text'],
#video-element {
	pointer-events: auto !important;
}

.flex-root [style*="pointer-events"]:not(
	html,
	body,
	iframe,
	button,
	label,
	a,
	input,
	select,
	textarea,
	[data-click],
	section,
	[data-sn-type='text'],
	#video-element
) {
	pointer-events: none !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;
}

[data-sn-type='button'] {
	-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;
	border-radius: 0px;
	border: 0;
	outline: none;
	line-height: 1.2;
	text-align: inherit;
	width: 100%;
	margin: 0;
	background: transparent;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url('data:image/svg+xml; utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 5" width="10" height="5"><path fill-rule="evenodd" d="m5 5 4-5H1"/></svg>');
	background-repeat: no-repeat;
	background-position: right 1em center;
}
.select p,
select p {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-right: 24px;
}

.select-wrap {
	overflow: hidden;
}

.select {
	padding: 10px;
}

select {
	cursor: pointer;
	padding: 10px calc(10px + 24px) 10px 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;
}
/*text-crop-fix*/
.inline-editor,
.inline-editor * {
	overflow: visible !important;
}

input::-webkit-date-and-time-value {
	text-align: left;
}

/* radio custom margin */
[data-sn-type=radio] li[style]:first-of-type {
	margin-top: 0!important;
}
[data-sn-type=radio] li[style]:last-of-type {
	margin-bottom: 0!important;
}
/* custom radio */
[data-accent-enable] input[type=radio],
[data-accent-enable] input[type=checkbox] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	color: #FFF;
	width: var(--accent-size);
	height: var(--accent-size);
	padding: calc(var(--accent-size) / 8);
	border-style: var(--accent-style);
	border-color: var(--accent-outline);
	border-width: var(--accent-border);
	border-radius: var(--accent-radius);
}
[data-accent-enable] input[type=radio] {
	background-color: #FFF;
}
[data-accent-enable] input[type=radio]:checked {
	color: var(--accent-color);
	border-color: currentColor;
}
[data-accent-enable] input[type=radio]:after {
	content: ' ';
	display: block;
	width: 100%;
	height: 100%;
	background-color: currentColor;
	border-radius: calc(0% + var(--accent-radius));
}
/* custom checkbox */
[data-accent-enable] input[type=checkbox] {
	background-color: currentColor;
}
[data-accent-enable] input[type=checkbox]:checked {
	color: var(--accent-color);
	border: none;
}
[data-accent-enable] input[type=checkbox]:after {
	content: ' ';
	display: block;
	width: 100%;
	height: 100%;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-image: var(--accent-enable);
}
/* custom radio/checkbox */
[data-accent-enable],
[data-accent-enable] {
	--input-size: var(--accent-size);
}
input[type='radio'],
input[type='checkbox'] {
	position: absolute !important;
}
[data-sn-subtype='label'] {
	left: calc(var(--input-size, 16px) + 10px) !important;
	width: calc(100% - calc(var(--input-size, 16px) + 10px)) !important;
	min-height: var(--input-size, auto) !important;
	/*line-height: var(--input-size, 1.2) !important;*/
	padding-left: 0px !important;
}
[data-sn-type="radio"] li {
	max-width: 100%;
}
/* video */
[data-sn-type=video] > span {
	display: block;
	height: 100%;
}
[data-sn-type=video] > span[data-sn-custom-youtube-url] div[style] {
	height: 100% !important;
}
/* text */
[data-sn-type=counter] .inline-editor > *,
[data-sn-type=text] p {
	width: 100%;
	flex-shrink: 0;
}
