/*!
 * # Semantic UI - Search
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */


/*******************************
             Search
*******************************/

.ui.search {
  position: relative;
}

.ui.search > .prompt {
  margin: 0em;
  outline: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color:  rgba(255, 255, 255, 0);

  text-shadow: none;
  font-style: normal;
  font-weight: @normal;

  line-height: @searchPromptLineHeight;
  padding: @searchPromptPadding;
  font-size: @searchPromptFontSize;

  background: @searchPromptBackground;
  border: @searchPromptBorder;
  color: @searchPromptColor;
  box-shadow: @searchPromptBoxShadow;
  transition: @promptTransition;
}

.ui.search .prompt {
  border-radius: @searchPromptBorderRadius;
}


/*--------------
     Icon
---------------*/

.ui.search .prompt ~ .search.icon {
  cursor: pointer;
}

/*--------------
    Results
---------------*/

.ui.search > .results {
  display: none;

  position: absolute;
  top: 100%;
  left: 0%;
  transform-origin: center top;
  white-space: normal;

  background: @searchResultsBackground;

  margin-top: @searchResultsDistance;
  width: @searchResultsWidth;

  border-radius: @searchResultsBorderRadius;
  box-shadow: @searchResultsBoxShadow;
  border: @searchResultsBorder;
  z-index: @searchResultsZIndex;
}
.ui.search > .results > :first-child {
  border-radius: @searchResultsBorderRadius @searchResultsBorderRadius 0em 0em;
}
.ui.search > .results > :last-child {
  border-radius: 0em 0em @searchResultsBorderRadius @searchResultsBorderRadius;
}

/*--------------
    Result
---------------*/

.ui.search > .results .result {
  cursor: pointer;
  display: block;
  overflow: hidden;
  font-size: @searchResultFontSize;
  padding: @searchResultPadding;
  color: @searchResultTextColor;
  line-height: @searchResultLineHeight;
  border-bottom: @searchResultDivider;
}
.ui.search > .results .result:last-child {
  border-bottom: @searchResultLastDivider !important;
}

/* Image */
.ui.search > .results .result .image {
  float: @searchResultImageFloat;
  overflow: hidden;
  background: @searchResultImageBackground;
  width: @searchResultImageWidth;
  height: @searchResultImageHeight;
  border-radius: @searchResultImageBorderRadius;
}
.ui.search > .results .result .image img {
  display: block;
  width: auto;
  height: 100%;
}

/*--------------
      Info
---------------*/

.ui.search > .results .result .image + .content {
  margin: @searchResultImageMargin;
}

.ui.search > .results .result .title {
  margin: @searchResultTitleMargin;
  font-family: @searchResultTitleFont;
  font-weight: @searchResultTitleFontWeight;
  font-size: @searchResultTitleFontSize;
  color: @searchResultTitleColor;
}
.ui.search > .results .result .description {
  margin-top: @searchResultDescriptionDistance;
  font-size: @searchResultDescriptionFontSize;
  color: @searchResultDescriptionColor;
}
.ui.search > .results .result .price {
  float: @searchResultPriceFloat;
  color: @searchResultPriceColor;
}

/*--------------
    Message
---------------*/

.ui.search > .results > .message {
  padding: @searchMessageVerticalPadding @searchMessageHorizontalPadding;
}
.ui.search > .results > .message .header {
  font-family: @headerFont;
  font-size: @searchMessageHeaderFontSize;
  font-weight: @searchMessageHeaderFontWeight;
  color: @searchMessageHeaderColor;
}
.ui.search > .results > .message .description {
  margin-top: @searchMessageDescriptionDistance;
  font-size: @searchMessageDescriptionFontSize;
  color: @searchMessageDescriptionColor;
}

/* View All Results */
.ui.search > .results > .action {
  display: block;
  border-top: @searchActionBorder;
  background: @searchActionBackground;
  padding: @searchActionPadding;
  color: @searchActionColor;
  font-weight: @searchActionFontWeight;
  text-align: @searchActionAlign;
}


/*******************************
            States
*******************************/

/*--------------------
       Focus
---------------------*/

.ui.search > .prompt:focus {
  border-color: @searchPromptFocusBorderColor;
  background: @searchPromptFocusBackground;
  color: @searchPromptFocusColor;
}

/*--------------------
       Loading
---------------------*/

.ui.loading.search .input > i.icon:before {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;

  margin: @loaderMargin;
  width: @loaderSize;
  height: @loaderSize;

  border-radius: @circularRadius;
  border: @loaderLineWidth solid @loaderFillColor;
}
.ui.loading.search .input > i.icon:after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;

  margin: @loaderMargin;
  width: @loaderSize;
  height: @loaderSize;

  animation: button-spin @loaderSpeed linear;
  animation-iteration-count: infinite;

  border-radius: @circularRadius;

  border-color: @loaderLineColor transparent transparent;
  border-style: solid;
  border-width: @loaderLineWidth;

  box-shadow: 0px 0px 0px 1px transparent;
}


/*--------------
      Hover
---------------*/

.ui.search > .results .result:hover,
.ui.category.search > .results .category .result:hover {
  background: @searchResultHoverBackground;
}
.ui.search .action:hover {
  background: @searchActionHoverBackground;
}

/*--------------
      Active
---------------*/

.ui.category.search > .results .category.active {
  background: @searchCategoryActiveBackground;
}
.ui.category.search > .results .category.active > .name {
  color: @searchCategoryNameActiveColor;
}

.ui.search > .results .result.active,
.ui.category.search > .results .category .result.active {
  position: relative;
  border-left-color: @searchResultActiveBorderLeft;
  background: @searchResultActiveBackground;
  box-shadow: @searchResultActiveBoxShadow;
}
.ui.search > .results .result.active .title {
  color: @searchResultActiveTitleColor;
}
.ui.search > .results .result.active .description {
  color: @searchResultActiveDescriptionColor;
}

/*--------------------
        Disabled
----------------------*/

/* Disabled */
.ui.disabled.search {
  cursor: default;
  pointer-events: none;
  opacity: @disabledOpacity;
}


/*******************************
           Types
*******************************/

/*--------------
    Selection
---------------*/

.ui.search.selection .prompt {
  border-radius: @searchSelectionPromptBorderRadius;
}

/* Remove input */
.ui.search.selection > .icon.input > .remove.icon {
  pointer-events: none;
  position: absolute;
  left: auto;
  opacity: 0;
  color: @searchSelectionCloseIconColor;
  top: @searchSelectionCloseTop;
  right: @searchSelectionCloseRight;
  transition: @selectionCloseTransition;
}
.ui.search.selection > .icon.input > .active.remove.icon {
  cursor: pointer;
  opacity: @searchSelectionCloseIconOpacity;
  pointer-events: auto;
}
.ui.search.selection > .icon.input:not([class*="left icon"]) > .icon ~ .remove.icon {
  right: @searchSelectionCloseIconInputRight;
}
.ui.search.selection > .icon.input > .remove.icon:hover {
  opacity: @searchSelectionCloseIconHoverOpacity;
  color: @searchSelectionCloseIconHoverColor;
}


/*--------------
    Category
---------------*/

.ui.category.search .results {
  width: @searchCategoryResultsWidth;
}

.ui.category.search .results.animating,
.ui.category.search .results.visible {
  display: table;
}

/* Category */
.ui.category.search > .results .category {
  display: table-row;
  background: @searchCategoryBackground;
  box-shadow: @searchCategoryBoxShadow;
  transition: @categoryTransition;
}

/* Last Category */
.ui.category.search > .results .category:last-child {
  border-bottom: none;
}

/* First / Last */
.ui.category.search > .results .category:first-child .name + .result {
  border-radius: 0em @searchResultsBorderRadius 0em 0em;
}
.ui.category.search > .results .category:last-child .result:last-child {
  border-radius: 0em 0em @searchResultsBorderRadius 0em;
}

/* Category Result Name */
.ui.category.search > .results .category > .name {
  display: table-cell;
  text-overflow: ellipsis;
  width: @searchCategoryNameWidth;
  white-space: @searchCategoryNameWhitespace;
  background: @searchCategoryNameBackground;
  font-family: @searchCategoryNameFont;
  font-size: @searchCategoryNameFontSize;
  padding: @searchCategoryNamePadding;
  font-weight: @searchCategoryNameFontWeight;
  color: @searchCategoryNameColor;
  border-bottom: @searchCategoryDivider;
}

/* Category Result */
.ui.category.search > .results .category .results {
  display: table-cell;
  background: @searchCategoryResultBackground;
  border-left: @searchCategoryResultLeftBorder;
  border-bottom: @searchCategoryDivider;
}
.ui.category.search > .results .category .result {
  border-bottom: @searchCategoryResultDivider;
  transition: @searchCategoryResultTransition;
  padding: @searchCategoryResultPadding;
}

/*******************************
           Variations
*******************************/

/*-------------------
     Left / Right
--------------------*/

.ui[class*="left aligned"].search > .results {
  right: auto;
  left: 0%;
}
.ui[class*="right aligned"].search > .results {
  right: 0%;
  left: auto;
}

/*--------------
    Fluid
---------------*/

.ui.fluid.search .results {
  width: 100%;
}


/*--------------
      Sizes
---------------*/

.ui.mini.search {
  font-size: @relativeMini;
}
.ui.small.search {
  font-size: @relativeSmall;
}
.ui.search {
  font-size: @relativeMedium;
}
.ui.large.search {
  font-size: @relativeLarge;
}
.ui.big.search {
  font-size: @relativeBig;
}
.ui.huge.search {
  font-size: @relativeHuge;
}
.ui.massive.search {
  font-size: @relativeMassive;
}

/*--------------
      Mobile
---------------*/

@media only screen and (max-width: @largestMobileScreen) {
  .ui.search .results {
    max-width: @searchMobileMaxWidth;
  }
}

