/**
 * This file is part of the Semantic MediaWiki Special:Ask module
 * @see https://semantic-mediawiki.org/
 *
 * @section LICENSE
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
 *
 * @since 1.8
 *
 * @file
 * @ignore
 *
 * @ingroup SMW
 *
 * @licence GNU GPL v2+
 * @author mwjames
 */

@import '../tokens.less';

.float-right {
	float: right;
}

.float-left {
	float: left;
}

.clear-both {
	clear: both;
}

/* MobileFrontend sets those to 0 therefore declare them explicitly */
div#ask fieldset {
	margin: 0 0 0.5em 0;
	padding: 0 1em 1em;
}

div#ask legend {
	padding: 0.5em;
	font-size: 95%;
	font-weight:normal;
	text-transform:none;
}

div#query legend {
	font-weight:bold;
}

.smw-ask-toplinks {
	padding: 0px 5px 5px 0px;
	padding: 8px 15px;
	margin-bottom: 10px;
	list-style: none;
	background-color: #f5f5f5;
	border-radius: 3px;
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size: 14px;
	line-height: 1.42857143;
}

.smw-ask-toplinks-edit {
	padding: 11px 0px;
	margin-right: 15px;
	border-right: 3px solid #fff;
}

.smw-ask-actions-nav {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.smw-ask-actions-nav, .smw-ask-button-submit {
	margin-top: 15px;
}

.smw-ask-condition, .smw-ask-printhead {
	width: 49.5%;
	border: 0;
}

.smw-ask-query .smw-table-row .smw-table-cell.smw-ask-condition,
.smw-ask-query .smw-table-row .smw-table-cell.smw-ask-printhead {
	border: 0;
}

.smw-ask-condition fieldset, .smw-ask-printhead fieldset {
	border: 1px solid #a2a9b1;
	border-radius:1px;
	margin-top:5px;
}

.smw-ask-condition fieldset legend, .smw-ask-printhead fieldset legend{
	font-weight: 600;
}

.smw-ask-result-navigation a, .smw-ask-result-navigation b, .smw-ask-downloadlinks a, .smw-ask-nav-prev, .smw-ask-nav-next, .smw-ask-actions-nav a {
	vertical-align: middle;
}

.smw-ask-horizontalrule {
	margin-bottom: 10px;
	margin-top:10px;
}

.smw-ask-format-selection-help {
	padding: 5px 5px 0 5px;
}

.smw-ask-cond-info {
	margin-top: 15px;
	margin-bottom: 10px;
}

.smw-ask-format-list select {
	vertical-align: middle;
	margin-top: 5px;
}

.smw-ask-query {
	margin-bottom: 5px;
}

.smw-ask-query .smw-table-header {
	background-color: transparent;
	text-align: center;
	padding-bottom: 5px;
}

.smw-ask-query .smw-table-header .smw-table-cell {
	border: 0px;
	padding: 0px 0px 5px 0px;
}

.smw-ask-query .smw-table-row .smw-table-cell {
	border: 1px solid #a2a9b1;
    padding: 0px;
}

.smw-ask-query textarea {
	border: 0px;
	resize: none;
	padding: 2px 0 0 2px;
	outline: none;
	line-height: normal !important;
	box-shadow: none !important;
	margin:0 !important;
}

.smw-ask-query .condition {
	width: 49.5%;
}

.smw-ask-options-row-odd {
	background: #eee;
}

.smw-ask-options-row-odd td {
	padding: 5px;
	vertical-align: top;
}

.smw-ask-options-row-even {
	background: #fff;
}

.smw-ask-options-row-even td {
	padding: 5px;
	vertical-align: top;
}

.smw-ask-button {
	position: relative;
	padding: 6px 14px;
	color: #586069;
	border: 1px solid #e1e4e8;
	border-radius: 3px;
	font-size: 0.975em;
	margin-right: 5px;
}

.smw-ask-button-submit input {
display: inline-block;
    padding: .30em .55em;
    margin-left: -1px;
    margin-right: 0px;
    line-height: 1.25;
    color: #007bff;
    background-color: #fff;
    border: 1px solid #f9f9f9;
    padding-top: 0.35em;
    z-index: 1;
    color: #fff;
    background-color: #eee;
    border-color: #f9f9f9;
    margin-left: 0;
    border-top-right-radius: .2em;
    border-bottom-right-radius: .2em;
    margin-left: 0;
    border-top-left-radius: .2em;
    border-bottom-left-radius: .2em;
    font-weight: normal;
	text-shadow: none !important;
	outline: none;
	cursor: pointer;
	font-size: 1.1em;
	color: #72777d;
	width: 100%;
}

.smw-ask-button-submit input:hover {
    background-color: #ddd;
    border-color: #ddd;
}

.smw-ask-button-right {
	position: relative;
	padding: 6px 14px;
	color: #586069;
	border: 1px solid #e1e4e8;
	border-radius: 3px;
	float: right;
}

.smw-ask-button:hover {
	background-color: #f6f8fa;
}

.smw-ask-button input {
	background: transparent !important;
	border: none !important;
	font-size: 1.1em;
	color: #fff !important;
	text-shadow: none !important;
	outline: none;
	cursor: pointer;
}

.smw-ask-button-right {
	padding: 4px 14px;
	float: right;
	margin-left: 5px;
	margin-right: 0px;
	margin-top: -4px;
}

.smw-ask-button-lblue {
	color: #fff;
    background-color: #5bc0de;
    border-color: #46b8da;
    text-decoration: none;
}

.smw-ask-button-lblue:hover {
	background-image: none;
	background-color: #31b0d5;
	border-color: #269abc;
}

.smw-ask-button-dblue {
	color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4;
    text-decoration: none;
}

.smw-ask-button-dblue:hover {
	background-image: none;
	background-color: #286090;
	border-color: #204d74;
}

.smw-ask-button-lgrey {
	background-image: none;
	background-color: #eee;
	border-color: #ddd;
}

.smw-ask-button-lgrey:hover {
	background-image: none;
	background-color: #ddd;
	border-color: #ddd;
}

.smw-ask-button a, .smw-ask-button a:hover, .smw-ask-button a:focus, .smw-ask-button a:active, .smw-ask-button a:visited {
	font-weight: 300;
	line-height: 20px;
	text-decoration: none;
	color: #586069;
}

.smw-ask-button-lblue a, .smw-ask-button-lblue a:hover, .smw-ask-button-lblue a:focus, .smw-ask-button-lblue a:active, .smw-ask-button-lblue a:visited {
	font-weight: 300;
	line-height: 20px;
	text-decoration: none;
	color: #fff;
}

.smw-ask-button-dblue a, .smw-ask-button-dblue a:hover, .smw-ask-button-dblue a:focus, .smw-ask-button-dblue a:active, .smw-ask-button-dblue a:visited {
	font-weight: 300;
	line-height: 20px;
	text-decoration: none;
	color: #fff;
}

#inlinequeryembed {
	margin-top: 15px;
}

#inlinequeryembedinstruct {
	margin-bottom: 10px;
}

.smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset {
	border: 1px solid #a2a9b1;
	border-radius: 1px;
}

.smw-tabs.smw-ask-search-edit {
	margin-top: 20px;
}

.smw-tabs.smw-ask-search-edit.empty-result {
	margin-top: 0px;
}

.smw-ask-search-edit, .smw-ask-search-compact {
	margin-bottom: 20px;
}

.smw-ask-search-edit.empty-result {
	margin-bottom: 0px;
}

/* https://stackoverflow.com/questions/2812770/add-centered-text-to-the-middle-of-a-hr-like-line */
.strike {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    padding: 15px 0 15px 0;
}

.strike > span {
    position: relative;
    display: inline-block;
    font-size: 95%;
    margin-left: 20px;
}

.strike > span:before,
.strike > span:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 9999px;
    height: 1px;
    background: #aaa;
}

.strike > span:before {
    right: 100%;
    margin-right: 10px;
}

.strike > span:after {
    left: 100%;
    margin-left: 10px;
}

.smw-ask-format-help-link {
	margin-top: 10px;
	width: auto;
	word-break: break-word;
	word-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
}

.smw-ask-sort-input input, .smw-propertysubject-input {
	padding: 4px;
	border: 1px solid #aaa;
	margin-right: 10px;
	margin-top: 5px;
}

.options-list .smw-property-input {
}

.smw-ask-sort-input .autocomplete-arrow, .smw-table-cell .autocomplete-arrow {
	background-position-y: 0px;
}

.options-list .smw-table-cell .autocomplete-arrow {
}

.smw-ask-sort-input .autocomplete-loading {
	vertical-align: unset;
}

.smw-table-cell .autocomplete-loading {
	vertical-align: unset;
	padding: 4px;
}

.options-list .smw-table-cell .autocomplete-loading {
}

.smw-table-cell .mw-ui-input.autocomplete-loading {
	vertical-align: unset;
	padding: 0.625em 0.625em 0.546875em;
}

.smw-ask-sort-input .smw-ask-sort-delete {
	padding: 3px;
    margin-right: 10px;
    margin-bottom: 5px;
}

.smw-ask-sort-input select {
	padding: 3px;
    margin-right: 10px;
    margin-bottom: 5px;
    margin-top: 5px;
}

.smw-ask-sort-add a::before, .smw-ask-sort-delete a::before {
	content:"[";
}

.smw-ask-sort-add a::after, .smw-ask-sort-delete a::after {
	content:"]";
}

.smw-ask-sort-delete, .smw-ask-sort-add {
	cursor: pointer;
}

.smw-ask-downloadlinks {
	margin-left: 10px;
}

/**
 * Toggle
 */

.options-toggle-action {
	min-width: 15px;
	display: inline-block;
	text-align: center;
}

.options-toggle-action label {
	cursor: pointer;
}

.options-parameter-list {
	 position: relative;
}

#options-toggle {
  display: none;
}

#options-list .options-parameter-list {
	min-height: 100px;
	overflow: hidden;
	max-height: 0;
	padding: 0;
	margin: 0 auto;
	-webkit-transition: all 0.3s ease;
}

#options-toggle:checked + #options-list .options-parameter-list {
  max-height: none;
}

#options-toggle:checked + #options-list .options-message {
  display:none;
}

#options-toggle:not(:checked) + #options-list .options-parameter-list:after {
	content: "";
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	pointer-events: none;
	background-image: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255, 1) 90%);
	width: 100%;
	height: 4em;
}

.options-parameter-list-plain {
	min-height: 100px;
	overflow: hidden;
	max-height: 0;
	padding: 0;
	margin: 0 auto;
	-webkit-transition: all 0.3s ease;
}

.options-parameter-list-plain:after {
	content: "";
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	pointer-events: none;
	background-image: none;
	width: 100%;
	height: 4em;
}

.slowfade textarea::placeholder { color:#777777; transition: color 1s; font-weight:300; font-style: italic; }
.slowfade textarea:focus::placeholder { color:transparent; }

.hide-mode {
	display: none;
}

.export-links ul{
	display: inline;
    margin: 0;
    padding: 0;
    list-style: none;
    list-style-type: none;
    list-style-image: none;
}

.export-links li {
    display: inline-block;
    line-height: 1em;
    border-left: 1px solid #a2a9b1;
    margin: 0.125em 0;
    padding: 0 0.5em;
    zoom: 1;
}


/**
 * Tabs
*/
#tab-smw-askt-search:checked ~ #tab-content-smw-askt-search,
#tab-smw-askt-result:checked ~ #tab-content-smw-askt-result,
#tab-smw-askt-code:checked ~ #tab-content-smw-askt-code,
#tab-smw-askt-clipboard:checked ~ #tab-content-smw-askt-clipboard,
#tab-smw-askt-debug:checked ~ #tab-content-smw-askt-debug,
#tab-smw-askt-extra:checked ~ #tab-content-smw-askt-extra,
#tab-smw-askt-edit:checked ~ #tab-content-smw-askt-edit,
#tab-smw-askt-compact:checked ~ #tab-content-smw-askt-compact,
#tab-smw-askt-options:checked ~ #tab-content-smw-askt-options {
	display: block;
}

// TODO: Handle color in tab component instead
.smw-tabs input.nav-tab:checked + label.nav-label.result-cache {
	color: @color-emphasized;
	box-shadow: @box-shadow-inset-medium-vertical orange;
}

.smw-tabs input.nav-tab:checked + label.nav-label.clipboard-bookmark {
    box-shadow: none;
}

.smw-tabs input.nav-tab:checked + label.nav-label.edit-action {
    box-shadow: none;
}

.smw-tabs label.nav-label.edit-action,
.smw-tabs label.nav-label.compact-action,
.smw-tabs label.nav-label.clipboard-bookmark.smw-tab-right {
	padding-inline: 0px;
}

.clipboard.smw-icon-bookmark {
	padding: 0 0 0 40px;
	vertical-align: top;
}

.smw-tabs input.nav-tab:checked + label.nav-label.compact-action {
    box-shadow: none;
}

/**
 * Responsive settings (#see smw.table.css)
 */
@media screen and (max-width: 920px) {

	.smw-ask-actions-nav {
		flex-direction: column;
	}

	.smw-ask-downloadlinks {
		margin-top: 10px;
		margin-left: 0px;
	}

	.smw-ask-downloadlinks.float-right {
		clear:both;
		float:unset;
	}
}

@media screen and (max-width: 800px) {
	.smw-table-row .smw-table-cell {
		width: auto !important;
		margin: 0.5em 0;
	}

	.smw-table-cell .parameter-number-input, .smw-table-cell .parameter-string-input, .smw-ask-sort-input, .strike, .slowfade fieldset {
		width:100% !important;
	}

	.smw-ask-button-right {
		clear:both;
		float:none;
		margin: 0 5px 0 0;
	}

	.smw-ask-toplinks-edit {
		border-right: 0;
	}

	.smw-ask-button {
		display: flex;
		margin-bottom: 10px;
	}

	.smw-ask-button-submit {
		display: flex;
		margin-bottom: 10px;
	}

	.smw-ask-button input, .smw-ask-button-right input, .smw-ask-button a, .smw-ask-button-right a, #embed_show a, #embed_hide a {
		width: 100%;
		text-align: center;
	}

	.smw-ask-format-selector {
		display: inline-block;
		margin-bottom: 0;
	}

	.smw-tabs label.nav-label.smw-tab-right {
		display: none;
	}
}

.skin-chameleon .autocomplete-arrow {
	background-position-y: 1px;
	padding: 2px;
}

.skin-chameleon .autocomplete-loading {
	padding: 2px;
}

.skin-chameleon .smw-ask-sort-input select, .skin-chameleon .smw-ask-options-list select {
	padding: 0.25em;
}
