/*

    #PANEL

    Standardized themable grouping element

    Markup example:
    <div class="panel"></div>

    .panel.panel--banana.panel--is-clickable


*/

/*
$panel
    margin: 16px 16px 32px 16px
    +bp(min480)
        margin: 16px

$panel-bleed
    margin: 16px 0 48px 0  // content on white gets 64 visual vertical px of white, colored bg needs a little more to look balanced
    +bp(min480)
        margin: 16px

$panel-colored
    padding: 16px
*/

.panel {
  margin: 16px 16px 32px 16px;
}

@media (min-width: 480px) {
  .panel {
    margin: 16px;
  }
}

.panel--bleed {
  margin: 16px 0 48px 0;
}

@media (max-width: 479px) {
  .panel--bleed {
    border-radius: 0 !important;
  }
}

@media (min-width: 480px) {
  .panel--bleed {
    margin: 16px;
  }
}

.panel--bordered,
.panel--success,
.panel--warning,
.panel--error,
.panel--info,
.panel--tips,
.panel--new,
.panel--bright,
.panel--neutral {
  padding: 16px;
}

.panel--kill-last-margin *:last-child {
  margin-bottom: 0 !important;
}

.panel {
  display: block;
  word-wrap: break-word;
  border-radius: 8px;
  border-color: #c3ccd9;
}

.panel--is-clickable:hover,
.panel--is-clickable:focus {
  background-color: #f1f9ff;
  cursor: pointer;
}

@media (min-width: 480px) {
  .panel--is-roomy {
    padding: 64px;
  }
}

.panel--bordered {
  border-width: 2px;
  border-style: solid;
}

.panel--success {
  background-color: #ccffec;
}

.panel--success:focus.panel--is-clickable,
.panel--success:hover.panel--is-clickable {
  outline-color: #70ffca;
}

.panel--warning {
  background-color: #fff5cb;
}

.panel--warning:focus.panel--is-clickable,
.panel--warning:hover.panel--is-clickable {
  outline-color: #ffe36f;
}

.panel--error {
  background-color: #ffefef;
}

.panel--error:focus.panel--is-clickable,
.panel--error:hover.panel--is-clickable {
  outline-color: #ff8c8c;
}

.panel--info {
  background-color: #f1f9ff;
}

.panel--info:focus.panel--is-clickable,
.panel--info:hover.panel--is-clickable {
  outline-color: #8eceff;
}

.panel--tips {
  background-color: #b6f0ff;
}

.panel--tips:focus.panel--is-clickable,
.panel--tips:hover.panel--is-clickable {
  outline-color: #5fdeff;
}

.panel--bright {
  background-color: #fff;
}

.panel--bright:focus.panel--is-clickable,
.panel--bright:hover.panel--is-clickable {
  outline-color: #ccc;
}

.panel--new {
  background-color: #ccffec;
  border: 2px solid #2ee69f;
}

.panel--new:focus.panel--is-clickable,
.panel--new:hover.panel--is-clickable {
  outline-color: #18c582;
}

.panel--neutral {
  background-color: #f6f8fb;
}

/*


        Generic button


        .button .button--cta
                .button--secondary
                .button--order

        .probably-not-touch class on body determines the button scale on non-touch environments
*/

a.button,
.button {
  display: inline-block;
  vertical-align: middle;
  font: inherit;
  font-size: 16px;
  line-height: 22px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  margin: 0;
  border-radius: 8px;
  /* Default specific */
  color: #0063fb;
  background-color: #fff;
  border: 2px solid #c3ccd9;
  padding: 10px 14px;
  transition-timing-function: cubic-bezier(0.46, 0.03, 0.52, 0.96);
  transition-property: background-color, border-color, color;
  /* Default is the exception, so reset back to a common starpoint for the rest */
}

a.button,
.button,
a.button:hover,
.button:hover,
a.button:active,
.button:active,
a.button:focus,
.button:focus {
  outline: none;
  text-decoration: none;
}

a.button:not(:active):not(:focus),
.button:not(:active):not(:focus) {
  transition-duration: 100ms;
}

a.button:hover,
.button:hover,
a.button:focus,
.button:focus,
a.button:active,
.button:active {
  background-color: #f1f9ff;
  border-color: #0063fb;
}

a.button:active,
.button:active {
  background-color: #cfe1fd;
}

a.button:focus,
.button:focus {
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #06befb;
}

a.button--cta,
.button--cta,
a.button--order,
.button--order,
a.button--destructive,
.button--destructive,
a.button--flat,
.button--flat,
a.button--link,
.button--link,
a.button--is-disabled,
.button--is-disabled,
a.button--destructive-flat,
.button--destructive-flat,
a.button--icon,
.button--icon,
a.button--on-image,
.button--on-image,
a.button:disabled,
.button:disabled,
a.button--cta:hover,
.button--cta:hover,
a.button--order:hover,
.button--order:hover,
a.button--destructive:hover,
.button--destructive:hover,
a.button--flat:hover,
.button--flat:hover,
a.button--link:hover,
.button--link:hover,
a.button--is-disabled:hover,
.button--is-disabled:hover,
a.button--destructive-flat:hover,
.button--destructive-flat:hover,
a.button--icon:hover,
.button--icon:hover,
a.button--on-image:hover,
.button--on-image:hover,
a.button:disabled:hover,
.button:disabled:hover,
a.button--cta:focus,
.button--cta:focus,
a.button--order:focus,
.button--order:focus,
a.button--destructive:focus,
.button--destructive:focus,
a.button--flat:focus,
.button--flat:focus,
a.button--link:focus,
.button--link:focus,
a.button--is-disabled:focus,
.button--is-disabled:focus,
a.button--destructive-flat:focus,
.button--destructive-flat:focus,
a.button--icon:focus,
.button--icon:focus,
a.button--on-image:focus,
.button--on-image:focus,
a.button:disabled:focus,
.button:disabled:focus,
a.button--cta:active,
.button--cta:active,
a.button--order:active,
.button--order:active,
a.button--destructive:active,
.button--destructive:active,
a.button--flat:active,
.button--flat:active,
a.button--link:active,
.button--link:active,
a.button--is-disabled:active,
.button--is-disabled:active,
a.button--destructive-flat:active,
.button--destructive-flat:active,
a.button--icon:active,
.button--icon:active,
a.button--on-image:active,
.button--on-image:active,
a.button:disabled:active,
.button:disabled:active {
  border-color: transparent;
}

a.button--cta,
.button--cta {
  color: #fff;
  background-color: #0063fb;
}

a.button--cta,
.button--cta,
a.button--cta:hover,
.button--cta:hover,
a.button--cta:active,
.button--cta:active,
a.button--cta:focus,
.button--cta:focus {
  text-decoration: none;
}

a.button--cta:hover,
.button--cta:hover,
a.button--cta:focus,
.button--cta:focus {
  color: #fff;
  background-color: #004fc9;
}

a.button--cta:active,
.button--cta:active {
  color: #fff;
  background-color: #003b97;
}

a.button--order,
.button--order {
  color: #474445;
  background-color: #2ee69f;
}

a.button--order,
.button--order,
a.button--order:hover,
.button--order:hover,
a.button--order:active,
.button--order:active,
a.button--order:focus,
.button--order:focus {
  text-decoration: none;
}

a.button--order:hover,
.button--order:hover,
a.button--order:focus,
.button--order:focus {
  color: #474445;
  background-color: #18c582;
}

a.button--order:active,
.button--order:active {
  color: #474445;
  background-color: #129462;
}

a.button--destructive,
.button--destructive {
  color: #fff;
  background-color: #d9270a;
}

a.button--destructive,
.button--destructive,
a.button--destructive:hover,
.button--destructive:hover,
a.button--destructive:active,
.button--destructive:active,
a.button--destructive:focus,
.button--destructive:focus {
  text-decoration: none;
}

a.button--destructive:hover,
.button--destructive:hover,
a.button--destructive:focus,
.button--destructive:focus {
  color: #fff;
  background-color: #ae1f08;
}

a.button--destructive:active,
.button--destructive:active {
  color: #fff;
  background-color: #821706;
}

a.button--destructive-flat,
.button--destructive-flat {
  color: #d9270a;
  background: transparent;
}

a.button--destructive-flat:hover,
.button--destructive-flat:hover,
a.button--destructive-flat:focus,
.button--destructive-flat:focus {
  background: transparent;
  color: #ae1f08;
}

a.button--destructive-flat:active,
.button--destructive-flat:active {
  color: #f54327;
}

a.button--flat,
.button--flat {
  color: #0063fb;
  background: transparent;
}

a.button--flat:hover,
.button--flat:hover,
a.button--flat:focus,
.button--flat:focus {
  background: #f1f9ff;
}

a.button--flat:active,
.button--flat:active {
  color: #3082ff;
}

a.button--link,
.button--link,
a.button--link:link,
.button--link:link,
a.button--link:visited,
.button--link:visited {
  cursor: pointer;
  color: #0063fb;
  text-decoration: none;
}

a.button--link:hover,
.button--link:hover,
a.button--link:focus,
.button--link:focus,
a.button--link:active,
.button--link:active {
  color: #0063fb;
  text-decoration: underline;
  outline: none;
}

a.button--link,
.button--link,
a.button--link:focus,
.button--link:focus,
a.button--link:hover,
.button--link:hover,
a.button--link:active,
.button--link:active {
  background: transparent;
  display: inline;
  padding: 0;
  font-weight: normal;
  text-align: left;
  box-shadow: none;
}

a.button--pill,
.button--pill {
  color: #474445;
  background: transparent;
  border: 0;
  padding: 4px;
  border-radius: 1.6em;
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

a.button--pill--left,
.button--pill--left {
  justify-content: flex-start;
}

a.button--pill--left,
.button--pill--left {
  justify-content: center;
}

a.button--pill:hover,
.button--pill:hover,
a.button--pill:focus,
.button--pill:focus {
  background: rgba(179,209,255,0.3);
  background-clip: padding-box;
}

a.button--pill:hover,
.button--pill:hover {
  border-color: rgba(255,255,255,0.4);
}

a.button--pill.button--small,
.button--pill.button--small {
  padding: 4px;
  min-height: 36px;
  min-width: 36px;
}

a.button--pill.button--small::before,
.button--pill.button--small::before {
  width: 18px;
  height: 18px;
}

a.button--in-progressa.button--in-progress,
.button--in-progress.button--in-progress {
  pointer-events: none;
  border-color: transparent;
  color: #767676;
  background-size: 30px 30px !important;
  background-color: #f1f4f6;
  background-image: linear-gradient(135deg, rgba(0,0,0,0.05) 25%, transparent 25%, transparent 50%, rgba(0,0,0,0.05) 50%, rgba(0,0,0,0.05) 75%, transparent 75%, transparent) !important;
  animation: animate-inprogress 3s linear infinite;
}

@keyframes animate-inprogress {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 60px 0;
  }
}

a.button--icon,
.button--icon,
a.button--icon:link,
.button--icon:link,
a.button--icon:visited,
.button--icon:visited {
  cursor: pointer;
  color: #767676;
  text-decoration: none;
}

a.button--icon:hover,
.button--icon:hover,
a.button--icon:focus,
.button--icon:focus,
a.button--icon:active,
.button--icon:active {
  color: #0063fb;
  text-decoration: none;
  outline: none;
}

a.button--icon,
.button--icon,
a.button--icon:hover,
.button--icon:hover,
a.button--icon:focus,
.button--icon:focus,
a.button--icon:active,
.button--icon:active {
  background: transparent;
  display: inline;
  font-weight: normal;
  padding: 0;
}

a.button:disabled,
.button:disabled,
a.button--is-disabled,
.button--is-disabled {
  background: #c3ccd9;
  color: #fff;
  background-image: none;
  cursor: default;
  pointer-events: none;
}

a.button--smalla.button--small,
.button--small.button--small {
  padding: 5px 8px;
  font-size: 12px;
  line-height: 16px;
}

a.button--no-break,
.button--no-break {
  white-space: nowrap;
}

a.button--has-icon,
.button--has-icon {
  display: inline-flex;
  align-items: center;
  justify-content: space-evenly;
  padding: 7px;
}

a.button--has-icon.button--default,
.button--has-icon.button--default {
  padding: 5px;
}

a.button--has-icon a.button__img,
.button--has-icon .button__img,
a.button--has-icon::before,
.button--has-icon::before {
  flex: 0 0 auto;
}

a.button--has-icon::before,
.button--has-icon::before {
  height: 32px;
  width: 32px;
}

a.button--has-icon.button--icon-right a.button__text,
.button--has-icon.button--icon-right .button__text {
  order: -1;
  padding: 0 4px 0 8px;
}

a.button--has-icon a.button__text,
.button--has-icon .button__text {
  padding: 0 8px 0 4px;
}

.confirm-delete-panel {
    margin-top: 3em;
    margin-bottom: 9em;
    vertical-align: center;
    horizontal-align: center;
    text-align: center;
}

.confirm-delete-former {
    display: block;
    margin-left: auto;
    margin-right: auto;
}