.btn-primary-sbb,
.btn-secondary-sbb,
.btn-ghost-sbb {
  line-height: 23px;
  padding: 7px 23px 7px 23px;
}

.btn-primary-sbb {
  color: #fff;
  background-color: var(--sbb-color-red);
  border-color: var(--sbb-color-red);
}

.btn-primary-sbb.focus,
.btn-primary-sbb:focus,
.btn-primary-sbb:not(:disabled):not(.disabled):active:focus,
.btn-primary-sbb:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary-sbb.dropdown-toggle:focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem #eb0000;
  box-shadow: 0 0 0 0.2rem rgba(235, 0, 0, .25);
}

.btn-primary-sbb:not(.disabled):focus,
.btn-primary-sbb:not(.disabled):hover,
.btn-primary-sbb:not([disabled]):focus,
.btn-primary-sbb:not([disabled]):hover,
.btn-primary-sbb:not(:disabled):not(.disabled):active,
.btn-primary-sbb:not(:disabled):not(.disabled).active,
.show > .btn-primary-sbb.dropdown-toggle {
  color: #fff;
  background-color: var(--sbb-color-red125);
  border-color: var(--sbb-color-red125);
}

.btn-primary-sbb.disabled,
.btn-primary-sbb:disabled,
.btn-primary-sbb.disabled:hover,
.btn-primary-sbb:disabled:hover,
.btn-primary-sbb.disabled:focus,
.btn-primary-sbb:disabled:focus,
.btn-primary-sbb.disabled:active,
.btn-primary-sbb:disabled:active {
  border: 1px solid #979797;
  border-radius: 0;
  text-decoration: line-through;
  background-color: transparent;
  background: transparent;
  color: #666;
  cursor: not-allowed;
  box-shadow: none;
}
/* ------ sbb arrow sprite begin ------ */
.mod_svgsprite_icon {
  float: left;
  width: 1.6em;
  height: 1.6em;
  opacity: 0;
  transition: opacity 0.15s ease-in, transform 0.15s ease-in;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.btn-svgsprite {
  padding-left: 2.6666666667em;
  padding-right: 4.6666666667em;
  min-width: 4em;
  max-width: 26.6666666667em;
  position: relative;
  box-sizing: border-box;
}

.btn-svgsprite .mod_svgsprite_icon {
  margin-top: -0.8em;
  position: absolute;
  width: 1.6em;
  height: 1.6em;
  top: 50%;
  margin-top: -0.8333333333em;
  transition: opacity 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86), transform 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86), fill 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  fill: currentColor;
  pointer-events: none;
  box-sizing: border-box;
}

.btn-svgsprite .mod_svgsprite_icon:first-of-type {
  margin-left: -2em;
  opacity: 0;
  transform: translateX(-1.73333em);
}

.btn-svgsprite .mod_svgsprite_icon:last-of-type {
  right: 2.4em;
  opacity: 0.9999;
  transform: translateX(0);
}

.btn-svgsprite:not(:disabled):hover .mod_svgsprite_icon {
  transition: opacity 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86), transform 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86), fill 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.btn-svgsprite:not(:disabled):hover {
  transition: padding-left 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86), padding-right 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86), color 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  padding-left: 4.6666666667em;
  padding-right: 2.6666666667em;
}

.btn-svgsprite:not(:disabled):hover .mod_svgsprite_icon:first-of-type {
  opacity: 0.9999;
  transform: translateX(0);
}

.btn-svgsprite:not(:disabled):hover .mod_svgsprite_icon:last-of-type {
  opacity: 0;
  transform: translateX(1.73333em);
}

.btn-svgsprite.disabled,
.btn-svgsprite:disabled,
.btn-svgsprite.disabled:hover,
.btn-svgsprite:disabled:hover,
.btn-svgsprite.disabled:focus,
.btn-svgsprite:disabled:focus,
.btn-svgsprite.disabled:active,
.btn-svgsprite:disabled:active {
  padding-right: 2.6666666667em;
}

.btn-svgsprite.disabled .mod_svgsprite_icon,
.btn-svgsprite:disabled .mod_svgsprite_icon,
.btn-svgsprite.disabled:hover .mod_svgsprite_icon,
.btn-svgsprite:disabled:hover .mod_svgsprite_icon,
.btn-svgsprite.disabled:focus .mod_svgsprite_icon,
.btn-svgsprite:disabled:focus .mod_svgsprite_icon,
.btn-svgsprite.disabled:active .mod_svgsprite_icon,
.btn-svgsprite:disabled:active .mod_svgsprite_icon {
  display: none;
}
/* ------ sbb arrow sprite end ------ */
.btn-secondary-sbb {
  color: #444;
  background-color: #dcdcdc;
}

.btn-secondary-sbb:not([disabled]):focus,
.btn-secondary-sbb:not([disabled]):hover,
.btn-secondary-sbb:not([disabled]):active {
  background-color: #cdcdcd;
  color: #444;
}

.btn-link {
  color: #000;
}

.btn-link {
  padding: 0;
  color: #000;
}

.btn-link:visited {
  color: #000;
}

.btn-link:hover,
.btn-link:focus {
  color: var(--sbb-color-red);
  text-decoration: none;
}

.btn-link-underline {
  border-bottom: 1px solid #000;
  padding-bottom: 2px;
}

.btn-link-underline:hover,
.btn-link-underline:focus {
  border-bottom: 1px solid var(--sbb-color-red);
}

.btn-ghost-sbb {
  color: #666;
  background-color: transparent;
  background-image: none;
  border-color: #a8a8a8;
}

.btn-ghost-sbb:hover,
.btn-ghost-sbb:active,
.btn-ghost-sbb:focus {
  color: #444;
  border-color: #444;
}

.btn-ghost-sbb.focus,
.btn-ghost-sbb:focus,
.btn-ghost-sbb:not(:disabled):not(.disabled):active:focus,
.btn-ghost-sbb:not(:disabled):not(.disabled).active:focus,
.show > .btn-ghost-sbb.dropdown-toggle:focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem #505050;
  box-shadow: 0 0 0 0.2rem rgba(80, 80, 80, .25);
}

.input-group .btn {
  line-height: 1;
}

.btn-primary-sbb .ms-Icon, .btn-secondary-sbb .ms-Icon {
  vertical-align: bottom;
  margin-right: 4px;
}

.btn .ms-Icon {
  vertical-align: middle;
  margin-right: 2px;
}

a.sbb-link {
    color: #000;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
}

a.sbb-link:hover {
    color: #C60018;
    text-decoration: none;
    border-bottom-color: currentColor;
}

span.sbb-arrow-cta {
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    padding-right: 2em;
    position: relative;
    text-decoration: none !important;
    text-overflow: ellipsis;
    transition: color .4s ease, padding-left .4s ease, padding-right .4s ease;
    white-space: nowrap;
}

span.sbb-arrow-cta:before {
    margin-left: -26px;
    opacity: 0;
}

span.sbb-arrow-cta:hover {
    padding-left: 26px;
    color: #c60018;
}

span.sbb-arrow-cta:after,
span.sbb-arrow-cta:before {
    stroke: currentColor;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath stroke='%23000' d='M5,12.4914 L17.49,12.4914'/%3E%3Cpolyline stroke='%23000' points='13.5 16.5 17.49 12.492 13.5 8.5'/%3E%3C/g%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: 24px 24px;
    content: " ";
    display: inline-block;
    height: 17px;
    transition: opacity .4s ease;
    width: 24px;
}

span.sbb-arrow-cta:hover:before {
    opacity: 1;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath stroke='%23c60018' d='M5,12.4914 L17.49,12.4914'/%3E%3Cpolyline stroke='%23c60018' points='13.5 16.5 17.49 12.492 13.5 8.5'/%3E%3C/g%3E%3C/svg%3E%0A");
}

span.sbb-arrow-cta:hover:after {
    opacity: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath stroke='%23c60018' d='M5,12.4914 L17.49,12.4914'/%3E%3Cpolyline stroke='%23c60018' points='13.5 16.5 17.49 12.492 13.5 8.5'/%3E%3C/g%3E%3C/svg%3E%0A");
}