/* ##
/* NOTE: Default wp-wrap/body offsets are 12+10+12 (wrap-right-margin, wrap-left-padding, scroll-bar width)
/* NOTE: Default inner-paddings are 20px on either side.
/* # Start Normalize.
/*----------------------------------------------------------------------------*/

/* ## Notices: Annoyances.
/* We don't ever want to remove potentially non-recurring notices.
/*--------------------------------------*/
body.tsfem .update-nag,
body.tsfem #update-nag {
	display: none;
}

/* ## Notices: Core + self.
/*--------------------------------------*/
/* "margin: 1.2% 0 0" Edge/Firefox inline margins issue */
.wrap.tsfem .notice,
.tsfem-notice {
	margin: 1.2vw 0 0;
	box-shadow: 0 .4em 1em rgba(0,0,0,.18);
}

/* ### Notices: Self.
/*--------------------------------------*/

.tsfem-notice {
	position: relative;
	background: #fff;
	border-left: 4px solid #fff;
	padding: 1px 12px;
}

.tsfem-notice p {
	margin: .5em 0;
	margin-right: 19px;
	padding: 2px;
}

.tsfem-notice,
.tsfem-notice-success {
	border-left-color: #00cd98;
}

.tsfem-notice-warning {
	border-left-color: #ffa01b;
}

.tsfem-notice-error {
	border-left-color: #dd3811;
}

.tsfem-notice.tsfem-show-icon p:before {
	content: '';
	margin-right: 12px;
	background: 0 0;
	display: inline-block;
	font: 400 14px/16px dashicons;
	speak: none;
	height: 16px;
	text-align: center;
	vertical-align: middle;
	width: 16px;
	line-height: 14px;
	-webkit-font-smoothing: antialiased;
}

.tsfem-notice-success.tsfem-show-icon p:before {
	color: #00cd98;
	font-size: 16px;
	content: "\f147";
}

.tsfem-notice-warning.tsfem-notice.tsfem-show-icon p:before {
	color: #ffa01b;
	content: "\f227";
}

.tsfem-notice-error.tsfem-notice.tsfem-show-icon p:before {
	color: #dd3811;
	content: "\f534";
}

/* ### Dismissible notices.
/*--------------------------------------*/
a.tsfem-dismiss {
	position: absolute;
	top: 0;
	right: 1px;
	border: none;
	margin: 0;
	padding: 9px;
	background: 0 0;
	color: #b4b9be;
	cursor: pointer;
	text-decoration: none;
	transition: color 0.15s;
}

a.tsfem-dismiss:before {
	background: 0 0;
	content: "\f153";
	display: block;
	font: 400 16px/20px dashicons;
	speak: none;
	height: 20px;
	text-align: center;
	width: 20px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a.tsfem-dismiss:hover {
	color: #d14b44;
}

/* ## Loading...
/*--------------------------------------*/

.tsfem-flex-status-loading > span {
	display: inline-block;
	font-size: 30px;
	text-align: center;
}

.tsfem-flex-status-loading > span:after {
	display: inline-block;
	width: 1em;
	content: "\f463";
	font-size: 1em;
	line-height: 1em;
	font-family: dashicons;
	text-decoration: inherit;
	font-weight: 400;
	font-style: normal;
	vertical-align: middle;
	color: #0ebfe9;
	line-height: 1em;
	font-size: 1em;
	-webkit-animation: tsfem-spin 1.5s linear infinite;
	animation: tsfem-spin 1.5s linear infinite;
}

/* ## Cursors
/*--------------------------------------*/

/* ### Disable cursor.
/*--------------------------------------*/
.tsfem-disable-cursor {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* ### Question cursor.
/*--------------------------------------*/
.tsfem-question-cursor {
	cursor: help;
}

/* # Start Flex.
/*----------------------------------------------------------------------------*/

.tsfem-flex {
	box-sizing: border-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

.tsfem-flex-rtl {
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

.tsfem-flex-row {
	-webkit-flex-direction: row;
	flex-direction: row;
}

.tsfem-flex-nowrap {
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

.tsfem-flex-grow {
	-webkit-flex-grow: 1;
	flex-grow: 1;
}

.tsfem-flex-nogrow {
	-webkit-flex: 0 1 auto;
	flex: 0 1 auto;
}

.tsfem-flex-noshrink {
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}

.tsfem-flex-nogrowshrink {
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
}

.tsfem-flex-space {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.tsfem-flex-center {
	-webkit-justify-content: center;
	justify-content: center;
}

.tsfem-flex-end {
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

/* # Start Wraps.
/*----------------------------------------------------------------------------*/

body.tsfem #wpbody-content {
	padding-bottom: 0;
}

body.tsfem .wrap {
	min-height: 100vh;
	overflow: visible;
	padding: 0;
	margin:  0;
	margin-left: -20px;
	margin-top: -32px;
	padding-top: 32px;
}

/* "margin: 0 1.4%" Edge/Firefox inline margins issue */
.tsfem-notice-wrap {
	margin: 0 1.2vw;
}

/* Streches content over the page, pushing footer down. */
.tsfem-panes-wrap,
.tsfem-connect-wrap {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
}

/* "margin: .6%" Edge/Firefox inline margins issue */
.tsfem-panes-wrap {
	margin: .6vw;
}

/* "margin: 1.2%" Edge/Firefox inline margins issue */
.tsfem-connect-wrap {
	margin: 1.2vw;
}

.tsfem-top-wrap {
	background-color: #fff;
	box-shadow: 0 .4em 1em rgba(0,0,0,.18);
	width: 100%;
	margin: 0;
	padding: 1em 1.2vw;
}

/* "padding: 0 0 1.4%" Edge/Firefox inline margins issue */
/* "margin: 0 1.4%;" Edge/Firefox inline margins issue */
.tsfem-footer-wrap {
	padding: 0 0 1.2vw;
	margin: 0 1.2vw;
	overflow: hidden;
	white-space: nowrap;
	text-align: center;
}

.tsfem.connect-wrap {
	max-width: 690px;
	min-width: 275px;
}

.tsfem-flex-textarea-wrap {
	/* This block fixes an overflow lag. */
	-webkit-flex-direction: row;
	flex-direction: row;
	min-width: 100%;
	width: 100%;
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
}

.tsfem-flex-textarea-wrap textarea {
	display: block;
	min-width: 100%;
}

/* # Start Top/Header.
/*----------------------------------------------------------------------------*/

.tsfem-top-actions,
.tsfem-top-about,
.tsfem-top-wrap .tsfem-title {
	text-align: left;
	-webkit-align-items: center;
	align-items: center;
}

.tsfem-top-actions,
.tsfem-top-about {
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.tsfem-top-wrap .tsfem-title {
	-webkit-flex: 1 999 auto;
	flex: 1 999 auto;
}

.tsfem-top-about {
	-webkit-flex: 1 1 160px;
	flex: 1 1 160px;
}

.tsfem-top-actions > div {
	display: inline-block;
	white-space: pre;
}

.tsfem-top-about > div {
	display: inline-block;
	text-align: justify;
	max-width: calc( 100% - 1.2em - 14px );
	color: #333;
	letter-spacing: .2px;
	/*text-shadow: 0 -1px 1px #222,1px 0 1px #222,0 1px 1px #222,-1px 0 1px #222;*/
}

.tsfem-about-activation:before {
	display: inline-block;
	color: #0ebfe9;
	content: "\f112";
	font-size: 1.2em;
	line-height: 1.2em;
	font-family: dashicons;
	text-decoration: inherit;
	font-weight: 400;
	font-style: normal;
	margin: 0 7px;
	vertical-align: baseline;
	white-space: pre-wrap;
	/*text-shadow: 0 -1px 1px #222,1px 0 1px #222,0 1px 1px #222,-1px 0 1px #222;*/
}

/* ## Title.
/*--------------------------------------*/

.tsfem-top-wrap .tsfem-title header {
	width: calc( 100% - 7px );
}

.tsfem-top-wrap .tsfem-title * {
	vertical-align: top;
}

.tsfem-top-wrap .tsfem-title h1 {
	font-family: Verdana, Geneva, sans-serif;
	word-break: break-word;
	font-size: 1.9em;
	font-weight: 400;
	line-height: 1em;
	color: #0ebfe9;
	margin: 0;
	padding: 0;
	display: inline;
}

.tsfem-top-wrap .tsfem-title .tsfem-logo > svg {
	display: inline-block;
	white-space: pre-wrap;
	padding: 0;
	margin-right: 7px;
	line-height: 29px;
	vertical-align: top;
}

/* # Start Buttons.
/*----------------------------------------------------------------------------*/

/* ## Normalize input.
/*--------------------------------------*/

.tsfem input[type=text]:focus,
.tsfem input[type=search]:focus,
.tsfem input[type=radio]:focus,
.tsfem input[type=tel]:focus,
.tsfem input[type=time]:focus,
.tsfem input[type=url]:focus,
.tsfem input[type=week]:focus,
.tsfem input[type=password]:focus,
.tsfem input[type=checkbox]:focus,
.tsfem input[type=color]:focus,
.tsfem input[type=date]:focus,
.tsfem input[type=datetime]:focus,
.tsfem input[type=datetime-local]:focus,
.tsfem input[type=email]:focus,
.tsfem input[type=month]:focus,
.tsfem input[type=number]:focus,
.tsfem select:focus,
.tsfem textarea:focus {
	border-color: #057f9c;
	box-shadow: 0 0 2px rgba(66,144,183,.8);
}

/* ## Buttons input.
/*--------------------------------------*/

.tsfem-button,
.tsfem-button:disabled,
.tsfem-button:disabled:hover,
.tsfem-button:focus,
.tsfem-button-primary,
.tsfem-button-primary:focus {
	display: inline-block;
	padding: .5em 1em;
	background: #eee;
	font-size: 1em;
	border: 0;
	box-shadow: 0 0.2em 0 #cacaca;
	color: #666;
	text-shadow: 0 -1px 1px #efefef, 1px 0 1px #efefef, 0 1px 1px #efefef, -1px 0 1px #efefef;
	font-size: 1em;
	line-height: 1em;
	text-decoration: none;
	text-align: center;
	margin-top: .2em;
	margin-bottom: .2em;
	cursor: pointer;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	/* Filter transistions are buggy in Edge and Blink. */
	/*-webkit-transition: -webkit-filter 0.15s, color 0.15s;
	-moz-transition: filter 0.15s, color 0.15s;
	-o-transition: -webkit-filter 0.15s, color 0.15s;
	transition: filter 0.15s, color 0.15s;*/
}

.tsfem-button-small,
.tsfem-button-small:disabled,
.tsfem-button-small:disabled:hover,
.tsfem-button-small:focus {
	font-size: .9em;
}

.tsfem-button-primary,
.tsfem-button-primary:focus {
	background: #05809e;
	box-shadow: 0 .2em 0 #005c7a;
	color: #fff;
	text-shadow: 0 -1px 1px #005c7a,1px 0 1px #005c7a,0 1px 1px #005c7a,-1px 0 1px #005c7a;
}

.tsfem-button-primary-bright,
.tsfem-button-primary-bright:focus {
	color: #fff;
	background: #0ebfe9;
	box-shadow: 0 .2em 0 #057f9c;
	text-shadow: 0 -1px 1px #0078a2,1px 0 1px #0078a2,0 1px 1px #0078a2,-1px 0 1px #0078a2;
}

.tsfem-button-green,
.tsfem-button-green:focus,
.tsfem-button-extension-activate,
.tsfem-button-extension-activate:focus {
	color: #fff;
	background: #00cd98;
	box-shadow: 0 .2em 0 #008964;
	text-shadow: 0 -1px 1px #008651,1px 0 1px #008651,0 1px 1px #008651,-1px 0 1px #008651;
}

.tsfem-button-red,
.tsfem-button-red:focus,
.tsfem-button-extension-deactivate,
.tsfem-button-extension-deactivate:focus {
	color: #fff;
	background: #ff746a;
	box-shadow: 0 .2em 0 #d14b44;
	text-shadow: 0 -1px 1px #d14831,1px 0 1px #d14831,0 1px 1px #d14831,-1px 0 1px #d14831;
}

.tsfem-button-star:after,
.tsfem-button-flag:after,
.tsfem-button-love:after,
.tsfem-button-warning:after,
.tsfem-button-upload:after,
.tsfem-button-download:after,
.tsfem-button-clipboard:after,
.tsfem-button-index:after,
.tsfem-button-cloud:after,
.tsfem-button-external:after,
.tsfem-button-image:after,
.tsfem-button-loading:after {
	display: inline-block;
	width: 1em;
	content: "\f155";
	font-size: 1em;
	line-height: 1em;
	font-family: dashicons;
	text-decoration: inherit;
	font-weight: 400;
	font-style: normal;
	vertical-align: top;
	margin-left: .5em;
}

.tsfem-button-small:after {
	font-size: .9em;
}

.tsfem-button-flag:after {
	content: "\f227";
}

.tsfem-button-warning:after {
	content: "\f534";
}

.tsfem-button-love:after {
	content: "\f487";
}

.tsfem-button-upload:after {
	content: "\f317";
}

.tsfem-button-download:after {
	content: "\f316";
}

.tsfem-button-clipboard:after {
	content: "\f481";
}

.tsfem-button-index:after {
	content: "\f510";
}

.tsfem-button-cloud:after {
	content: "\f176";
}

.tsfem-button-external:after {
	content: "\f504";
}

.tsfem-button-image:after {
	content: "\f128";
}

.tsfem-button-loading:after {
	content: "\f463";
	-webkit-animation: tsfem-spin 1.5s linear infinite;
	-moz-animation: tsfem-spin 1.5s linear infinite;
	-o-animation: tsfem-spin 1.5s linear infinite;
	animation: tsfem-spin 1.5s linear infinite;
}

.tsfem-button:active,
.tsfem-button-primary:active {
	margin-top: .4em;
	margin-bottom: 0;
	box-shadow: none;
	outline: 0;
}

.tsfem-button:focus,
.tsfem-button-primary:focus {
	outline: 0;
}

.tsfem-button:hover,
.tsfem-button:active,
.tsfem-button:focus {
	/* Too lazy to figure out exact colors */
	color: #777;
	-webkit-filter: brightness(0.925);
	filter: brightness(0.925);
}

.tsfem-button-primary:hover,
.tsfem-button-primary:active,
.tsfem-button-primary:focus {
	/* Too lazy to figure out exact colors */
	color: #fff;
	-webkit-filter: hue-rotate(5deg) saturate(1.2) brightness(1.025);
	filter: hue-rotate(5deg) saturate(1.2) brightness(1.025);
}

/* ### Flat buttons.
/*--------------------------------------*/
.tsfem-button-flat,
.tsfem-button-flat:hover,
.tsfem-button-flat:active,
.tsfem-button-flat:focus {
	margin: 0;
	box-shadow: 0 0 0.3em rgba(0,0,0,0), 0 0 0 rgba(0,0,0,0) inset; /* 1,2: transition positioning */
	filter: none;
	transition: box-shadow .25s;
	padding: .4em 1em .5em;
}

.tsfem-button-small.tsfem-button-flat {
	padding: .5em 1em;
}

.tsfem-button-flat:hover,
.tsfem-button-flat:focus {
	margin: 0;
	box-shadow: 0 .2em 1em rgba(0,0,0,.3), 0 0 0 rgba(0,0,0,0) inset; /* 2: transition positioning */
}

.tsfem-button-flat:active {
	margin: 0;
	box-shadow: 0 0 0.3em rgba(0,0,0,0), 0 .1em .7em .2em rgba(0,0,0,.3) inset; /* 1: transition positioning */
	transition-duration: .15s;
}

/* ## Switching/Rotating buttons.
/*--------------------------------------*/

.tsfem-switch-button-container-wrap {
	display: inline-block;
	perspective: 800px;
	perspective-origin: 50%;
}

.tsfem-switch-button-container {
	position: relative;
	/* EdgeHTML BUG. Causes subpixel font-rendering to fail. */
	/* transform-style: preserve-3d; */
	margin: 0;
	margin-bottom: 1em;
	width: 140px;
	height: 2em;
	padding: 0;
	display: block;
}

.tsfem-switch-button-container input[type=checkbox] {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	margin: 0;
	padding: 0;
	border: 0;
	z-index: -1;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.tsfem-switch-button-container label,
.tsfem-switch-button-container button {
	position: absolute;
	left: 0;
	top: 0;
	text-align: center;
	transition: transform 1s, opacity .5s;
	z-index: 1;
	width: 100%;
	display: block;
	width:  140px;
	box-sizing:  border-box;
}

.tsfem-switch-button-container input[type=checkbox] + label {
	z-index: 2;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.tsfem-switch-button-container button {
	transform: rotateX(-90deg);
	transform-origin: 0 100% 0;
	opacity: 0;
	transition: transform 1.2s, opacity 0.6s;
}

.tsfem-switch-button-container input[type=checkbox]:checked:before {
	content: none;
}

.tsfem-switch-button-container input[type=checkbox]:checked + label {
	transform: rotateX(90deg) translateY(-100%);
	opacity: 0;
	z-index: 0;
	transition: transform 1.2s, opacity 0.6s;
}

.tsfem-switch-button-container input[type=checkbox]:checked ~ button {
	transform: rotateX(0deg);
	opacity: 1;
	z-index: 2;
	transition: transform 1s, opacity .5s;
}

/* ## Disabled Buttons.
/*--------------------------------------*/
.tsfem-button-disabled,
.tsfem-button-disabled:disabled,
.tsfem-button-disabled:hover,
.tsfem-button-disabled:active,
.tsfem-button-disabled:focus {
	-webkit-filter: grayscale(1);
	filter: grayscale(1);
	cursor: not-allowed;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* # Start Activation/Connect.
/*----------------------------------------------------------------------------*/

/* "margin: 0 auto 1.4%;" Edge/Firefox inline margins issue */
.tsfem-connect-option {
	width: 100%;
	max-width: 690px;
	padding: 1em 1.5em;
	margin: 0 auto 1.2vw;
	box-shadow: 0 .3em 1em rgba(0,0,0,.18);
	background: #fff;
	box-sizing: border-box;
}

.tsfem-connect-row {
	/* EdgeHTML bug: Disappearing buttons when present */
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.tsfem-connect-option:last-of-type {
	margin-bottom: 0;
}

.tsfem-connect-text,
.tsfem-connect-action {
	margin: .5em 0;
	flex: 1 1 49%;
	min-width: 175px;
	padding: 3px;
}

.tsfem-connect-action form {
	margin: 0;
	padding: 0;
}

.tsfem-connect-description > * {
	margin: 0 0 1em;
	display: block;
}

.tsfem-connect-description > *:last-child {
	margin-bottom: 0;
}

.tsfem-connect-wrap h3 {
	font-size: 1.66em;
	color: #057f9c;
	font-weight: 400;
}

/* # Start Panes.
/*----------------------------------------------------------------------------*/

/* # Global panes wrap.
/*--------------------------------------*/
.tsfem-panes-wrap {
	padding: 0;
	-webkit-align-items: center;
	align-items: center;
	min-height: 300px;
}

.tsfem-panes-row {
	width: 100%;
	margin: 0;
	padding: 0;
}

/* ## Singular panes layout.
/*--------------------------------------*/

/* "flex-basis: 48.6%" Edge/Firefox inline margins issue */
/* "margin: .6%" Edge/Firefox inline margins issue */
.tsfem-pane-half,
.tsfem-pane-full {
	-webkit-flex-basis: calc( 50% - 1.2vw );
	flex-basis: calc( 50% - 1.2vw );
	background: #fff;
	box-shadow: 0 .3em 1em rgba(0,0,0,.18);
	margin: .6vw;
	padding: 0;
	min-height: 300px;
	min-width: 300px;
	/* EdgeHTML bugfix */
	/* max-height: 100% */
}

.tsfem-pane-half ::-webkit-scrollbar,
.tsfem-pane-full ::-webkit-scrollbar {
	width: .7em;
	height: .7em;
	background: rgba(0,0,0,.04);
}
.tsfem-pane-half ::-webkit-scrollbar:hover,
.tsfem-pane-full ::-webkit-scrollbar:hover {
	background: rgba(0,0,0,.06);
}
.tsfem-pane-half ::-webkit-scrollbar:active,
.tsfem-pane-full ::-webkit-scrollbar:active {
	background: rgba(0,0,0,.08);
}

.tsfem-pane-half ::-webkit-scrollbar-thumb,
.tsfem-pane-full ::-webkit-scrollbar-thumb {
	background-color: #05809e;
	box-shadow: 0 0 1em rgba(0,0,0,.25);
}

.tsfem-pane-half ::-webkit-scrollbar-thumb:hover,
.tsfem-pane-full ::-webkit-scrollbar-thumb:hover {
	box-shadow: 0 0 .7em .2em rgba(0,0,0,.25);
}

.tsfem-pane-half ::-webkit-scrollbar-thumb:active,
.tsfem-pane-full ::-webkit-scrollbar-thumb:active {
	box-shadow: 0 0 .6em .2em rgba(0,0,0,.35);
}

.tsfem-pane-wrap {
	padding: 0;
	margin: 0;
	overflow: hidden;
	max-height: 100%;
	-webkit-flex-basis: 33vh;
	flex-basis: 33vh;
	min-height: 100%;
}

.tsfem-pane-header {
	box-shadow: 0 .2em .75em rgba(0,0,0,.18);
	z-index: 5;
}

.tsfem-pane-header,
.tsfem-pane-content {
	margin: 0;
	padding: 1em 1.5em;
}

.tsfem-pane-content {
	padding: 0;
	border-top: 0;
	max-height: 100%;
	/* EdgeHTML bugfix */
	overflow: hidden;
}

.tsfem-pane-header > * {
	font-size: 1em;
	line-height: 1em;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.tsfem-pane-header .tsfem-ajax {
	max-width: initial;
	font-size: 1em;
	word-break: break-word;
	text-align: right;
	-webkit-flex: 0 1 auto;
	flex: 0 1 auto;
	margin-left: 7px;
}

.tsfem-pane-header h3 {
	font-size: 1.33em;
	color: #057f9c;
	font-weight: 400;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

.tsfem-pane-content h4.tsfem-status-title,
.tsfem-pane-content h5.tsfem-status-title,
.tsfem-pane-content h6.tsfem-status-title {
	margin: 0;
}

.tsfem-pane-inner-wrap {
	box-sizing: border-box;;
	padding: 1.5em;
	height: auto;
	max-height: 100%;
	width: 100%;
	overflow: auto;
	will-change: scroll-position;
	/* IE bugfix */
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

.tsfem-pane-inner-collapsable-settings-wrap {
	padding: 0;
}

.tsfem-pane-inner-collapsable-settings-wrap .tsfem-pane-inner-pad {
	width: 100%;
	padding: 1.5em;
}

/* Grab every consecutive call */
.tsfem-pane-inner-collapsable-settings-wrap .tsfem-pane-inner-pad + .tsfem-pane-inner-pad {
	padding-top: 0;
}

.tsfem-pane-footer-wrap {
	margin: 0;
	padding: 1em 1.5em;
	box-shadow: 0px -1px 3px 0px #ccc;
	z-index: 5;
}

.tsfem-pane-footer-wrap *:nth-of-type(-n+1) {
	margin-right: 14px;
}

/* ## Specific panes.
/*--------------------------------------*/

.tsfem-pane-split,
.tsfem-actions,
.tsfem-trends,
.tsfem-trends-activation {
	/* ie fix + blink expand lag fix */
	-webkit-flex-basis: 100%;
	flex-basis: 100%;
}

#tsfem-extensions-pane {
	min-height: 350px;
}

/* ### Actions pane.
/*--------------------------------------*/

.tsfem-pane-split > div,
.tsfem-actions > div {
	margin-right: 2em;
	-webkit-flex-basis: 200px;
	flex-basis: 200px;
	min-width: 200px;
}

.tsfem-pane-split > div:last-of-type,
.tsfem-actions > div:last-of-type {
	margin-right: 0;
	margin-bottom: 0;
}

.tsfem-pane-split > div > div,
.tsfem-actions > div > div {
	margin-bottom: 2em;
}

.tsfem-flex-account-info-rows {
	line-height: 1.625em;
}

.tsfem-actions-account-info-title {
	font-weight: 600;
}

h4.tsfem-form-title,
h4.tsfem-info-title,
h4.tsfem-status-title,
h4.tsfem-support-title,
h4.tsfem-action-title,
h4.tsfem-cp-title {
	padding: 0;
	margin: 0 0 14px;
	font-size: 1.16em;
	font-weight: 400;
	color: #057f9c;
}

.tsfem-account-upgrade,
.tsfem-support-buttons,
.tsfem-cp-buttons {
	max-width: 300px;
}

.tsfem-support-buttons,
.tsfem-cp-buttons {
	margin-bottom: 14px;
	-webkit-flex-basis: 50%;
	flex-basis: 50%;
}

.tsfem-support-buttons:last-of-type,
.tsfem-cp-buttons:last-of-type {
	margin-bottom: 0;
}

.tsfem-support-buttons > a,
.tsfem-cp-buttons > form,
.tsfem-cp-buttons > a {
	cursor: pointer;
	min-width: 50%;
	display: inline-block;
}

.tsfem-cp-buttons button {
	width: 100%;
}

.tsfem-description {
	font-size: 0.93em;
	font-style: oblique;
	text-indent: .5em;
}

/* ### Extensions pane.
/*--------------------------------------*/
.tsfem-extensions-wrap {
	height: auto;
	padding-right: 0;
	padding-bottom: 0;
	margin: 0;
}

.tsfem-extensions-overview-content {
	-webkit-flex: 1 1 100%;
	flex: 1 1 100%;
}

.tsfem-extension-entry-wrap {
	padding: 0;
	margin: 0;
	/* https://bugs.webkit.org/show_bug.cgi?id=136041 */
	/* If flex-basis is lower than min-width, it will fail. Not vice-versa. */
	/* So, workaround by switching values: */
	-webkit-flex-basis: 50%;
	flex-basis: 50%;
	min-width: 280px;
}

/* Safari 9 ~ 9.1 flow fix */
.tsfem-extension-entry-inner {
	margin: 0;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.tsfem-extension-entry {
	margin: 0;
	padding: .33em;
	min-height: 122px;
	border-radius: .5em 0 0 .5em;
	box-shadow: 0 .1em .5em .1em rgba(0,0,0,.18) inset;
	background: #fff;
	-webkit-align-self: auto;
	align-self: auto;
	-webkit-justify-content: center;
	justify-content: center;
}

.tsfem-extension-entry > * {
	min-height: 100px;
	margin: 0;
	padding: 0;
	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;
	-webkit-flex-direction: column;
	flex-direction: column;
	width: auto;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

.tsfem-extension-icon-wrap {
	-webkit-flex-grow: 0;
	flex-grow: 0;
	-webkit-flex-basis: 120px;
	flex-basis: 120px;
	-webkit-align-self: center;
	align-self: center;
}

.tsfem-extension-about-wrap {
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	padding: 10px 15px;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-webkit-flex-basis: 170px;
	flex-basis: 170px;
}

.tsfem-extension-description-wrap {
	-webkit-flex-grow: 3;
	flex-grow: 3;
	-webkit-flex-basis: 280px;
	flex-basis: 280px;
}

.tsfem-extension-description-footer {
	display: block;
	width: 100%;
	white-space: pre-line;
	/* -webkit-flex: 0 1 0%;
	flex: 0 1 0%; */
}

.tsfem-extension-title {
	min-width: 120px;
	font-size: 1.33em;
	word-break: break-word;
	font-weight: 600;
	color: #0ebfe9;
	margin: 0;
	padding: 0;
}

.tsfem-extension-type {
	margin: 0;
	padding: 0;
	font-size: 0.83em;
}

.tsfem-extension-subheader {
	padding: 0.667em 0;
}

.tsfem-extension-action > *,
.tsfem-extension-action input {
	width: 100%;
	text-align: center;
}

.tsfem-extension-party:before {
	display: inline-block;
	width: 1em;
	line-height: 1;
	font-family: dashicons;
	font-style: normal;
	font-weight: 400;
	font-size: 1.225em;
	vertical-align: middle;
	content: "";
	margin-right: 4px;
}

.tsfem-extension-first-party-icon:before {
	content: "\f338";
}

.tsfem-extension-third-party-icon:before {
	content: "\f307";
}

.tsfem-extension-description {
	padding: 1em;
}

.tsfem-extension-description-header {
	padding-bottom: 1em;
}

/* Edge: (tooltip) performance issues. Firefox: (tooltip) Positioning issues. */
/* .tsfem-extension-description-footer > * {
	white-space: pre;
} */

/* ### Feed pane.
/*--------------------------------------*/
.tsfem-feed-wrap {
	-webkit-align-self: flex-start;
	align-self: flex-start;
}

.tsfem-enable-feed-button {
	margin-bottom: 14px;
	-webkit-flex-basis: 50%;
	flex-basis: 50%;
	max-width: 300px;
}

.tsfem-feed-entry,
.tsfem-feed-top {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.tsfem-feed-top,
.tsfem-feed-content,
.tsfem-feed-entry {
	margin-bottom: 1em;
}

.tsfem-feed-top {
	word-wrap: break-word;
	overflow-wrap: break-word;
	white-space: pre-wrap;
	overflow-wrap: normal;
	-webkit-align-items: baseline;
	align-items: baseline;
}

.tsfem-feed-top h4 {
	white-space: pre-wrap;
	margin: 0;
	padding: 0;
}

.tsfem-feed-top time {
	white-space: pre;
	white-space: nowrap;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-spacing: -1px;
	font-size: 0.9em;
	margin: 0 7px;
	padding: 0;
	font-style: oblique;
}

.tsfem-feed-entry {
	border-bottom: 1px solid #dedede;
	margin: 0 -1em 1em;
	padding: 0 1em;
}

.tsfem-feed-entry:last-of-type,
.tsfem-feed-entry:last-of-type .tsfem-feed-content {
	margin-bottom: 0;
	border-bottom: none;
}

/* # Start Activation Layout.
/*----------------------------------------------------------------------------*/

.tsfem #input-activation {
	width: 100%;
	margin: 0;
	padding: 0;
}

.tsfem #input-activation .regular-text,
.tsfem #input-activation .tsfem-button {
	margin-left: 0;
	margin-right: 0;
	border-radius: 0;
	width: 100%;
	font-size: 13px;
}

.tsfem #input-activation .regular-text {
	margin: 4px 0;
}

.tsfem #input-activation .regular-text:first-child {
	margin-top: 0;
}

.tsfem #input-activation .regular-text:nth-of-type(2) {
	margin-bottom: 5px;
}

/* # Start footer.
/*----------------------------------------------------------------------------*/

.tsfem #wpfooter {
	z-index: -1;
	padding: 0;
}

.tsfem-footer-wrap .tsfem-footer-title,
.tsfem-footer-wrap .tsfem-footer-motto {
	font-size: 1em;
	margin: 0;
	color: #646d78;
	font-weight: 300;
	cursor: default;
}

.tsfem-footer-wrap .tsfem-footer-title {
	font-weight: 400;
	color: #555d66;
}

/* # Start AJAX.
/*----------------------------------------------------------------------------*/

.tsfem-dashicon:after,
.tsfem-ajax:after {
	display: inline-block;
	line-height: 1;
	font-family: dashicons;
	font-style: normal;
	font-weight: 400;
	width: 1em;
	vertical-align: baseline;
	content: "";
	margin-left: 4px;
}

.tsfem-ajax:after {
	font-size: 1.225em;
	line-height: 0.816em; /* 1:1.225, needs this correction for flex */
}

.tsfem-dashicon:after {
	font-size: 1.2em;
	vertical-align: middle;
	vertical-align: text-bottom;
	margin-left: 2px;
}

.tsfem-ajax.tsfem-loading:after {
	content: "\f463";
	color: #057c99;
	-webkit-animation: tsfem-spin 1.5s linear infinite;
	animation: tsfem-spin 1.5s linear infinite;
}

.tsfem-dashicon-fadeout-3000:after {
	animation: tsfem-fadeout 3s linear 1;
}

.tsfem-dashicon.tsfem-error:after,
.tsfem-ajax.tsfem-error:after {
	content: "\f158";
	color: #dd3811;
}

.tsfem-dashicon.tsfem-success:after,
.tsfem-ajax.tsfem-success:after {
	content: "\f147";
	color: #0cc34b;
}

.tsfem-dashicon.tsfem-unknown:after,
.tsfem-ajax.tsfem-unknown:after {
	content: "\f223";
	color: #057c99;
}

.tsfem-dashicon.tsfem-warning:after {
	content: "\f227";
	color: #ffa01b;
}

.tsfem-dashicon.tsfem-edit:after {
	content: "\f464";
	color: #ffa01b;
}

.tsfem-dashicon.tsfem-close:after {
	content: "\f158";
	color: #ffa01b;
}

@keyframes tsfem-spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes tsfem-fadeout {
	0% {}
	100% {
		opacity: 0;
	}
}

/* # Start Media Queries.
/*----------------------------------------------------------------------------*/

/* WordPress compat for footer. When screen has large width. */
@media screen and ( max-width: 782px ) {
	body.tsfem .wrap {
		margin-left: -10px;
		margin-top: -46px;
		padding-top: 46px;
	}
}

/* # Start JavaScript.
/*----------------------------------------------------------------------------*/

/* ## Tooltips / Balloons.
/*----------------------------------------------------------------------------*/

.tsfem-tooltip-wrap {
	position: relative;
	font-size: 13px;
	display: inline-block;
}

.tsfem-tooltip-item {
	cursor: help;
}

a.tsfem-tooltip-item {
	cursor: pointer;
}

.tsfem-tooltip {
	position: absolute;
	padding: 0;
	margin: 0;
	bottom: 0;
	left: 0;
	z-index: 900142;
	text-align: left;
	pointer-events: none;
	box-sizing: border-box;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

.tsfem-tooltip-down {
	bottom: auto;
	top: 0;
}

.tsfem-tooltip-text-wrap {
	padding: 10px 12px;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.625em;
	border-radius: 3px;
	background: #424242;
	color: #fbf7fd;
	box-shadow: 0px 0px 2px rgba(0,0,0,.6);
	text-shadow: none;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-word;
	white-space: pre-line;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex: 1 0 150px;
	flex: 1 0 150px;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

.tsfem-tooltip-text span {
	text-decoration: underline;
}

/* fix breaks */
.tsfem-tooltip-text br {
	display: block;
	width: 100%;
	content: "\A";
}

.tsfem-tooltip-arrow {
	position: absolute;
	bottom: -8px;
	z-index: 9999999;
	left: 7px;
	width: 0;
	height: 0;
}

.tsfem-tooltip-down .tsfem-tooltip-arrow {
	bottom: auto;
	top: -8px;
}

.tsfem-tooltip-arrow:before {
	content: "";
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-top: 9px solid rgba(0,0,0,.25);
	position: absolute;
	bottom: 0;
	left: 0;
}

.tsfem-tooltip-arrow:after {
	content: "";
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #424242;
	position: absolute;
	bottom: 1px;
	left: 1px;
}

.tsfem-tooltip-down .tsfem-tooltip-arrow:before {
	bottom: auto;
	top: 0;
	border-top: 0;
	border-bottom: 9px solid rgba(0,0,0,.25);
}

.tsfem-tooltip-down .tsfem-tooltip-arrow:after {
	bottom: auto;
	top: 1px;
	border-top: 0;
	border-bottom: 8px solid #424242;
}

/* ## Flipping descriptions
/*----------------------------------------------------------------------------*/

.tsfem-flip-hide-down,
.tsfem-flip-hide-up {
	-webkit-transform: rotateX(90deg) translateY(0.5em);
	transform: rotateX(90deg) translateY(0.5em);
	-webkit-transform-origin: 0 100% 0;
	transform-origin: 0 100% 0;
	opacity: 0;
	-webkit-transition: -webkit-transform .25s, opacity .25s;
	transition: transform .25s, opacity 0.25s;
}

.tsfem-flip-hide-down {
	-webkit-transform: rotateX(-90deg) translateY(-2em);
	transform: rotateX(-90deg) translateY(-2em);
}

.tsfem-flip-show-down,
.tsfem-flip-show-up {
	-webkit-transform: rotateX(0deg) translateY(0em);
	transform: rotateX(0deg) translateY(0em);
	opacity: 1;
	-webkit-transition: -webkit-transform .25s, opacity .125s;
	transition: transform .25s, opacity .125s;
}

/* # Start override.
/*----------------------------------------------------------------------------*/

.tsfem-hidden {
	display: none;
}

.tsfem-has-hover-balloon {
	position: relative;
	cursor: help;
}

.tsfem-ltr {
	direction: ltr;
}

body.js .tsfem-flex-hide-if-js,
.tsfem-flex-hide-if-no-js {
	display: none;
}

body.js .tsfem-flex-hide-if-no-js {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

/* ## Modal.
/*----------------------------------------------------------------------------*/

.tsfem-modal-mask,
.tsfem-modal-mask-noscroll {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2147483644;
	opacity: 0;
}

.tsfem-modal-mask-noscroll {
	position: absolute;
	z-index: 2147483645;
}

.tsfem-modal-container,
.tsfem-modal-dialog-wrap,
.tsfem-modal-dialog,
.tsfem-modal-title,
.tsfem-modal-select,
.tsfem-modal-buttons,
.tsfem-modal-select-option {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
}

.tsfem-modal-container {
	position: fixed;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 100%;
	height: 100%;
	background: rgba(33,33,33,.15);
	opacity: 0;
	z-index: 2147483646;
}

.tsfem-modal-dialog-wrap {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

/* Max-width prevents admin bar collapse */
.tsfem-modal-dialog {
	-webkit-flex-direction: column;
	flex-direction: column;
	background: #fff;
	border-radius: 3px;
	min-width: 240px;
	max-width: calc( 90% - 240px );
	max-height: 80%;
	position: relative;
	overflow: hidden;
	box-shadow: 0 0 4px 2px #aaa;
	z-index: 2147483647;
}

.tsfem-modal-title,
.tsfem-modal-buttons {
	margin: 0;
	padding: 14px 20px;
	box-shadow: 0px 1px 3px 0px #ccc;
	z-index: 5;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}

.tsfem-modal-buttons {
	box-shadow: 0px -1px 3px 0px #ccc;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.tsfem-modal-title h4 {
	margin: 0;
	padding: 0;
	font-size: 1.4em;
	line-height: 1.2em;
	color: #057f9c;
	font-weight: 400;
}

.tsfem-modal-inner {
	padding: 20px;
	max-width: 640px;
	overflow: auto;
	overflow-x: hidden;
}

.tsfem-modal-text p:first-of-type {
	margin: 0;
}

.tsfem-modal-text p:last-of-type {
	margin-bottom: 0;
}

.tsfem-modal-text + .tsfem-modal-select {
	margin-top: 20px;
}

.tsfem-modal-select {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.tsfem-modal-select-option {
	margin-bottom: 14px;
	padding: 0 7px;
	-webkit-flex-basis: 140px;
	flex-basis: 140px;
	max-width: calc( 50% - 14px );
	-webkit-flex-grow: 1;
	flex-grow: 1;
}

.tsfem-modal-select-option:first-of-type:last-of-type {
	max-width: none;
}

.tsfem-modal-select-option input {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.tsfem-modal-select-option label {
	font-weight: 600;
	border: 1px solid transparent;
	background: #fefefe;
	box-shadow: 0 1px 3px 1px #ccc;
	cursor: pointer;
	padding: 14px;
	width: 100%;
	-webkit-transition: all .33s;
	-moz-transition: all .33s;
	-o-transition: all .33s;
	transition: all .33s;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.tsfem-modal-select-option:hover input:not(:checked) + label {
	-webkit-filter: brightness(0.95);
	filter: brightness(0.95);
}

.tsfem-modal-select-option > input:checked + label {
	border-color: #05809e;
}

.tsfem-modal-select-option:hover input:checked + label,
.tsfem-modal-select-option input:active + label,
.tsfem-modal-select-option input:focus + label {
	box-shadow: 0 1px 3px 1px #05809e;
}

.tsfem-modal-buttons button:nth-child(n+2) {
	margin-left: 14px;
}

.tsfem-modal-dismiss {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	margin: 7px;
	padding: 7px;
	background: 0 0;
	color: #b4b9be;
	cursor: pointer;
	text-decoration: none;
	z-index: 6;
	transition: color 0.15s;
}

.tsfem-modal-dismiss:hover {
	color: #d14b44;
}

.tsfem-modal-dismiss:before {
	background: 0 0;
	content: "\f153";
	display: block;
	font: 400 16px/20px dashicons;
	speak: none;
	height: 20px;
	text-align: center;
	width: 20px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
