


/* Start:/bitrix/templates/bitrix24_2017/css/owl.carousel.min.css?15109113372936*/
/**
 * Owl Carousel v2.2.1
 * Copyright 2013-2017 David Deutsch
 * Licensed under  ()
 */
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(/bitrix/templates/bitrix24_2017/css/owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
/* End */




/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
 */

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

.animated.hinge {
  animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  animation-duration: .75s;
}

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    transform: translate3d(0,-4px,0);
  }
}

.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}

@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

.flash {
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }

  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}

.pulse {
  animation-name: pulse;
}

@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }

  30% {
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    transform: scale3d(1.05, .95, 1);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}

.rubberBand {
  animation-name: rubberBand;
}

@keyframes shake {
  from, to {
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}

.shake {
  animation-name: shake;
}

@keyframes headShake {
  0% {
    transform: translateX(0);
  }

  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    transform: translateX(0);
  }
}

.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}

@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  transform-origin: top center;
  animation-name: swing;
}

@keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}

.tada {
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes wobble {
  from {
    transform: none;
  }

  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    transform: none;
  }
}

.wobble {
  animation-name: wobble;
}

@keyframes jello {
  from, 11.1%, to {
    transform: none;
  }

  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

.jello {
  animation-name: jello;
  transform-origin: center;
}

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

.bounceIn {
  animation-name: bounceIn;
}

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }

  75% {
    transform: translate3d(0, -10px, 0);
  }

  90% {
    transform: translate3d(0, 5px, 0);
  }

  to {
    transform: none;
  }
}

.bounceInDown {
  animation-name: bounceInDown;
}

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }

  75% {
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    transform: translate3d(5px, 0, 0);
  }

  to {
    transform: none;
  }
}

.bounceInLeft {
  animation-name: bounceInLeft;
}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    transform: translate3d(10px, 0, 0);
  }

  90% {
    transform: translate3d(-5px, 0, 0);
  }

  to {
    transform: none;
  }
}

.bounceInRight {
  animation-name: bounceInRight;
}

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }

  75% {
    transform: translate3d(0, 10px, 0);
  }

  90% {
    transform: translate3d(0, -5px, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.bounceInUp {
  animation-name: bounceInUp;
}

@keyframes bounceOut {
  20% {
    transform: scale3d(.9, .9, .9);
  }

  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }
}

.bounceOut {
  animation-name: bounceOut;
}

@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.bounceOutDown {
  animation-name: bounceOutDown;
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

.bounceOutLeft {
  animation-name: bounceOutLeft;
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

.bounceOutRight {
  animation-name: bounceOutRight;
}

@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

.bounceOutUp {
  animation-name: bounceOutUp;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInDown {
  animation-name: fadeInDown;
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInDownBig {
  animation-name: fadeInDownBig;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInRight {
  animation-name: fadeInRight;
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInRightBig {
  animation-name: fadeInRightBig;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInUp {
  animation-name: fadeInUp;
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInUpBig {
  animation-name: fadeInUpBig;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}

.fadeOutDown {
  animation-name: fadeOutDown;
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  animation-name: fadeOutLeft;
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  animation-name: fadeOutRight;
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  animation-name: fadeOutUp;
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}

@keyframes flip {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }

  40% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }

  50% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }

  80% {
    transform: perspective(400px) scale3d(.95, .95, .95);
    animation-timing-function: ease-in;
  }

  to {
    transform: perspective(400px);
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation-name: flip;
}

@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }

  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    transform: perspective(400px);
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInX;
}

@keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }

  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    transform: perspective(400px);
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInY;
}

@keyframes flipOutX {
  from {
    transform: perspective(400px);
  }

  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.flipOutX {
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@keyframes flipOutY {
  from {
    transform: perspective(400px);
  }

  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}

@keyframes lightSpeedIn {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    transform: none;
    opacity: 1;
  }
}

.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}

@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    transform-origin: center;
    transform: none;
    opacity: 1;
  }
}

.rotateIn {
  animation-name: rotateIn;
}

@keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}

@keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownRight {
  animation-name: rotateInDownRight;
}

@keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}

@keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpRight {
  animation-name: rotateInUpRight;
}

@keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }

  to {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

.rotateOut {
  animation-name: rotateOut;
}

@keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}

@keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}

@keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}

@keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}

@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

.hinge {
  animation-name: hinge;
}

@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }

  50% {
    transform: rotate(-10deg);
  }

  70% {
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.jackInTheBox {
  animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.rollIn {
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

.rollOut {
  animation-name: rollOut;
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

.zoomIn {
  animation-name: zoomIn;
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInDown {
  animation-name: zoomInDown;
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInLeft {
  animation-name: zoomInLeft;
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInRight {
  animation-name: zoomInRight;
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInUp {
  animation-name: zoomInUp;
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

.zoomOut {
  animation-name: zoomOut;
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutDown {
  animation-name: zoomOutDown;
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}

.zoomOutLeft {
  animation-name: zoomOutLeft;
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}

.zoomOutRight {
  animation-name: zoomOutRight;
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutUp {
  animation-name: zoomOutUp;
}

@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInDown {
  animation-name: slideInDown;
}

@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInLeft {
  animation-name: slideInLeft;
}

@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInRight {
  animation-name: slideInRight;
}

@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInUp {
  animation-name: slideInUp;
}

@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}

.slideOutDown {
  animation-name: slideOutDown;
}

@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}

.slideOutLeft {
  animation-name: slideOutLeft;
}

@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}

.slideOutRight {
  animation-name: slideOutRight;
}

@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}

.slideOutUp {
  animation-name: slideOutUp;
}

/* End */


/* Start:/bitrix/templates/bitrix24_2017/css/template.css?151964621320436*/
/*--------------------------------------------
BASIC TEMPLATE COLORS
--------------------------------------------*/
/*--------------------------------------------
BASIC FONTS FAMILY
--------------------------------------------*/
html, body {
  margin: 0;
  padding: 0;
  font: 16px/18px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }

body {
  min-width: 1180px;
  margin: 0 auto;
  color: #262626; }

/*--------------------------------------------
HEADER
--------------------------------------------*/
.bxst-header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  box-sizing: border-box;
  z-index: 10; }
  .bxst-header .bxst-header-outer {
    display: flex;
    align-items: center;
    justify-content: space-around;
    position: relative;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    padding: 19px 15px 20px;
    background: #fff;
    box-shadow: 0 0 15px 0 #9c9c9c;
    box-sizing: border-box; }
  .bxst-header .bxst-header-cnt {
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    box-sizing: border-box; }
  .bxst-header .bxst-header-logo-picture {
    display: block;
    margin: 0;
    padding: 0; }
  .bxst-header .bxst-header-menu-list {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none; }
  .bxst-header .bxst-header-menu-list-item {
    margin: 0 19px; }
  .bxst-header .bxst-header-menu-list-item-link {
    padding: 9px 0;
    border: 1px solid transparent;
    border-radius: 18px;
    color: #000;
    font: 13px/13px "Geometria Medium", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    transition: 160ms color linear;
    vertical-align: middle; }
    .bxst-header .bxst-header-menu-list-item-link:hover {
      color: #68ddff; }
    .bxst-header .bxst-header-menu-list-item-link.active {
      padding: 9px 16px;
      border: 1px solid #2ecaf7; }
  .bxst-header .bxst-header-control {
    display: flex;
    align-items: center; }
  .bxst-header .bxst-header-authorization,
  .bxst-header .bxst-header-site-selector {
    margin: 0 10px; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .bxst-header .bxst-header-authorization .bxst-header-authorization-user.active .bxst-header-authorization-user-popup {
      display: block; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-wrapp {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-picture {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 3px;
    background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/user-no-photo-xs.png?1); }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-picture-icon {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-arrow {
    position: relative;
    width: 20px;
    height: 9px;
    margin-left: 10px;
    font-size: 0; }
    .bxst-header .bxst-header-authorization .bxst-header-authorization-user-arrow:before, .bxst-header .bxst-header-authorization .bxst-header-authorization-user-arrow:after {
      content: '';
      display: block;
      position: absolute;
      width: 12px;
      height: 2px;
      top: 3px;
      background: #fff;
      border-radius: 5px; }
    .bxst-header .bxst-header-authorization .bxst-header-authorization-user-arrow:before {
      left: 0;
      transform: rotate(45deg); }
    .bxst-header .bxst-header-authorization .bxst-header-authorization-user-arrow:after {
      right: 0;
      transform: rotate(-45deg); }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup {
    display: none;
    position: absolute;
    top: 100%;
    right: -18px;
    padding-top: 15px;
    box-sizing: border-box;
    cursor: auto;
    z-index: 11; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-outer {
    position: relative;
    min-width: 360px;
    padding: 20px 30px;
    background-color: #fff;
    border: 1px solid #e8eef1;
    border-radius: 5px;
    color: #000;
    text-align: left;
    box-shadow: 0 2px 5px 0 rgba(156, 156, 156, 0.5);
    box-sizing: border-box; }
    .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-outer:before, .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-outer:after {
      content: '';
      position: absolute;
      width: 0;
      height: 0;
      bottom: 100%;
      right: 18px;
      border-left: 8px solid transparent;
      border-right: 8px solid transparent;
      border-bottom: 8px solid #e8eef1;
      z-index: 12; }
    .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-outer:after {
      right: 20px;
      border-left: 6px solid transparent;
      border-right: 6px solid transparent;
      border-bottom: 7px solid #fff; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-title {
    margin-bottom: 20px;
    font-size: 32px;
    line-height: 40px;
    text-transform: none; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-subtitle {
    border-bottom: 1px solid #eceff1;
    color: #b0c0c7; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-description {
    margin-top: 20px;
    font-size: 14px;
    line-height: 21px;
    text-transform: none; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-btn {
    margin-top: 20px; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-footer {
    margin-top: 20px; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-footer-border {
    margin-bottom: 10px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eceff1; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-portals {
    display: flex;
    flex-direction: column;
    max-height: 200px;
    overflow-y: auto; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-portal-link {
    margin-bottom: 10px;
    color: #2ecaf7;
    font-size: 12px;
    line-height: 12px; }
    .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-portal-link:hover {
      color: #68ddff; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-footer-title {
    color: #b0c0c7;
    font-size: 14px;
    line-height: 21px;
    text-transform: none; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-footer-link {
    display: inline-block;
    border-bottom: 2px solid #cfee52;
    color: #b7db2a;
    line-height: 21px;
    text-decoration: none; }
  .bxst-header .bxst-header-authorization .bxst-header-authorization-user-popup-footer-logout {
    display: inline-block;
    border-bottom: 2px solid #fbb;
    color: #ff5252;
    line-height: 21px;
    text-decoration: none; }
  .bxst-header .bxst-header-site-selector-select {
    position: relative; }
    .bxst-header .bxst-header-site-selector-select:hover .bxst-header-site-selector-wrapp {
      height: auto;
      overflow: visible; }
    .bxst-header .bxst-header-site-selector-select:hover .bxst-header-site-selector-wrapp-outer {
      opacity: 1;
      visibility: visible; }
    .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-main-icon {
      color: #ccc;
      font-size: 30px;
      line-height: 30px;
      opacity: .8;
      cursor: pointer; }
    .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-wrapp {
      position: absolute;
      height: 0;
      padding-top: 15px;
      right: -5px;
      overflow: hidden; }
    .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-wrapp-outer {
      display: flex;
      position: relative;
      max-width: 100%;
      padding: 20px 25px;
      background-color: #fff;
      border: 1px solid #e8eef1;
      border-radius: 5px;
      font-size: 14px;
      white-space: nowrap;
      box-shadow: 0 2px 5px 0 rgba(156, 156, 156, 0.5);
      box-sizing: border-box;
      opacity: 0;
      visibility: hidden;
      transition: visibility 0s, opacity 160ms linear;
      z-index: 11; }
      .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-wrapp-outer:before, .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-wrapp-outer:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        bottom: 100%;
        right: 10px;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-bottom: 8px solid #e8eef1;
        z-index: 12; }
      .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-wrapp-outer:after {
        right: 12px;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-bottom: 7px solid #fff; }
    .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-group {
      margin: 0 25px 5px; }
      .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-group:first-child {
        margin-left: 0; }
      .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-group:last-child {
        margin-right: 0; }
    .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-group-name {
      margin: 0 0 15px;
      font-size: 15px;
      font-weight: bold; }
    .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-item {
      margin: 0 0 10px; }
    .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-link {
      color: #333;
      text-decoration: none; }
      .bxst-header .bxst-header-site-selector-select .bxst-header-site-selector-link.active {
        font-weight: bold;
        text-decoration: underline; }

/*--------------------------------------------
MAIN WRAPP
--------------------------------------------*/
.bxst-header + .bxst-main-wrapp {
  padding-top: 75px; }

.bxst-loader {
  position: relative;
  width: 10em;
  height: 10em;
  margin: auto;
  border-top: 0.2em solid rgba(162, 164, 166, 0.5);
  border-right: 0.2em solid rgba(162, 164, 166, 0.5);
  border-bottom: 0.2em solid rgba(162, 164, 166, 0.5);
  border-left: 0.2em solid #a2a4a6;
  border-radius: 50%;
  font-size: 10px;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: circleLoadinAnimation 1.1s infinite linear;
  animation: circleLoadinAnimation 1.1s infinite linear; }
  .bxst-loader:after {
    border-radius: 50%;
    width: 10em;
    height: 10em; }

@-webkit-keyframes circleLoadinAnimation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
@keyframes circleLoadinAnimation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
/*--------------------------------------------
FOOTER
--------------------------------------------*/
.bxst-footer {
  display: flex;
  justify-content: center;
  padding: 78px 0 32px; }
  .bxst-footer .bxst-footer-cnt {
    width: 100%;
    max-width: 1180px;
    box-sizing: border-box; }
  .bxst-footer .bxst-footer-menu {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0 15px;
    box-sizing: border-box; }
  .bxst-footer .bxst-footer-menu-section-header {
    margin-bottom: 6px;
    color: #fff;
    font: 12px/14px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    letter-spacing: 1px;
    text-decoration: none;
    text-transform: uppercase;
    opacity: .7; }
  .bxst-footer .bxst-footer-menu-section-list {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none; }
  .bxst-footer .bxst-footer-menu-section-list-item {
    display: block; }
  .bxst-footer .bxst-footer-menu-section-list-item-link {
    color: #fff;
    font: 18px/40px "Geometria Medium", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    letter-spacing: -.2px;
    text-decoration: none;
    transition: 160ms opacity linear; }
    .bxst-footer .bxst-footer-menu-section-list-item-link:hover {
      opacity: .7; }
  .bxst-footer .bxst-footer-info {
    margin-top: 39px;
    padding-top: 32px;
    border-top: 2px solid rgba(255, 255, 255, 0.7); }
  .bxst-footer .bxst-footer-info-cnt {
    display: flex;
    justify-content: space-between;
    padding: 0 15px;
    box-sizing: border-box; }
  .bxst-footer .bxst-footer-info-section-consent {
    flex: 1 1; }
  .bxst-footer .bxst-footer-info-skolkovo {
    display: flex;
    flex: 0 0 160px; }
  .bxst-footer .bxst-footer-info-skolkovo-inner {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin: 0 25px; }
  .bxst-footer .bxst-footer-info-skolkovo-link {
    display: block;
    max-width: 110px;
    opacity: .7;
    transition: 160ms opacity linear; }
    .bxst-footer .bxst-footer-info-skolkovo-link:hover {
      opacity: 1; }
  .bxst-footer .bxst-footer-info-skolkovo-picture {
    display: block;
    margin: 0;
    padding: 0;
    max-width: 110px;
    width: 100%; }
  .bxst-footer .bxst-footer-info-about-menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box; }
  .bxst-footer .bxst-footer-info-about-menu-item {
    flex: 0 0 auto;
    box-sizing: border-box; }
  .bxst-footer .bxst-footer-info-about-menu-item-link {
    color: #fff;
    font: 13px/36px "Geometria Medium", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    transition: 160ms opacity linear; }
    .bxst-footer .bxst-footer-info-about-menu-item-link:hover {
      opacity: .7; }
  .bxst-footer .bxst-footer-info-user-consent {
    margin-top: 30px; }
  .bxst-footer .bxst-footer-info-user-consent-menu {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none; }
  .bxst-footer .bxst-footer-info-user-consent-menu-item {
    margin-right: 40px; }
  .bxst-footer .bxst-footer-info-user-consent-menu-item-link {
    color: #fff;
    font: 14px/32px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    letter-spacing: .15px;
    text-decoration: none;
    transition: 160ms opacity linear; }
    .bxst-footer .bxst-footer-info-user-consent-menu-item-link:hover {
      opacity: .7; }
  .bxst-footer .bxst-footer-info-apps-market {
    display: flex; }
  .bxst-footer .bxst-footer-info-apps-market-item {
    margin: 0 4px; }
  .bxst-footer .bxst-footer-info-apps-market-item-picture {
    display: block;
    margin: 0;
    padding: 0;
    transition: 160ms opacity linear; }
    .bxst-footer .bxst-footer-info-apps-market-item-picture:hover {
      opacity: .8; }
  .bxst-footer .bxst-footer-info-search {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    box-sizing: border-box; }
  .bxst-footer .bxst-footer-info-search-form {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    position: relative;
    box-sizing: border-box; }
  .bxst-footer .bxst-footer-info-search-input {
    flex: 1;
    padding: 10px 50px 10px 24px;
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 35px;
    color: #fff;
    font-size: 15px;
    line-height: 16px;
    outline: none;
    box-sizing: border-box; }
  .bxst-footer .bxst-footer-info-search-input::placeholder {
    color: #fff;
    opacity: .7; }
  .bxst-footer .bxst-footer-info-search-submit {
    display: block;
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
    padding: 0;
    width: 20px;
    height: 20px;
    background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/icon-search.png) no-repeat;
    background-size: contain;
    background-position: center;
    border: none;
    font-size: 0;
    line-height: 0;
    outline: none;
    box-sizing: border-box;
    cursor: pointer; }
  .bxst-footer .bxst-footer-info-social-networks {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 28px; }
  .bxst-footer .bxst-footer-info-social-networks-title {
    margin-left: 2px;
    color: #fff;
    font: 14px/20px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    text-decoration: none;
    letter-spacing: .15px;
    opacity: .8; }
  .bxst-footer .bxst-footer-info-social-networks-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style: none; }
  .bxst-footer .bxst-footer-info-social-networks-list-item {
    display: flex;
    align-items: center;
    margin-left: 21px; }
  .bxst-footer .bxst-footer-info-social-networks-list-item-link {
    display: inline-block;
    width: 21px;
    height: 21px;
    background: transparent url(/bitrix/templates/bitrix24_2017/css/../images/icons/social-networks.svg) no-repeat;
    transition: 160ms opacity linear; }
    .bxst-footer .bxst-footer-info-social-networks-list-item-link:hover {
      opacity: .7; }
    .bxst-footer .bxst-footer-info-social-networks-list-item-link.vk-icon {
      background-position: 0 0; }
    .bxst-footer .bxst-footer-info-social-networks-list-item-link.fb-icon {
      background-position: -21px 0; }
    .bxst-footer .bxst-footer-info-social-networks-list-item-link.tw-icon {
      background-position: -42px 0; }
  .bxst-footer .bxst-footer-copyright {
    margin-top: 22px;
    padding: 20px 15px 0;
    border-top: 2px solid rgba(255, 255, 255, 0.7);
    box-sizing: border-box; }
  .bxst-footer .bxst-footer-copyright-cnt {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .bxst-footer .bxst-footer-copyright-line {
    display: flex;
    align-items: center; }
  .bxst-footer .bxst-footer-copyright-line-text {
    margin-right: 22px;
    color: #fff;
    font: 14px/20px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    text-decoration: none;
    letter-spacing: .1px; }
  .bxst-footer .bxst-footer-copyright-line-age-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #fff;
    border-radius: 100%;
    color: rgba(255, 255, 255, 0.8);
    font: 12px/28px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    text-decoration: none;
    letter-spacing: .1px;
    box-sizing: border-box; }

/*--------------------------------------------
PAINTERS
--------------------------------------------*/
.bxst-footer-gradient-primary {
  background: #08c1ef;
  background: -moz-linear-gradient(-45deg, #08c1ef 0%, #6dcf73 100%);
  background: -webkit-linear-gradient(-45deg, #08c1ef 0%, #6dcf73 100%);
  background: linear-gradient(135deg, #08c1ef 0%, #6dcf73 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$gradientColorStart', endColorstr='$gradientColorEnd',GradientType=1 ); }

/*# sourceMappingURL=template.css.map */

/* End */


/* Start:/bitrix/templates/bitrix24_2017/css/content.css?151998056165361*/
/*--------------------------------------------
BASIC TEMPLATE COLORS
--------------------------------------------*/
/*--------------------------------------------
BASIC FONTS FAMILY
--------------------------------------------*/
/*--------------------------------------------
HEADERS
--------------------------------------------*/
.bxst-block-title {
  color: #333;
  font-family: "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
  text-align: center;
  letter-spacing: -1px; }
  .bxst-block-title.bxst-title-lg {
    font-size: 48px;
    line-height: 50px; }
  .bxst-block-title.bxst-title-md {
    font-size: 42px;
    line-height: 50px; }
  .bxst-block-title.bxst-title-sm {
    font-size: 36px;
    line-height: 48px; }

.bxst-double-header {
  display: flex;
  align-items: center;
  justify-content: space-between; }

/*--------------------------------------------
PAINTERS
--------------------------------------------*/
.bxst-gradient-primary {
  background: #08c1ef;
  background: -moz-linear-gradient(-45deg, #08c1ef 0%, #6dcf73 100%);
  background: -webkit-linear-gradient(-45deg, #08c1ef 0%, #6dcf73 100%);
  background: linear-gradient(135deg, #08c1ef 0%, #6dcf73 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$gradientColorStart', endColorstr='$gradientColorEnd',GradientType=1 ); }

.bxst-gradient-round-primary {
  background: #68ddff;
  background: -moz-radial-gradient(center, ellipse cover, #68ddff 0%, #2ecaf7 100%);
  background: -webkit-radial-gradient(center, ellipse cover, #68ddff 0%, #2ecaf7 100%);
  background: radial-gradient(ellipse at center, #68ddff 0%, #2ecaf7 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$gradientColorStart', endColorstr='$gradientColorEnd',GradientType=1 ); }

.bxst-background-primary {
  background-color: #2ecaf7; }

.bxst-border-top {
  border-top: 1px solid #e5e9ea; }

.bxst-border-bottom {
  border-bottom: 1px solid #e5e9ea; }

/*--------------------------------------------
SECTION
--------------------------------------------*/
.bxst-section a {
  color: #2ecaf7;
  text-decoration: none;
  transition: 160ms color linear, 160ms background-color linear, 160ms opacity linear, 160ms padding linear; }

.bxst-section-cnt {
  max-width: 1210px;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box; }

/*--------------------------------------------
VIDEO BANNER PRIMARY
--------------------------------------------*/
.bxst-video-banner-primary {
  position: relative;
  width: 100%;
  box-sizing: border-box; }
  .bxst-video-banner-primary .bxst-video-banner-primary-label {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2; }
  .bxst-video-banner-primary .bxst-video-banner-primary-label-link {
    display: block;
    font-size: 0;
    line-height: 0; }
  .bxst-video-banner-primary .bxst-video-banner-primary-label-picture {
    display: block;
    margin: 0;
    padding: 0;
    max-width: 100%; }
  .bxst-video-banner-primary .bxst-video-banner-primary-controller {
    display: block;
    position: relative;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0 0 41.7% 0;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 1; }
    .bxst-video-banner-primary .bxst-video-banner-primary-controller:before {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      background: rgba(35, 35, 35, 0.5);
      z-index: 1; }
  .bxst-video-banner-primary .bxst-video-banner-primary-video {
    display: block;
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    z-index: 0; }
  .bxst-video-banner-primary .bxst-video-banner-primary-play {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 48px;
    height: 48px;
    left: 0;
    right: 0;
    bottom: 62px;
    margin: auto;
    border: 1px solid #d8d8d8;
    border-radius: 100%;
    cursor: pointer;
    opacity: .5;
    transition: 160ms opacity linear;
    z-index: 3; }
    .bxst-video-banner-primary .bxst-video-banner-primary-play:hover {
      opacity: 1; }
    .bxst-video-banner-primary .bxst-video-banner-primary-play:before {
      content: '';
      display: block;
      position: relative;
      width: 0;
      height: 0;
      margin-left: 6px;
      border-top: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 12px solid #fff;
      z-index: 3; }
  .bxst-video-banner-primary .bxst-video-banner-primary-content {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 50%;
    margin-top: -12px;
    text-align: center;
    z-index: 2; }
  .bxst-video-banner-primary .bxst-video-banner-primary-title {
    color: #fff;
    font: 48px/56px "Geometria Medium", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    text-decoration: none;
    letter-spacing: -1.1px; }
    .bxst-video-banner-primary .bxst-video-banner-primary-title .bxst-video-banner-primary-logo-icon {
      color: #2bbbf5; }
  .bxst-video-banner-primary .bxst-video-banner-primary-description {
    max-width: 485px;
    margin: 30px auto 0;
    color: #fff;
    font: 21px/32px "Geometria Light", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    text-decoration: none;
    letter-spacing: -1px; }
  .bxst-video-banner-primary .bxst-video-banner-primary-button {
    margin-top: 50px; }
  .bxst-video-banner-primary .bxst-video-banner-primary-widget {
    position: absolute;
    left: 5%;
    bottom: 5%;
    z-index: 2; }

.main-video-banner-primary {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  border: none;
  background-color: transparent;
  box-shadow: none; }
  .main-video-banner-primary .popup-window-content {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background-color: transparent; }
    .main-video-banner-primary .popup-window-content iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      padding: 0;
      margin: 0;
      border: none; }

.popup-window-overlay {
  min-width: 100%;
  min-height: 100%;
  box-sizing: border-box; }

/*--------------------------------------------
REGISTRATION BANNER
--------------------------------------------*/
.bxst-registration-banner {
  padding: 51px 0 58px 0;
  background: transparent url(/bitrix/templates/bitrix24_2017/css/../images/background/cloud-4.svg) no-repeat;
  background-position: center bottom; }
  .bxst-registration-banner .bxst-registration-banner-title {
    color: #fff;
    letter-spacing: -1px; }
  .bxst-registration-banner .bxst-registration-banner-button {
    margin-top: 41px;
    text-align: center; }

/*--------------------------------------------
DAILY BANNER
--------------------------------------------*/
.bxst-daily-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 102px 0 75px;
  max-width: 1180px;
  margin: 0 auto; }
  .bxst-daily-banner .bxst-daily-banner-content {
    max-width: 500px; }
  .bxst-daily-banner .bxst-block-title {
    text-align: left; }
  .bxst-daily-banner .bxst-subtitle {
    font: 24px/24px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
  .bxst-daily-banner p {
    font: 18px/30px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
  .bxst-daily-banner .bxst-daily-banner-scene {
    position: relative;
    max-width: 620px;
    width: 100%;
    min-height: 392px;
    box-sizing: border-box;
    opacity: 0; }
    .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-circles {
      display: block;
      position: relative; }
      .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-circles .bxst-scene-circle-1,
      .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-circles .bxst-scene-circle-2,
      .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-circles .bxst-scene-circle-3,
      .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-circles .bxst-scene-circle-4 {
        position: absolute;
        background-repeat: no-repeat;
        z-index: 0; }
      .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-circles .bxst-scene-circle-1 {
        width: 174px;
        height: 173px;
        top: 17px;
        left: 25px;
        background-image: url(/bitrix/templates/bitrix24_2017/css/../images/daily-banner/circle-1.png);
        animation-delay: .3s; }
      .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-circles .bxst-scene-circle-2 {
        width: 289px;
        height: 289px;
        top: 0;
        left: 109px;
        background-image: url(/bitrix/templates/bitrix24_2017/css/../images/daily-banner/circle-2.png);
        animation-delay: .6s; }
      .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-circles .bxst-scene-circle-3 {
        width: 268px;
        height: 267px;
        top: 76px;
        left: 273px;
        background-image: url(/bitrix/templates/bitrix24_2017/css/../images/daily-banner/circle-3.png);
        animation-delay: .9s; }
        .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-circles .bxst-scene-circle-3:after {
          content: '';
          display: block;
          position: absolute;
          width: 289px;
          height: 289px;
          top: -11px;
          left: -11px;
          background: url(/bitrix/templates/bitrix24_2017/css/../images/daily-banner/circle-3-1.png) no-repeat; }
      .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-circles .bxst-scene-circle-4 {
        width: 159px;
        height: 158px;
        top: 185px;
        left: 461px;
        background-image: url(/bitrix/templates/bitrix24_2017/css/../images/daily-banner/circle-4.png);
        animation-delay: 1.2s; }
    .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-persons {
      position: absolute;
      width: 516px;
      height: 269px;
      top: 37px;
      left: 69px;
      background: url(/bitrix/templates/bitrix24_2017/css/../images/daily-banner/persons.png) no-repeat;
      z-index: 1;
      animation-delay: 1.8s; }
    .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-laptop {
      position: absolute;
      width: 372px;
      top: 174px;
      left: 0;
      z-index: 2; }
    .bxst-daily-banner .bxst-daily-banner-scene .bxst-scene-laptop-picture {
      display: block;
      margin: 0;
      padding: 0;
      max-width: 100%; }
    .bxst-daily-banner .bxst-daily-banner-scene.animated.startDailyScene {
      opacity: 1; }
      .bxst-daily-banner .bxst-daily-banner-scene.animated.startDailyScene .bxst-scene-circle-1,
      .bxst-daily-banner .bxst-daily-banner-scene.animated.startDailyScene .bxst-scene-circle-2,
      .bxst-daily-banner .bxst-daily-banner-scene.animated.startDailyScene .bxst-scene-circle-3,
      .bxst-daily-banner .bxst-daily-banner-scene.animated.startDailyScene .bxst-scene-circle-4,
      .bxst-daily-banner .bxst-daily-banner-scene.animated.startDailyScene .bxst-scene-persons {
        animation-name: fadeIn;
        animation-duration: 1s;
        animation-fill-mode: both; }

/*--------------------------------------------
PRICE TABLE
--------------------------------------------*/
.bxst-prices-table-main-section {
  padding: 110px 0 100px; }
  .bxst-prices-table-main-section .bxst-double-header {
    padding-bottom: 44px; }

.bxst-prices-table {
  display: flex;
  position: relative; }
  .bxst-prices-table .bxst-prices-table-outer {
    display: flex;
    flex-wrap: wrap;
    flex: 1;
    position: relative; }
  .bxst-prices-table .bxst-prices-table-inner {
    width: 100%;
    box-sizing: border-box; }
  .bxst-prices-table .bxst-prices-table-row {
    display: flex;
    justify-content: space-between;
    flex: 1 0 100%; }
    .bxst-prices-table .bxst-prices-table-row:first-child .bxst-prices-table-body {
      border-top: 2px solid #e8eef1;
      border-radius: 8px 8px 0 0; }
    .bxst-prices-table .bxst-prices-table-row:last-child .bxst-prices-table-body {
      border-bottom: 2px solid #e8eef1;
      border-radius: 0 0 8px 8px; }
  .bxst-prices-table .bxst-prices-table-item {
    flex: 1 0 0;
    text-align: center; }
  .bxst-prices-table .bxst-prices-table-sidebar,
  .bxst-prices-table .bxst-prices-table-body {
    display: flex;
    flex-direction: row; }
  .bxst-prices-table .bxst-prices-table-sidebar {
    flex: 1 0 100%;
    max-width: 300px;
    text-align: left; }
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-sidebar-title {
      color: #a2a4a6;
      font-size: 12px;
      letter-spacing: 1px; }
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-users,
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-business-users,
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-ssd,
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-features,
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-price,
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-extra {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      padding: 12px 0;
      text-transform: uppercase; }
      .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-users:before,
      .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-business-users:before,
      .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-ssd:before,
      .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-features:before,
      .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-price:before,
      .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-extra:before {
        content: '';
        display: block;
        width: 24px;
        height: 22px;
        margin-right: 8px; }
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-users:before {
      background: url(/images/svg/icon-user.svg) no-repeat; }
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-business-users:before {
      background: url(/images/svg/icon-business-user.svg) no-repeat; }
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-ssd:before {
      background: url(/images/svg/icon-cloud.svg) no-repeat; }
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-features:before {
      background: url(/images/svg/icon-case.svg) no-repeat; }
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-price {
      align-items: center; }
      .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-price:before {
        background: url(/images/svg/icon-price.svg) no-repeat; }
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-extra {
      align-items: flex-start; }
      .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-extra:before {
        background: url(/images/svg/icon-percent.svg) no-repeat; }
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-price-selection {
      margin-left: 20px; }
    .bxst-prices-table .bxst-prices-table-sidebar .bxst-prices-table-sub-description {
      margin: 0 0 10px;
      padding: 0 55px 0 30px;
      color: #a2a4a6;
      font: 12px/14px "Geometria Light", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
      letter-spacing: 0;
      text-transform: none; }
  .bxst-prices-table .bxst-prices-table-sidebar-column {
    flex-direction: column; }
  .bxst-prices-table .bxst-prices-table-sidebar-column-item {
    margin: 5px 25px 0 0;
    box-sizing: border-box; }
    .bxst-prices-table .bxst-prices-table-sidebar-column-item .bxst-btn {
      width: 100%; }
  .bxst-prices-table .bxst-prices-table-body {
    width: 100%;
    flex: 1 0 calc(100% - 300px);
    border-left: 2px solid #e8eef1;
    border-right: 2px solid #e8eef1;
    box-sizing: border-box; }
    .bxst-prices-table .bxst-prices-table-body.bxst-prices-table-body-label:before {
      content: '';
      display: block;
      position: absolute;
      width: 87px;
      height: 89px;
      background: url(/images/svg/crm-price-table-lable.svg) no-repeat; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-body-prices {
      position: relative; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-item {
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 1;
      position: relative;
      box-sizing: border-box;
      z-index: 1; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-item-bordered {
      margin: 5px 20px 0;
      border-top: 1px solid #e8eef1; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-label {
      display: block;
      position: absolute;
      margin: auto;
      top: -14px;
      padding: 6px 10px;
      background: #b41818;
      border-radius: 5px;
      color: #fff;
      font: 12px/12px "Geometria Medium", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
      text-decoration: none;
      text-transform: uppercase; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-users {
      display: flex;
      align-items: center;
      justify-content: center; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-users-count {
      padding: 5px 10px;
      border: 2px solid transparent;
      box-sizing: border-box;
      cursor: pointer; }
      .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-users-count.active {
        border: 2px solid #2ecaf7;
        border-radius: 30px; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-price {
      flex: 1;
      padding: 23px 0 30px;
      font: 24px/24px "Geometria Light", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
      text-transform: none;
      text-decoration: none; }
      .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-price.success {
        color: #b7db2a; }
      .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-price.primary {
        color: #2ecaf7; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-price-base {
      color: #a2a4a6;
      font-size: 11px;
      text-decoration: line-through;
      white-space: nowrap; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-price-discont {
      display: flex;
      align-items: center;
      justify-content: center;
      font: 24px/24px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-price-discont-lable {
      height: 24px;
      margin: 0 0 0 10px;
      padding: 0 10px;
      background-color: #cfee52;
      border-radius: 5px;
      font-size: 12px;
      line-height: 24px;
      vertical-align: middle; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-buy-btn-outer {
      display: flex; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-buy {
      flex: 1;
      padding: 0 18px 18px; }
      .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-buy .bxst-btn {
        display: block;
        flex: 1; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-buy-position {
      padding: 0 18px; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-features-icon.checked {
      display: inline-block;
      width: 24px;
      height: 24px;
      background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/icon-check.svg) no-repeat; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-features-icon.unchecked {
      display: inline-block;
      width: 24px;
      height: 24px;
      background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/icon-uncheck.svg) no-repeat; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section {
      flex: 1 0 100%;
      box-sizing: border-box; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-outer {
      display: flex;
      flex-wrap: wrap;
      margin: 12px 20px 20px;
      background: #e8eef1;
      border-radius: 5px;
      box-sizing: border-box; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-item {
      display: flex;
      flex: 1 0 100%;
      width: 100%;
      padding: 10px 0 10px 14px;
      box-sizing: border-box; }
      .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-item:last-child .bxst-prices-table-extra-section-content {
        border: none; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 60px;
      height: 60px;
      background: #fff;
      border-radius: 100%; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-icon-picture {
      width: 25px;
      height: 25px; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-content {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex: 1;
      margin-left: 15px;
      padding-right: 27px;
      border-bottom: 1px solid #d8e0e3;
      box-sizing: border-box; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-description {
      text-align: left; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-lable {
      color: #b7db2a;
      font: 10px/10px "Geometria Medium", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
      text-transform: uppercase; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-title {
      margin-top: 5px;
      color: #333;
      font: 18px/24px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
      letter-spacing: .1px; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-link {
      text-transform: uppercase; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-link-item {
      font: 14px/14px "Geometria Medium", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
    .bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-list {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column; }
    .bxst-prices-table .bxst-prices-table-body .bxst-extra-list-item {
      display: flex;
      align-items: center;
      justify-content: center;
      color: #999;
      font: 14px/24px "Geometria Light", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
      .bxst-prices-table .bxst-prices-table-body .bxst-extra-list-item.success {
        color: #333; }
        .bxst-prices-table .bxst-prices-table-body .bxst-extra-list-item.success:after {
          content: '';
          display: block;
          margin-left: 5px;
          width: 11px;
          height: 15px;
          background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/icon-checked.svg) no-repeat; }
  .bxst-prices-table .bxst-prices-table-title {
    padding: 27px 0 0;
    font: 24px/24px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
  .bxst-prices-table .bxst-prices-table-description {
    padding: 17px 30px 16px;
    color: #a2a4a6;
    font: 12px/17px "Geometria Light", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
  .bxst-prices-table .i-hover {
    display: block;
    position: absolute;
    height: 100%;
    left: 0;
    background: transparent;
    border: 2px solid #2ecaf7;
    border-radius: 5px;
    box-sizing: border-box;
    opacity: 0;
    transition: 200ms left linear, 200ms opacity linear;
    z-index: 0; }
  .bxst-prices-table .bxst-prices-table-stick {
    display: flex;
    align-items: center;
    justify-content: space-around;
    position: fixed;
    width: 100%;
    height: 0;
    top: 75px;
    left: 0;
    right: 0;
    margin: auto;
    padding: 0 15px;
    background: #f1f5f6;
    box-shadow: 0 4px 10px -1px #9c9c9c;
    box-sizing: border-box;
    overflow: hidden;
    transition: 200ms height linear;
    z-index: 9; }
    .bxst-prices-table .bxst-prices-table-stick.is-active {
      height: auto; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-stick-outer {
      display: flex;
      align-items: center;
      justify-content: space-around;
      flex-wrap: wrap;
      max-width: 1210px;
      width: 100%;
      box-sizing: border-box; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-row {
      display: flex;
      align-items: center;
      justify-content: space-around; }
      .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-row:first-child .bxst-prices-table-body, .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-row:last-child .bxst-prices-table-body {
        border: none; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-stick-content {
      display: flex;
      align-items: center;
      justify-content: space-around;
      flex: 1 0 100%;
      box-sizing: border-box; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-stick-selector {
      flex: 1 0 100%;
      max-width: 300px;
      text-align: left;
      text-transform: uppercase; }
      .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-stick-selector .bxst-header-site-selector {
        padding-right: 20px;
        box-sizing: border-box; }
      .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-stick-selector .bxst-select {
        width: 100%; }
      .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-stick-selector .bxst-select-phantom-choosed {
        overflow: inherit; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-stick-table {
      display: flex;
      align-items: center;
      justify-content: space-around;
      flex-wrap: wrap;
      flex: 1;
      box-sizing: border-box; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-body {
      display: flex;
      align-items: normal;
      justify-content: space-around;
      border: none;
      box-sizing: border-box; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-item {
      border-left: 1px solid #e6e6e6; }
      .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-item:last-child {
        border-right: 1px solid #e6e6e6; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-price {
      flex: 1;
      padding: 10px 0;
      font: 16px/24px "Geometria Light", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
      font-weight: bold;
      text-transform: none;
      text-decoration: none;
      text-align: center; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-price-outer {
      display: flex;
      align-items: center;
      justify-content: space-around;
      flex: 1; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-price-content {
      text-align: right; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-price-tariff {
      margin-right: 15px;
      color: #a2a4a6; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-price-base {
      color: #a2a4a6;
      font-size: 11px;
      font-weight: normal;
      line-height: 11px;
      text-decoration: line-through; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-price-discont {
      display: flex;
      align-items: center;
      justify-content: center;
      font: 16px/24px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
      font-weight: normal; }
    .bxst-prices-table .bxst-prices-table-stick .bxst-prices-table-price-discont-lable {
      height: 20px;
      margin: 0 0 0 10px;
      padding: 0 10px;
      background-color: #cfee52;
      border-radius: 5px;
      font-size: 12px;
      line-height: 20px;
      vertical-align: middle; }

.bxst-prices-table-stick-dropdown {
  box-shadow: inset 0px 0px 2px 0px #9c9c9c; }

/*--------------------------------------------
START VIDEO BANNER
--------------------------------------------*/
.bxst-start-video-banner-title {
  color: #fff;
  letter-spacing: -1px; }

.bxst-start-video-banner {
  position: relative;
  padding-top: 51px;
  padding-bottom: 125px;
  overflow: hidden; }

.bxst-start-video-banner-box {
  position: relative;
  max-width: 838px;
  margin: 21px auto 0;
  border: 5px solid #fff;
  border-radius: 4px;
  box-shadow: inset 0 0 10px #000;
  z-index: 5; }
  .bxst-start-video-banner-box .bxst-start-video-banner-box-inner {
    position: relative;
    padding-bottom: 56.25%;
    height: 0; }
    .bxst-start-video-banner-box .bxst-start-video-banner-box-inner iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

.bxst-start-video-banner-scene {
  position: absolute;
  left: 50%;
  bottom: 0;
  opacity: 0;
  z-index: 0; }
  .bxst-start-video-banner-scene .bxst-banner-scene-screen-1,
  .bxst-start-video-banner-scene .bxst-banner-scene-screen-2,
  .bxst-start-video-banner-scene .bxst-banner-scene-screen-3 {
    position: absolute;
    background: no-repeat; }
  .bxst-start-video-banner-scene .bxst-banner-scene-screen-1 {
    width: 603px;
    height: 354px;
    left: -402px;
    bottom: 193px;
    background-image: url(/bitrix/templates/bitrix24_2017/css/../images/start-video-banner/layer-1.png);
    z-index: 3;
    animation-delay: .3s; }
  .bxst-start-video-banner-scene .bxst-banner-scene-screen-2 {
    width: 868px;
    height: 509px;
    left: -401px;
    bottom: 31px;
    background-image: url(/bitrix/templates/bitrix24_2017/css/../images/start-video-banner/layer-2.png);
    z-index: 2;
    animation-delay: .6s; }
    .bxst-start-video-banner-scene .bxst-banner-scene-screen-2:before {
      content: '';
      position: absolute;
      width: 604px;
      height: 372px;
      top: 43px;
      left: 47px;
      background: url(/bitrix/templates/bitrix24_2017/css/../images/start-video-banner/shadow-1.png) no-repeat;
      animation-delay: .3s; }
  .bxst-start-video-banner-scene .bxst-banner-scene-screen-3 {
    width: 1403px;
    height: 433px;
    left: -682px;
    bottom: 0;
    background-image: url(/bitrix/templates/bitrix24_2017/css/../images/start-video-banner/layer-3.png);
    z-index: 1;
    animation-delay: .9s; }
    .bxst-start-video-banner-scene .bxst-banner-scene-screen-3:before {
      content: '';
      position: absolute;
      width: 850px;
      height: 470px;
      top: 1px;
      left: 280px;
      background: url(/bitrix/templates/bitrix24_2017/css/../images/start-video-banner/shadow-2.png) no-repeat;
      animation-delay: .6s; }
  .bxst-start-video-banner-scene.animated.startVideoBannerSceneFirst {
    animation-name: fadeIn;
    animation-duration: .5s;
    animation-fill-mode: both; }
  .bxst-start-video-banner-scene.animated.startVideoBannerScene {
    opacity: 1; }
    .bxst-start-video-banner-scene.animated.startVideoBannerScene .bxst-banner-scene-screen-1,
    .bxst-start-video-banner-scene.animated.startVideoBannerScene .bxst-banner-scene-screen-2,
    .bxst-start-video-banner-scene.animated.startVideoBannerScene .bxst-banner-scene-screen-2:before,
    .bxst-start-video-banner-scene.animated.startVideoBannerScene .bxst-banner-scene-screen-3,
    .bxst-start-video-banner-scene.animated.startVideoBannerScene .bxst-banner-scene-screen-3:before {
      animation-name: slideInUp;
      animation-duration: 1s;
      animation-fill-mode: both; }

/*--------------------------------------------
ARTICLES SLIDER
--------------------------------------------*/
.bxst-start-main-news {
  padding: 108px 0 100px 0; }
  .bxst-start-main-news .bxst-start-main-news-title {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 61px; }
  .bxst-start-main-news .bxst-start-main-news-subscribe-icons {
    display: inline-flex;
    align-items: center; }
  .bxst-start-main-news .bxst-start-main-news-subscribe-icons-item {
    display: block;
    margin: auto 0 auto 10px; }
    .bxst-start-main-news .bxst-start-main-news-subscribe-icons-item.rss {
      width: 21px;
      height: 21px;
      background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/rss.png) no-repeat; }
    .bxst-start-main-news .bxst-start-main-news-subscribe-icons-item.mail {
      width: 27px;
      height: 20px;
      background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/mail.png) no-repeat; }
  .bxst-start-main-news .bxst-articles-slider-list.bxst-articles-not-loaded {
    display: flex;
    justify-content: space-around; }
  .bxst-start-main-news .bxst-articles-slider-list-item:nth-child(n) {
    display: none; }
  .bxst-start-main-news .bxst-articles-slider-list-item:nth-child(-n + 3) {
    display: flex; }
  .bxst-start-main-news .bxst-articles-slider-list {
    position: relative;
    padding: 0 65px;
    box-sizing: border-box; }
    .bxst-start-main-news .bxst-articles-slider-list .owl-stage-outer {
      z-index: 1; }
    .bxst-start-main-news .bxst-articles-slider-list .owl-nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: absolute;
      width: 100%;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      z-index: 0; }
      .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-prev,
      .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-next {
        position: relative;
        width: 9px;
        height: 20px;
        margin: 0 15px;
        font-size: 0; }
        .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-prev:before, .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-prev:after,
        .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-next:before,
        .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-next:after {
          content: '';
          display: block;
          position: absolute;
          width: 2px;
          height: 12px;
          background: #d4d4d4;
          border-radius: 5px;
          transition: 160ms background linear; }
        .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-prev:hover:before, .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-prev:hover:after,
        .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-next:hover:before,
        .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-next:hover:after {
          background: #2ecaf7; }
      .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-prev:before, .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-prev:after {
        left: 0; }
      .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-prev:before {
        top: 0;
        transform: rotate(45deg); }
      .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-prev:after {
        bottom: 0;
        transform: rotate(-45deg); }
      .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-next:before, .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-next:after {
        right: 0; }
      .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-next:before {
        top: 0;
        transform: rotate(-45deg); }
      .bxst-start-main-news .bxst-articles-slider-list .owl-nav .owl-next:after {
        bottom: 0;
        transform: rotate(45deg); }
  .bxst-start-main-news .bxst-articles-slider-list-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 25px;
    text-align: center;
    box-sizing: border-box; }
  .bxst-start-main-news .bxst-articles-slider-list-item-picture {
    position: relative;
    width: 120px;
    height: 120px;
    margin: auto;
    border-radius: 100%;
    overflow: hidden; }
    .bxst-start-main-news .bxst-articles-slider-list-item-picture img.bxst-articles-slider-list-item-picture-image {
      display: block;
      position: absolute;
      width: auto;
      height: auto;
      min-width: 100%;
      min-height: 100%;
      top: -50%;
      left: -50%;
      right: -50%;
      bottom: -50%;
      margin: auto;
      padding: 0; }
  .bxst-start-main-news .bxst-articles-slider-list-item-title {
    margin-top: 11px;
    color: #333;
    font: 18px/27px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
  .bxst-start-main-news .bxst-articles-slider-list-item-date {
    margin-top: 15px;
    color: #a2a4a6;
    font: 12px/12px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none; }
  .bxst-start-main-news .bxst-articles-slider-list-item-more {
    margin-top: 17px; }
  .bxst-start-main-news .bxst-articles-slider-list-item-more-link {
    font: 14px/14px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    text-transform: uppercase;
    text-decoration: none; }
  .bxst-start-main-news .bxst-start-main-news-more {
    margin-top: 50px;
    text-align: center; }
  .bxst-start-main-news .bxst-start-main-news-subscribe {
    text-align: center; }
  .bxst-start-main-news .bxst-start-main-news-subscribe {
    margin-top: 26px; }
  .bxst-start-main-news .bxst-start-main-news-subscribe-link {
    font: 14px/14px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    text-transform: uppercase;
    text-decoration: none; }

/*--------------------------------------------
PUBLICATION
--------------------------------------------*/
.bxst-main-publications-section {
  padding: 27px 0 23px;
  background: #f1f5f6; }

.bxst-main-publications {
  display: flex;
  align-items: center;
  justify-content: center; }

.bxst-main-publications-title {
  max-width: 260px;
  margin-right: 6px;
  color: #6b8189;
  font: 19px/28px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }

.bxst-main-publications-list {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.bxst-main-publications-item-pictire {
  margin: 0 35px;
  opacity: 0; }

.bxst-main-publications-item-pictire-image {
  display: block;
  margin: 0;
  padding: 0; }

.bxst-main-publications-scene.animated.startPublicationsScene {
  			/*.bxst-main-publications-scene-item-1 {
  				animation-delay: .3s;

  				.bxst-main-publications-item-pictire {
  					animation-delay: .3s;
  				}
  			}

  			.bxst-main-publications-scene-item-2 {
  				animation-delay: .6s;

  				.bxst-main-publications-item-pictire {
  					animation-delay: .6s;
  				}
  			}

  			.bxst-main-publications-scene-item-3 {
  				animation-delay: .9s;

  				.bxst-main-publications-item-pictire {
  					animation-delay: .9s;
  				}
  			}

  			.bxst-main-publications-scene-item-4 {
  				animation-delay: 1.2s;

  				.bxst-main-publications-item-pictire {
  					animation-delay: 1.2s;
  				}
  			}*/ }
  .bxst-main-publications-scene.animated.startPublicationsScene .bxst-main-publications-scene-item {
    animation-name: slideInRight;
    animation-duration: 1s;
    animation-fill-mode: both; }
    .bxst-main-publications-scene.animated.startPublicationsScene .bxst-main-publications-scene-item .bxst-main-publications-item-pictire {
      animation-name: fadeIn;
      animation-duration: 1s;
      animation-fill-mode: both; }

/*--------------------------------------------
SIMPLE CONTENT AREA
--------------------------------------------*/
.bxst-main-simple-content-area {
  padding: 55px 0 0; }

.bxst-simple-content-area {
  display: flex;
  justify-content: space-between; }
  .bxst-simple-content-area.reverse {
    flex-direction: row-reverse; }

.bxst-simple-content-area-media {
  display: flex;
  align-items: flex-end; }

.bxst-simple-content-area-media-picture {
  display: block;
  margin: 0;
  padding: 0; }

.bxst-simple-content-area-conten {
  max-width: 690px;
  margin-bottom: 50px;
  font: 18px/30px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
  text-align: left; }
  .bxst-simple-content-area-conten .bxst-block-title {
    padding-bottom: 12px;
    text-align: left; }

.bxst-simple-content-area-conten-button {
  margin-top: 28px; }

/*--------------------------------------------
NEAREST EVENT BANNER
--------------------------------------------*/
.bxst-nearest-event-banner {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.bxst-nearest-event-banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 50px;
  margin-bottom: 50px; }

.bxst-nearest-event-banner-calendar {
  display: flex;
  align-items: flex-end;
  padding: 6px 13px 20px 21px;
  border: 2px solid #7e929b;
  border-radius: 5px;
  color: #6b8089;
  font-size: 48px;
  line-height: 50px;
  box-sizing: border-box; }
  .bxst-nearest-event-banner-calendar:before {
    content: '';
    display: block;
    position: relative;
    width: 32px;
    height: 29px;
    margin-right: 16px;
    margin-bottom: 3px;
    background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/calendar.svg) no-repeat; }

.bxst-nearest-event-banner-description {
  margin-left: 30px; }

.bxst-nearest-event-banner-type {
  color: #a2a4a6;
  font: 12px/13px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase; }

.bxst-nearest-event-banner-title {
  font: 24px/30px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }

.bxst-nearest-event-banner-label {
  position: relative;
  margin-top: -72px; }

.bxst-nearest-event-banner-label-outer {
  position: relative;
  top: 23px;
  padding: 9px 45px 25px 26px;
  background: #f1f5be; }
  .bxst-nearest-event-banner-label-outer:before {
    content: '';
    position: absolute;
    width: calc(100% - 22px);
    height: 22px;
    left: 0;
    bottom: 100%;
    background: #f1f5be;
    box-sizing: border-box; }
  .bxst-nearest-event-banner-label-outer:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    right: 0;
    bottom: 100%;
    border-bottom: 22px solid #e8d82a;
    border-right: 22px solid transparent;
    box-sizing: border-box; }

.bxst-nearest-event-banner-label-subtitle {
  color: #a2a4a6;
  font: 12px/14px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
  letter-spacing: 1px; }

.bxst-nearest-event-banner-label-title {
  margin-top: 4px;
  color: #262626;
  font: 18px/30px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }

.bxst-nearest-event-banner-label-link-cnt {
  margin-top: 15px; }

.bxst-nearest-event-banner-label-link {
  font-size: 14px;
  text-transform: uppercase; }

/*--------------------------------------------
SECTION HEADER
--------------------------------------------*/
.bxst-section-header {
  display: flex;
  justify-content: center; }

.bxst-section-header-outer {
  display: flex;
  flex: 0 0 100%;
  max-width: 1180px;
  /* margin: auto; */
  padding: 41px 15px 47px;
  box-sizing: border-box; }

.bxst-section-header-inner {
  display: flex;
  justify-content: space-between;
  flex: 1 1 auto; }

.bxst-section-header-content {
  max-width: 500px; }

.bxst-section-header-content-title {
  color: #fff;
  font: 48px/48px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }

.bxst-section-header-content-description {
  margin-top: 40px;
  color: #fff;
  font: 20px/30px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }

.bxst-section-header-content-button {
  margin-top: 59px; }

.bxst-section-header-media {
  display: flex;
  justify-content: flex-end;
  flex: 1 1 auto; }

.bxst-section-header-media-inner {
  position: relative;
  max-width: 480px;
  flex: 0 0 480px;
  	/*&:before {
  		content: '';
  		display: block;
  		position: absolute;
  		width: 48px;
  		height: 48px;
  		top: 0;
  		left: 0;
  		right: 0;
  		bottom: 0;
  		margin: auto;
  		background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/icon-play.svg) no-repeat;
  		transition: 160ms transform linear;
  	}

  	&:hover {
  		&:before {
  			transform: scale(1.1);
  		}
  	}*/ }
  .bxst-section-header-media-inner .bxst-youtube-video-player-body {
    position: relative;
    max-width: 480px;
    max-height: 270px;
    padding-bottom: 56.25%;
    background: transparent;
    box-shadow: 3px 3px 15px 0 #404040;
    box-sizing: border-box; }
    .bxst-section-header-media-inner .bxst-youtube-video-player-body iframe {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      margin: auto;
      padding: 0; }

.bxst-section-header-media-inner-picture {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 5px;
  box-sizing: border-box; }

/*--------------------------------------------
SECTION HEADER MENU
--------------------------------------------*/
.bxst-section-header-menu {
  display: flex;
  justify-content: center;
  position: relative;
  border-top: 1px solid #fff; }
  .bxst-section-header-menu:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 5px;
    right: 0;
    bottom: 0;
    background: transparent;
    background: -moz-linear-gradient(-45deg, transparent 35%, #fff 100%);
    background: -webkit-linear-gradient(-45deg, transparent 35%, #fff 100%);
    background: linear-gradient(135deg, transparent 35%, #fff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='transparent', endColorstr='#fff', GradientType=1);
    box-sizing: border-box; }

.bxst-section-header-menu-list {
  display: flex;
  align-items: center;
  justify-content: space-around;
  max-width: 1180px;
  width: 100%;
  box-sizing: border-box; }

.bxst-section-header-menu-list-item {
  flex: 1;
  text-align: center;
  box-sizing: border-box;
  transition: 160ms background linear; }
  .bxst-section-header-menu-list-item .bxst-section-header-menu-list-item-link {
    display: block;
    padding: 13px 15px 17px;
    color: #fff;
    font-size: 18px;
    line-height: 30px; }
    .bxst-section-header-menu-list-item .bxst-section-header-menu-list-item-link:hover {
      color: #fff; }
  .bxst-section-header-menu-list-item:hover {
    background: rgba(255, 255, 255, 0.3); }
  .bxst-section-header-menu-list-item.active {
    background: #fff; }
    .bxst-section-header-menu-list-item.active .bxst-section-header-menu-list-item-link {
      color: #333; }
  .bxst-section-header-menu-list-item .categoryMenuAnimation {
    animation-name: categoryMenuAnimation;
    animation-duration: .7s;
    animation-fill-mode: both; }

@-webkit-keyframes categoryMenuAnimation {
  0% {
    background: rgba(255, 255, 255, 0); }
  50% {
    background: rgba(255, 255, 255, 0.3); }
  100% {
    background: rgba(255, 255, 255, 0); } }
@keyframes categoryMenuAnimation {
  0% {
    background: rgba(255, 255, 255, 0); }
  50% {
    background: rgba(255, 255, 255, 0.3); }
  100% {
    background: rgba(255, 255, 255, 0); } }
/*--------------------------------------------
SECTION FEATURES BACKGROUND
--------------------------------------------*/
.bxst-section-position {
  position: relative; }

.bxst-section-features-background {
  position: absolute;
  width: 100%;
  box-sizing: border-box;
  z-index: -1; }
  .bxst-section-features-background .bxst-section-background-field.bxst-section-background-left-1 {
    position: absolute;
    width: 476px;
    height: 741px;
    top: 0;
    left: 0;
    background: url(/bitrix/templates/bitrix24_2017/css/../images/background/left-flower.png) no-repeat; }
  .bxst-section-features-background .bxst-section-background-field.bxst-section-background-right-1 {
    position: absolute;
    width: 846px;
    height: 624px;
    top: 0;
    right: 0;
    background: url(/bitrix/templates/bitrix24_2017/css/../images/background/right-laptop.png) no-repeat; }
    .bxst-section-features-background .bxst-section-background-field.bxst-section-background-right-1 .bxst-section-background-right-1-picture {
      position: absolute;
      top: 103px;
      right: 0;
      width: 490px;
      height: 355px;
      z-index: -2; }

/*--------------------------------------------
SECTION FEATURES PREWIEV
--------------------------------------------*/
.bxst-section-features-preview {
  max-width: 980px;
  margin: auto;
  padding: 101px 0 58px;
  font: 18px/27px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
  .bxst-section-features-preview .bxst-section-features-preview-inner {
    max-width: 550px; }
  .bxst-section-features-preview .bxst-block-title {
    margin-bottom: 20px;
    text-align: left; }
  .bxst-section-features-preview .bxst-section-features-preview-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 510px;
    margin: 70px 0 0;
    padding: 0;
    list-style: none; }
  .bxst-section-features-preview .bxst-section-features-preview-list-item {
    max-width: 41%;
    margin-bottom: 52px; }
  .bxst-section-features-preview .bxst-section-features-preview-list-item-icon .bxst-section-features-preview-list-item-icon-image {
    display: block;
    margin: 0;
    padding: 0; }
  .bxst-section-features-preview .bxst-section-features-preview-list-item-content {
    margin-top: 10px; }

/*--------------------------------------------
SECTION FEATURES SECTION
--------------------------------------------*/
.bxst-features-section {
  display: flex;
  justify-content: flex-end; }
  .bxst-features-section .bxst-block-title {
    text-align: left; }
  .bxst-features-section .bxst-features-section-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    max-width: 91%;
    flex: 0 0 91%; }
  .bxst-features-section .bxst-features-section-content {
    flex: 1;
    max-width: 500px;
    padding: 0 50px 0 0;
    font: 18px/27px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
  .bxst-features-section .bxst-features-section-media {
    flex: 1; }
    .bxst-features-section .bxst-features-section-media .bxst-youtube-video-player-body {
      position: relative;
      max-width: 910px;
      padding-bottom: 56.25%;
      background: transparent;
      border-radius: 5px;
      box-sizing: border-box; }
      .bxst-features-section .bxst-features-section-media .bxst-youtube-video-player-body iframe {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        margin: auto;
        padding: 0; }
  .bxst-features-section .bxst-features-section-media-content {
    position: relative;
    max-width: 910px;
    flex: 1; }
  .bxst-features-section .bxst-features-section-media-image {
    display: block;
    max-width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box; }
  .bxst-features-section.reverse {
    justify-content: flex-start; }
    .bxst-features-section.reverse .bxst-features-section-inner {
      flex-direction: row-reverse; }
    .bxst-features-section.reverse .bxst-features-section-content {
      padding: 0 0 0 50px; }
  .bxst-features-section.bxst-features-section-bg-1 {
    padding-top: 75px;
    padding-bottom: 122px;
    background: url(/bitrix/templates/bitrix24_2017/css/../images/background/features-bg-1.png) no-repeat;
    background-position-x: center;
    background-size: contain; }
  .bxst-features-section.bxst-features-section-bg-2 {
    padding-top: 69px;
    padding-bottom: 82px;
    background: url(/bitrix/templates/bitrix24_2017/css/../images/background/features-bg-2.png) no-repeat;
    background-position-x: center;
    background-size: contain; }
  .bxst-features-section.bxst-features-section-bg-3 {
    margin-bottom: 58px;
    background: url(/bitrix/templates/bitrix24_2017/css/../images/background/features-bg-3.png) no-repeat;
    background-position-x: center;
    background-size: contain; }

/*--------------------------------------------
SIMPLE CONTENT AREA
--------------------------------------------*/
.bxst-simple-content-area .bxst-block-title {
  text-align: left; }
.bxst-simple-content-area .bxst-simple-content-area-list {
  list-style: none;
  margin: 0;
  padding: 0; }
  .bxst-simple-content-area .bxst-simple-content-area-list li {
    font: 18px/27px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    box-sizing: border-box; }
    .bxst-simple-content-area .bxst-simple-content-area-list li:before {
      content: '';
      display: inline-block;
      position: relative;
      top: -3px;
      margin-right: 36px;
      width: 5px;
      height: 5px;
      background: #2ecaf7;
      border-radius: 100%; }

.bxst-simple-content-area-features {
  padding-top: 8px; }
  .bxst-simple-content-area-features .bxst-simple-content-area-list {
    margin: 40px 0 50px; }

/*--------------------------------------------
HELPDESK SECTION
--------------------------------------------*/
.bxst-helpdesk-features-section {
  padding-top: 17px; }
  .bxst-helpdesk-features-section .bxst-helpdesk-section {
    padding-top: 63px;
    padding-bottom: 18px; }

.bxst-helpdesk-section-inner {
  display: flex;
  justify-content: space-between; }

.bxst-helpdesk-section-title {
  flex: 0 0 31%;
  box-sizing: border-box; }
  .bxst-helpdesk-section-title .bxst-block-title {
    text-align: left; }

.bxst-helpdesk-section-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex: 1 1 69%;
  max-width: 69%;
  margin-top: 19px;
  box-sizing: border-box; }

.bxst-helpdesk-section-list-item {
  display: flex;
  align-items: center;
  flex: 1 0 50%;
  margin-bottom: 60px;
  color: #333;
  font: 24px/27px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
  .bxst-helpdesk-section-list-item:before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    margin-right: 17px;
    background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/icon-bullit.svg) no-repeat; }

.bxst-helpdesk-section-list-item-inner {
  max-width: 340px; }

.bxst-helpdesk-section-list-item-link {
  display: inline-block;
  position: relative;
  cursor: pointer; }
  .bxst-helpdesk-section-list-item-link .bxst-helpdesk-section-list-item-label {
    display: block;
    position: absolute;
    top: -10px;
    left: 0;
    color: #c95095;
    font: 10px/10px "Geometria Medium", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    text-transform: uppercase; }
    .bxst-helpdesk-section-list-item-link .bxst-helpdesk-section-list-item-label.success {
      color: #b7db2a; }
  .bxst-helpdesk-section-list-item-link .bxst-helpdesk-section-list-item-inner-arrow {
    display: inline-block;
    position: relative;
    width: 3px;
    height: 12px;
    margin-left: 15px;
    font-size: 0; }
    .bxst-helpdesk-section-list-item-link .bxst-helpdesk-section-list-item-inner-arrow:before, .bxst-helpdesk-section-list-item-link .bxst-helpdesk-section-list-item-inner-arrow:after {
      content: '';
      display: block;
      position: absolute;
      width: 2px;
      height: 8px;
      background: #2ecaf7;
      border-radius: 5px; }
    .bxst-helpdesk-section-list-item-link .bxst-helpdesk-section-list-item-inner-arrow:before {
      top: 0;
      transform: rotate(-45deg); }
    .bxst-helpdesk-section-list-item-link .bxst-helpdesk-section-list-item-inner-arrow:after {
      bottom: 0;
      transform: rotate(45deg); }

/*--------------------------------------------
HELP SLIDE SECTION
--------------------------------------------*/
.side-panel {
  	/*.side-panel-close {
  		width: 36px;
  		height: 36px;
  		top: 22px;
  		left: auto;
  		right: 22px;

  		.side-panel-close-inner {
  			background-color: transparent;
  			border: none;

  			&:before,
  			&:after {
  				background-color: $primaryColor;
  				transition: 160ms background-color linear;
  			}

  			&:hover {
  				&:before,
  				&:after {
  					background-color: $primaryColorHover;
  				}
  			}
  		}
  	}*/ }
  .side-panel .side-panel-container {
    border-radius: 5px 0 0 5px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); }
    .side-panel .side-panel-container .side-panel-content-container {
      overflow: hidden !important; }
  .side-panel .side-panel-content-frame-body {
    width: 100%;
    height: 100%; }
    .side-panel .side-panel-content-frame-body > iframe {
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      border: none;
      overflow: hidden;
      border-radius: 5px 0 0 5px; }

/*--------------------------------------------
COMPANIES COUNT SECTION
--------------------------------------------*/
.bxst-section-companies-count {
  padding: 100px 0 100px;
  background: url(/bitrix/templates/bitrix24_2017/css/../images/background/cloud-5.svg) no-repeat;
  background-position: bottom;
  text-align: center; }
  .bxst-section-companies-count .bxst-section-companies-count-button {
    margin-top: 50px; }

/*--------------------------------------------
YOUTUBE POPUP
--------------------------------------------*/
.bxst-youtube-popup-default.popup-window {
  max-width: 850px;
  width: 100%;
  min-width: 320px;
  padding: 15px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 15px 0 #9c9c9c;
  box-sizing: border-box; }
.bxst-youtube-popup-default .popup-window-content {
  position: relative;
  padding-bottom: 56.25%;
  background: transparent;
  border-radius: 5px;
  box-sizing: border-box; }
  .bxst-youtube-popup-default .popup-window-content iframe {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    padding: 0; }
.bxst-youtube-popup-default .popup-window-close-icon {
  display: block;
  position: absolute;
  width: 40px;
  height: 40px;
  top: -20px;
  right: -20px;
  background: #fff;
  border-radius: 100%;
  font-size: 0;
  outline: 0;
  opacity: .7;
  transition: 160ms opacity linear;
  box-shadow: 2px 2px 7px 0 #242424;
  cursor: pointer; }
  .bxst-youtube-popup-default .popup-window-close-icon:before, .bxst-youtube-popup-default .popup-window-close-icon:after {
    content: '';
    display: block;
    position: absolute;
    width: 17px;
    height: 2px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: #dcdcdc;
    border-radius: 5px;
    transition: 160ms background linear; }
  .bxst-youtube-popup-default .popup-window-close-icon:before {
    transform: rotate(45deg); }
  .bxst-youtube-popup-default .popup-window-close-icon:after {
    transform: rotate(-45deg); }
  .bxst-youtube-popup-default .popup-window-close-icon:hover {
    opacity: 1; }
    .bxst-youtube-popup-default .popup-window-close-icon:hover:before, .bxst-youtube-popup-default .popup-window-close-icon:hover:after {
      background: #68ddff; }

/*--------------------------------------------
FEATURES TABLE
--------------------------------------------*/
.bxst-features-table-section {
  padding-bottom: 100px; }

.bxst-features-table .bxst-features-table-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 33px 40px 24px;
  background-color: #f1f5f6;
  border-radius: 5px; }
.bxst-features-table .bxst-features-table-header-control-section {
  display: flex;
  align-items: center; }
.bxst-features-table .bxst-features-table-swich-title {
  color: #333;
  font: 14px/14px "Geometria Medium", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
  text-transform: uppercase;
  cursor: pointer; }
  .bxst-features-table .bxst-features-table-swich-title.active {
    color: #2ecaf7;
    cursor: pointer; }
.bxst-features-table .bxst-features-table-swich {
  display: block;
  position: relative;
  width: 44px;
  height: 24px;
  margin: 0 22px; }
.bxst-features-table .bxst-features-table-swich-slider {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  transition: .4s linear;
  cursor: pointer; }
  .bxst-features-table .bxst-features-table-swich-slider:before {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    bottom: 3px;
    background-color: #2ecaf7;
    border-radius: 100%;
    -webkit-transition: .4s;
    transition: .4s; }
.bxst-features-table .bxst-features-table-swich.checked .bxst-features-table-swich-slider:before {
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px); }
.bxst-features-table .bxst-features-table-title {
  display: flex;
  align-items: center;
  flex: 1;
  color: #000;
  font: 24px/24px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
.bxst-features-table .bxst-prices-table-features-icon.checked {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/icon-check.svg) no-repeat; }
.bxst-features-table .bxst-prices-table-features-icon.unchecked {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(/bitrix/templates/bitrix24_2017/css/../images/icons/icon-uncheck.svg) no-repeat; }
.bxst-features-table .bxst-features-table-section-row {
  display: flex;
  align-items: center;
  padding: 44px 41px 52px 41px;
  box-sizing: border-box; }
  .bxst-features-table .bxst-features-table-section-row.hidden {
    display: none; }
.bxst-features-table.equal .n-equal-section {
  display: none; }
.bxst-features-table .bxst-features-table-section-section {
  border-bottom: 1px solid #e8eef1; }
.bxst-features-table .bxst-features-table-section-sidebar {
  flex: 1;
  max-width: 260px; }
.bxst-features-table .bxst-features-table-section-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1; }
.bxst-features-table .bxst-features-table-section-item {
  display: flex;
  justify-content: center;
  flex: 1; }
.bxst-features-table .bxst-features-table-title-bordered {
  padding-bottom: 20px;
  border-bottom: 1px solid #d8d8d8; }
.bxst-features-table .bxst-features-table-section-title {
  cursor: pointer; }
.bxst-features-table .bxst-features-table-section-subsection {
  padding-left: 41px;
  padding-right: 41px;
  background-color: #f1f5f6; }
  .bxst-features-table .bxst-features-table-section-subsection .bxst-features-table-section-sidebar .bxst-features-table-title {
    color: #333;
    font: 18px/24px "Geometria", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif; }
.bxst-features-table .bxst-features-table-title-icon {
  display: inline-block;
  flex: 0 0 10px;
  position: relative;
  width: 10px;
  height: 9px;
  margin: 0 23px 0 7px;
  font-size: 0; }
  .bxst-features-table .bxst-features-table-title-icon:before, .bxst-features-table .bxst-features-table-title-icon:after {
    content: '';
    display: block;
    position: absolute;
    width: 2px;
    height: 12px;
    background: #2ecaf7;
    border-radius: 5px; }
  .bxst-features-table .bxst-features-table-title-icon:before {
    left: 0;
    transform: rotate(45deg); }
  .bxst-features-table .bxst-features-table-title-icon:after {
    right: 0;
    transform: rotate(-45deg); }
.bxst-features-table .hided .bxst-features-table-title-icon:before {
  transform: rotate(-45deg); }
.bxst-features-table .hided .bxst-features-table-title-icon:after {
  transform: rotate(45deg); }
.bxst-features-table .bxst-features-table-section-dropdown {
  padding: 39px 41px;
  background-color: #f1f5f6; }
  .bxst-features-table .bxst-features-table-section-dropdown .bxst-features-table-section-row {
    padding: 0 0 40px; }

/*# sourceMappingURL=content.css.map */

/* End */


/* Start:/bitrix/templates/bitrix24_2017/css/buttons.css?151867890310143*/
/*--------------------------------------------
BASIC TEMPLATE COLORS
--------------------------------------------*/
/*--------------------------------------------
BASIC FONTS FAMILY
--------------------------------------------*/
.bxst-btn {
  display: inline-block;
  position: relative;
  height: 39px;
  padding: 0 40px;
  background-color: #c8d3d8;
  border: none;
  border-radius: 30px;
  color: #333;
  font: normal 14px/39px 'Geometria', 'Helvetica Neue', Arial, 'Helvetica CY', 'Nimbus Sans L', sans-serif;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  box-sizing: border-box;
  outline: none;
  vertical-align: middle;
  cursor: pointer;
  transition: 160ms color linear, 160ms background-color linear, 160ms opacity linear, 160ms padding linear;
  /*--------------------------------------------
  bxst-btn-primary
  --------------------------------------------*/
  /*--------------------------------------------
  bxst-btn-primary-border
  --------------------------------------------*/
  /*--------------------------------------------
  bxst-btn-success
  --------------------------------------------*/
  /*--------------------------------------------
  bxst-btn-success-border
  --------------------------------------------*/
  /*--------------------------------------------
  bxst-btn-slim
  --------------------------------------------*/
  /*--------------------------------------------
  bxst-btn-xs, bxst-btn-sm,
  bxst-btn-sm, bxst-btn-lg
  --------------------------------------------*/ }
  .bxst-btn:hover {
    background-color: #d9e0e4;
    color: #fff; }
  .bxst-btn.bxst-btn-primary {
    background-color: #b41818;
    color: #fff; }
    .bxst-btn.bxst-btn-primary:hover {
      background-color: #9e0502;
      color: #fff; }
  .bxst-btn.bxst-btn-primary-border {
    background-color: transparent;
    border: 2px solid;
    color: #2ecaf7; }
    .bxst-btn.bxst-btn-primary-border:hover {
      background-color: transparent;
      color: #68ddff; }
  .bxst-btn.bxst-btn-success {
    background-color: #b7db2a;
    color: #fff; }
    .bxst-btn.bxst-btn-success:hover {
      background-color: #cfee52;
      color: #fff; }
  .bxst-btn.bxst-btn-success-border {
    background: #bee818;
    background: -moz-linear-gradient(top, #bee818 0%, #93c900 100%);
    background: -webkit-linear-gradient(top, #bee818 0%, #93c900 100%);
    background: linear-gradient(to bottom, #bee818 0%, #93c900 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bee818', endColorstr='#93c900', GradientType=0);
    color: #fff;
    font-family: 'Geometria Medium', 'Helvetica Neue', Arial, 'Helvetica CY', 'Nimbus Sans L', sans-serif;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); }
    .bxst-btn.bxst-btn-success-border:after {
      content: '';
      position: absolute; }
    .bxst-btn.bxst-btn-success-border:hover {
      background: #93c900;
      background: -moz-linear-gradient(top, #93c900 0%, #bee818 100%);
      background: -webkit-linear-gradient(top, #93c900 0%, #bee818 100%);
      background: linear-gradient(to bottom, #93c900 0%, #bee818 100%);
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#93c900', endColorstr='#bee818', GradientType=0);
      color: #fff; }
  .bxst-btn.bxst-btn-slim {
    padding: 0 18px; }
  .bxst-btn.bxst-btn-xs {
    height: 32px;
    font-size: 12px;
    line-height: 32px; }
  .bxst-btn.bxst-btn-sm {
    height: 36px;
    font-size: 13px;
    line-height: 36px; }
  .bxst-btn.bxst-btn-md {
    height: 38px;
    font-size: 14px;
    line-height: 38px; }
  .bxst-btn.bxst-btn-lg {
    height: 48px;
    font-size: 14px;
    line-height: 48px; }

/*.bxst-select {
	display: inline-block;
	position: relative;
	background-color: #f1f5f6;
	border: none;
	border-radius: 18px;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	outline: none;
	vertical-align: middle;
	transition: 160ms color linear, 160ms background-color linear, 160ms opacity linear, 160ms padding linear;

	select,
	.bxst-select-body {
		display: inline-block;
		position: relative;
		margin: 0;
		padding: 11px 29px 11px 12px;
		background: transparent;
		border: none;
		border-radius: 18px;
		color: #333;
		font: normal 14px/14px 'Geometria Medium', 'Helvetica Neue', Arial, 'Helvetica CY', 'Nimbus Sans L', sans-serif;
		text-align: center;
		text-decoration: none;
		box-sizing: border-box;
		outline: none;
		vertical-align: middle;
		cursor: pointer;
	}

	select {
		-webkit-appearance: button;
		-moz-appearance: button;
		appearance: button;
	}

	&:before {
		content: '';
		position: absolute;
		width: 7px;
		height: 4px;
		top: 50%;
		right: 12px;
		margin-top: -2px;
		background: none;
		border: 4px solid transparent;
		border-top-color: #333;
		box-sizing: border-box;
	}
}*/
.bxst-select {
  display: inline-block;
  position: relative;
  min-width: 65px;
  height: 36px;
  background-color: #f1f5f6;
  border: none;
  border-radius: 30px;
  color: #333;
  line-height: 36px;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  outline: none;
  vertical-align: middle;
  transition: 160ms color linear, 160ms background-color linear, 160ms opacity linear, 160ms padding linear, 160ms border-radius linear;
  transition-delay: 200ms;
  	/*&.bxst-select-phantom {
  		.bxst-select-phantom-body {
  			display: inline-block;
  			position: relative;
  			margin: 0;
  			padding: 11px 29px 11px 12px;
  			background: transparent;
  			border: none;
  			border-radius: 18px;
  			color: #333;
  			font: normal 14px/14px 'Geometria Medium', 'Helvetica Neue', Arial, 'Helvetica CY', 'Nimbus Sans L', sans-serif;
  			text-align: center;
  			text-decoration: none;
  			box-sizing: border-box;
  			outline: none;
  			vertical-align: middle;
  			cursor: pointer;
  		}

  		.bxst-select-phantom-list-outer {
  			min-width: 65px;
  			height: 0;
  			overflow: hidden;
  			transition: 160ms height linear, 160ms padding linear;
  		}

  		&.is-open {
  			border-radius: 0;
  		}
  	}*/
  /*--------------------------------------------
  bxst-select-primary
  --------------------------------------------*/
  /*--------------------------------------------
  bxst-select-primary-border
  --------------------------------------------*/
  /*--------------------------------------------
  bxst-select-success
  --------------------------------------------*/
  /*--------------------------------------------
  bxst-select-xs, bxst-select-sm,
  bxst-select-sm, bxst-select-lg
  --------------------------------------------*/ }
  .bxst-select > * {
    display: none; }
  .bxst-select.initialized > * {
    display: block;
    cursor: pointer; }
  .bxst-select.bxst-select-phantom .bxst-select-phantom-body {
    padding: 0 29px 0 12px; }
  .bxst-select.bxst-select-phantom .bxst-select-phantom-choosed {
    white-space: nowrap;
    overflow: hidden; }
  .bxst-select.is-open {
    border-radius: 3px 3px 0 0;
    transition-delay: 0ms; }
  .bxst-select:before {
    content: '';
    position: absolute;
    width: 7px;
    height: 4px;
    top: 50%;
    right: 12px;
    margin-top: -2px;
    background: none;
    border: 4px solid transparent;
    border-top-color: #333;
    box-sizing: border-box;
    transition: 160ms color linear, 160ms background-color linear, 160ms opacity linear, 160ms padding linear, 160ms border-radius linear, 160ms border-color linear; }
  .bxst-select.bxst-select-primary {
    background-color: #2ecaf7;
    color: #fff; }
    .bxst-select.bxst-select-primary:before {
      border-top-color: #fff; }
    .bxst-select.bxst-select-primary:hover {
      background-color: #68ddff;
      color: #fff; }
  .bxst-select.bxst-select-primary-border {
    background-color: transparent;
    border: 2px solid;
    color: #2ecaf7; }
    .bxst-select.bxst-select-primary-border:before {
      border-top-color: #2ecaf7; }
    .bxst-select.bxst-select-primary-border:hover {
      background-color: transparent;
      color: #68ddff; }
      .bxst-select.bxst-select-primary-border:hover:before {
        border-top-color: #68ddff; }
  .bxst-select.bxst-select-success {
    background-color: transparent;
    border: 2px solid;
    color: #b7db2a; }
    .bxst-select.bxst-select-success:before {
      border-top-color: #b7db2a; }
    .bxst-select.bxst-select-success:hover {
      background-color: transparent;
      color: #cfee52; }
      .bxst-select.bxst-select-success:hover:before {
        border-top-color: #cfee52; }
  .bxst-select.bxst-select-xs {
    height: 32px;
    font-size: 12px;
    line-height: 32px; }
  .bxst-select.bxst-select-sm {
    height: 36px;
    font-size: 13px;
    line-height: 36px; }
  .bxst-select.bxst-select-md {
    height: 38px;
    font-size: 14px;
    line-height: 38px; }
  .bxst-select.bxst-select-lg {
    height: 48px;
    font-size: 14px;
    line-height: 48px; }

.bxst-select-phantom-list-outer {
  position: absolute;
  height: 0;
  padding: 0;
  background-color: #f1f5f6;
  border-radius: 0 0 3px 3px;
  color: #333;
  overflow: hidden;
  transition: 160ms height linear, 160ms color linear, 160ms background-color linear, 160ms padding linear, 160ms border-radius linear;
  transition-delay: 0ms;
  box-sizing: border-box;
  z-index: 100; }
  .bxst-select-phantom-list-outer .bxst-select-phantom-list {
    padding: 12px 29px 6px 12px; }
  .bxst-select-phantom-list-outer .bxst-select-phantom-item {
    margin-bottom: 14px;
    cursor: pointer; }
    .bxst-select-phantom-list-outer .bxst-select-phantom-item a {
      color: inherit;
      text-decoration: none; }
    .bxst-select-phantom-list-outer .bxst-select-phantom-item:last-child {
      margin-bottom: 0; }
  .bxst-select-phantom-list-outer.is-open {
    transition-delay: 200ms; }

/*# sourceMappingURL=buttons.css.map */

/* End */


/* Start:/bitrix/templates/bitrix24_2017/css/404.css?1518678903968*/
/*--------------------------------------------
BASIC TEMPLATE COLORS
--------------------------------------------*/
/*--------------------------------------------
BASIC FONTS FAMILY
--------------------------------------------*/
.b-error {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 100px 0; }
  .b-error .l-wrap-align {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; }
  .b-error .e-num {
    position: relative;
    margin-right: 20px;
    color: #08c1ef;
    font: 112px/112px "Geometria Light", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    letter-spacing: -3px; }
  .b-error .e-text {
    color: #333;
    font: 42px/52px "Geometria Light", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
    letter-spacing: -1px;
    text-align: left; }

/*# sourceMappingURL=404.css.map */

/* End */


/* Start:/bitrix/templates/bitrix24_2017/js/owl.carousel.fixed.js?151867890386555*/
/**
 * Owl Carousel v2.2.1
 * Copyright 2013-2017 David Deutsch
 * Licensed under  ()
 */
/**
 * Owl carousel
 * @version 2.1.6
 * @author Bartosz Wojciechowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 * @todo Lazy Load Icon
 * @todo prevent animationend bubling
 * @todo itemsScaleUp
 * @todo Test Zepto
 * @todo stagePadding calculate wrong active classes
 */
;(function($, window, document, undefined) {

	/**
	 * Creates a carousel.
	 * @class The Owl Carousel.
	 * @public
	 * @param {HTMLElement|jQuery} element - The element to create the carousel for.
	 * @param {Object} [options] - The options
	 */
	function Owl(element, options) {

		/**
		 * Current settings for the carousel.
		 * @public
		 */
		this.settings = null;

		/**
		 * Current options set by the caller including defaults.
		 * @public
		 */
		this.options = $.extend({}, Owl.Defaults, options);

		/**
		 * Plugin element.
		 * @public
		 */
		this.$element = $(element);

		/**
		 * Proxied event handlers.
		 * @protected
		 */
		this._handlers = {};

		/**
		 * References to the running plugins of this carousel.
		 * @protected
		 */
		this._plugins = {};

		/**
		 * Currently suppressed events to prevent them from beeing retriggered.
		 * @protected
		 */
		this._supress = {};

		/**
		 * Absolute current position.
		 * @protected
		 */
		this._current = null;

		/**
		 * Animation speed in milliseconds.
		 * @protected
		 */
		this._speed = null;

		/**
		 * Coordinates of all items in pixel.
		 * @todo The name of this member is missleading.
		 * @protected
		 */
		this._coordinates = [];

		/**
		 * Current breakpoint.
		 * @todo Real media queries would be nice.
		 * @protected
		 */
		this._breakpoint = null;

		/**
		 * Current width of the plugin element.
		 */
		this._width = null;

		/**
		 * All real items.
		 * @protected
		 */
		this._items = [];

		/**
		 * All cloned items.
		 * @protected
		 */
		this._clones = [];

		/**
		 * Merge values of all items.
		 * @todo Maybe this could be part of a plugin.
		 * @protected
		 */
		this._mergers = [];

		/**
		 * Widths of all items.
		 */
		this._widths = [];

		/**
		 * Invalidated parts within the update process.
		 * @protected
		 */
		this._invalidated = {};

		/**
		 * Ordered list of workers for the update process.
		 * @protected
		 */
		this._pipe = [];

		/**
		 * Current state information for the drag operation.
		 * @todo #261
		 * @protected
		 */
		this._drag = {
			time: null,
			target: null,
			pointer: null,
			stage: {
				start: null,
				current: null
			},
			direction: null
		};

		/**
		 * Current state information and their tags.
		 * @type {Object}
		 * @protected
		 */
		this._states = {
			current: {},
			tags: {
				'initializing': [ 'busy' ],
				'animating': [ 'busy' ],
				'dragging': [ 'interacting' ]
			}
		};

		$.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) {
			this._handlers[handler] = $.proxy(this[handler], this);
		}, this));

		$.each(Owl.Plugins, $.proxy(function(key, plugin) {
			this._plugins[key.charAt(0).toLowerCase() + key.slice(1)]
				= new plugin(this);
		}, this));

		$.each(Owl.Workers, $.proxy(function(priority, worker) {
			this._pipe.push({
				'filter': worker.filter,
				'run': $.proxy(worker.run, this)
			});
		}, this));

		this.setup();
		this.initialize();
	}

	/**
	 * Default options for the carousel.
	 * @public
	 */
	Owl.Defaults = {
		items: 3,
		loop: false,
		center: false,
		rewind: false,

		mouseDrag: true,
		touchDrag: true,
		pullDrag: true,
		freeDrag: false,

		margin: 0,
		stagePadding: 0,

		merge: false,
		mergeFit: true,
		autoWidth: false,

		startPosition: 0,
		rtl: false,

		smartSpeed: 250,
		fluidSpeed: false,
		dragEndSpeed: false,

		responsive: {},
		responsiveRefreshRate: 200,
		responsiveBaseElement: window,

		fallbackEasing: 'swing',

		info: false,

		nestedItemSelector: false,
		itemElement: 'div',
		stageElement: 'div',

		refreshClass: 'owl-refresh',
		loadedClass: 'owl-loaded',
		loadingClass: 'owl-loading',
		rtlClass: 'owl-rtl',
		responsiveClass: 'owl-responsive',
		dragClass: 'owl-drag',
		itemClass: 'owl-item',
		stageClass: 'owl-stage',
		stageOuterClass: 'owl-stage-outer',
		grabClass: 'owl-grab'
	};

	/**
	 * Enumeration for width.
	 * @public
	 * @readonly
	 * @enum {String}
	 */
	Owl.Width = {
		Default: 'default',
		Inner: 'inner',
		Outer: 'outer'
	};

	/**
	 * Enumeration for types.
	 * @public
	 * @readonly
	 * @enum {String}
	 */
	Owl.Type = {
		Event: 'event',
		State: 'state'
	};

	/**
	 * Contains all registered plugins.
	 * @public
	 */
	Owl.Plugins = {};

	/**
	 * List of workers involved in the update process.
	 */
	Owl.Workers = [ {
		filter: [ 'width', 'settings' ],
		run: function() {
			this._width = this.$element.width();
		}
	}, {
		filter: [ 'width', 'items', 'settings' ],
		run: function(cache) {
			cache.current = this._items && this._items[this.relative(this._current)];
		}
	}, {
		filter: [ 'items', 'settings' ],
		run: function() {
			this.$stage.children('.cloned').remove();
		}
	}, {
		filter: [ 'width', 'items', 'settings' ],
		run: function(cache) {
			var margin = this.settings.margin || '',
				grid = !this.settings.autoWidth,
				rtl = this.settings.rtl,
				css = {
					'width': 'auto',
					'margin-left': rtl ? margin : '',
					'margin-right': rtl ? '' : margin
				};

			!grid && this.$stage.children().css(css);

			cache.css = css;
		}
	}, {
		filter: [ 'width', 'items', 'settings' ],
		run: function(cache) {
			var width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,
				merge = null,
				iterator = this._items.length,
				grid = !this.settings.autoWidth,
				widths = [];

			cache.items = {
				merge: false,
				width: width
			};

			while (iterator--) {
				merge = this._mergers[iterator];
				merge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge;

				cache.items.merge = merge > 1 || cache.items.merge;

				widths[iterator] = !grid ? this._items[iterator].width() : width * merge;
			}

			this._widths = widths;
		}
	}, {
		filter: [ 'items', 'settings' ],
		run: function() {
			var clones = [],
				items = this._items,
				settings = this.settings,
				// TODO: Should be computed from number of min width items in stage
				view = Math.max(settings.items * 2, 4),
				size = Math.ceil(items.length / 2) * 2,
				repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0,
				append = '',
				prepend = '';

			repeat /= 2;

			while (repeat > 0) {
				// Switch to only using appended clones
				clones.push(this.normalize(clones.length / 2, true));
				append = append + items[clones[clones.length - 1]][0].outerHTML;
				clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));
				prepend = items[clones[clones.length - 1]][0].outerHTML + prepend;
				repeat -= 1;
			}

			this._clones = clones;

			$(append).addClass('cloned').appendTo(this.$stage);
			$(prepend).addClass('cloned').prependTo(this.$stage);
		}
	}, {
		filter: [ 'width', 'items', 'settings' ],
		run: function() {
			var rtl = this.settings.rtl ? 1 : -1,
				size = this._clones.length + this._items.length,
				iterator = -1,
				previous = 0,
				current = 0,
				coordinates = [];

			while (++iterator < size) {
				previous = coordinates[iterator - 1] || 0;
				current = this._widths[this.relative(iterator)] + this.settings.margin;
				coordinates.push(previous + current * rtl);
			}

			this._coordinates = coordinates;
		}
	}, {
		filter: [ 'width', 'items', 'settings' ],
		run: function() {
			var padding = this.settings.stagePadding,
				coordinates = this._coordinates,
				css = {
					'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2,
					'padding-left': padding || '',
					'padding-right': padding || ''
				};

			this.$stage.css(css);
		}
	}, {
		filter: [ 'width', 'items', 'settings' ],
		run: function(cache) {
			var iterator = this._coordinates.length,
				grid = !this.settings.autoWidth,
				items = this.$stage.children();

			if (grid && cache.items.merge) {
				while (iterator--) {
					cache.css.width = this._widths[this.relative(iterator)];
					items.eq(iterator).css(cache.css);
				}
			} else if (grid) {
				cache.css.width = cache.items.width;
				items.css(cache.css);
			}
		}
	}, {
		filter: [ 'items' ],
		run: function() {
			this._coordinates.length < 1 && this.$stage.removeAttr('style');
		}
	}, {
		filter: [ 'width', 'items', 'settings' ],
		run: function(cache) {
			cache.current = cache.current ? this.$stage.children().index(cache.current) : 0;
			cache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current));
			this.reset(cache.current);
		}
	}, {
		filter: [ 'position' ],
		run: function() {
			this.animate(this.coordinates(this._current));
		}
	}, {
		filter: [ 'width', 'position', 'items', 'settings' ],
		run: function() {
			var rtl = this.settings.rtl ? 1 : -1,
				padding = this.settings.stagePadding * 2,
				begin = this.coordinates(this.current()) + padding,
				end = begin + this.width() * rtl,
				inner, outer, matches = [], i, n;

			for (i = 0, n = this._coordinates.length; i < n; i++) {
				inner = this._coordinates[i - 1] || 0;
				outer = Math.abs(this._coordinates[i]) + padding * rtl;

				if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end)))
					|| (this.op(outer, '<', begin) && this.op(outer, '>', end))) {
					matches.push(i);
				}
			}

			this.$stage.children('.active').removeClass('active');
			this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');

				this.$stage.children('.center').removeClass('center');
			if (this.settings.center) {
				this.$stage.children().eq(this.current()).addClass('center');
			}
		}
	} ];

	/**
	 * Initializes the carousel.
	 * @protected
	 */
	Owl.prototype.initialize = function() {
		this.enter('initializing');
		this.trigger('initialize');

		this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl);

		if (this.settings.autoWidth && !this.is('pre-loading')) {
			var imgs, nestedSelector, width;
			imgs = this.$element.find('img');
			nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;
			width = this.$element.children(nestedSelector).width();

			if (imgs.length && width <= 0) {
				this.preloadAutoWidthImages(imgs);
			}
		}

		this.$element.addClass(this.options.loadingClass);

		// create stage
		this.$stage = $('<' + this.settings.stageElement + ' class="' + this.settings.stageClass + '"/>')
			.wrap('<div class="' + this.settings.stageOuterClass + '"/>');

		// append stage
		this.$element.append(this.$stage.parent());

		// append content
		this.replace(this.$element.children().not(this.$stage.parent()));

		// check visibility
		if (this.$element.is(':visible')) {
			// update view
			this.refresh();
		} else {
			// invalidate width
			this.invalidate('width');
		}

		this.$element
			.removeClass(this.options.loadingClass)
			.addClass(this.options.loadedClass);

		// register event handlers
		this.registerEventHandlers();

		this.leave('initializing');
		this.trigger('initialized');
	};

	/**
	 * Setups the current settings.
	 * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?
	 * @todo Support for media queries by using `matchMedia` would be nice.
	 * @public
	 */
	Owl.prototype.setup = function() {
		var viewport = this.viewport(),
			overwrites = this.options.responsive,
			match = -1,
			settings = null;

		if (!overwrites) {
			settings = $.extend({}, this.options);
		} else {
			$.each(overwrites, function(breakpoint) {
				if (breakpoint <= viewport && breakpoint > match) {
					match = Number(breakpoint);
				}
			});

			settings = $.extend({}, this.options, overwrites[match]);
			if (typeof settings.stagePadding === 'function') {
				settings.stagePadding = settings.stagePadding();
			}
			delete settings.responsive;

			// responsive class
			if (settings.responsiveClass) {
				this.$element.attr('class',
					this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\S+\\s', 'g'), '$1' + match)
				);
			}
		}

		this.trigger('change', { property: { name: 'settings', value: settings } });
		this._breakpoint = match;
		this.settings = settings;
		this.invalidate('settings');
		this.trigger('changed', { property: { name: 'settings', value: this.settings } });
	};

	/**
	 * Updates option logic if necessery.
	 * @protected
	 */
	Owl.prototype.optionsLogic = function() {
		if (this.settings.autoWidth) {
			this.settings.stagePadding = false;
			this.settings.merge = false;
		}
	};

	/**
	 * Prepares an item before add.
	 * @todo Rename event parameter `content` to `item`.
	 * @protected
	 * @returns {jQuery|HTMLElement} - The item container.
	 */
	Owl.prototype.prepare = function(item) {
		var event = this.trigger('prepare', { content: item });

		if (!event.data) {
			event.data = $('<' + this.settings.itemElement + '/>')
				.addClass(this.options.itemClass).append(item)
		}

		this.trigger('prepared', { content: event.data });

		return event.data;
	};

	/**
	 * Updates the view.
	 * @public
	 */
	Owl.prototype.update = function() {
		var i = 0,
			n = this._pipe.length,
			filter = $.proxy(function(p) { return this[p] }, this._invalidated),
			cache = {};

		while (i < n) {
			if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {
				this._pipe[i].run(cache);
			}
			i++;
		}

		this._invalidated = {};

		!this.is('valid') && this.enter('valid');
	};

	/**
	 * Gets the width of the view.
	 * @public
	 * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.
	 * @returns {Number} - The width of the view in pixel.
	 */
	Owl.prototype.width = function(dimension) {
		dimension = dimension || Owl.Width.Default;
		switch (dimension) {
			case Owl.Width.Inner:
			case Owl.Width.Outer:
				return this._width;
			default:
				return this._width - this.settings.stagePadding * 2 + this.settings.margin;
		}
	};

	/**
	 * Refreshes the carousel primarily for adaptive purposes.
	 * @public
	 */
	Owl.prototype.refresh = function() {
		this.enter('refreshing');
		this.trigger('refresh');

		this.setup();

		this.optionsLogic();

		this.$element.addClass(this.options.refreshClass);

		this.update();

		this.$element.removeClass(this.options.refreshClass);

		this.leave('refreshing');
		this.trigger('refreshed');
	};

	/**
	 * Checks window `resize` event.
	 * @protected
	 */
	Owl.prototype.onThrottledResize = function() {
		window.clearTimeout(this.resizeTimer);
		this.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate);
	};

	/**
	 * Checks window `resize` event.
	 * @protected
	 */
	Owl.prototype.onResize = function() {
		if (!this._items.length) {
			return false;
		}

		if (this._width === this.$element.width()) {
			return false;
		}

		if (!this.$element.is(':visible')) {
			return false;
		}

		this.enter('resizing');

		if (this.trigger('resize').isDefaultPrevented()) {
			this.leave('resizing');
			return false;
		}

		this.invalidate('width');

		this.refresh();

		this.leave('resizing');
		this.trigger('resized');
	};

	/**
	 * Registers event handlers.
	 * @todo Check `msPointerEnabled`
	 * @todo #261
	 * @protected
	 */
	Owl.prototype.registerEventHandlers = function() {
		if ($.support.transition) {
			this.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this));
		}

		if (this.settings.responsive !== false) {
			this.on(window, 'resize', this._handlers.onThrottledResize);
		}

		if (this.settings.mouseDrag) {
			this.$element.addClass(this.options.dragClass);
			this.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this));
			this.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false });
		}

		if (this.settings.touchDrag){
			this.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this));
			this.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this));
		}
	};

	/**
	 * Handles `touchstart` and `mousedown` events.
	 * @todo Horizontal swipe threshold as option
	 * @todo #261
	 * @protected
	 * @param {Event} event - The event arguments.
	 */
	Owl.prototype.onDragStart = function(event) {
		var stage = null;

		if (event.which === 3) {
			return;
		}

		if ($.support.transform) {
			stage = this.$stage.css('transform').replace(/.*\(|\)| /g, '').split(',');
			stage = {
				x: stage[stage.length === 16 ? 12 : 4],
				y: stage[stage.length === 16 ? 13 : 5]
			};
		} else {
			stage = this.$stage.position();
			stage = {
				x: this.settings.rtl ?
					stage.left + this.$stage.width() - this.width() + this.settings.margin :
					stage.left,
				y: stage.top
			};
		}

		if (this.is('animating')) {
			$.support.transform ? this.animate(stage.x) : this.$stage.stop()
			this.invalidate('position');
		}

		this.$element.toggleClass(this.options.grabClass, event.type === 'mousedown');

		this.speed(0);

		this._drag.time = new Date().getTime();
		this._drag.target = $(event.target);
		this._drag.stage.start = stage;
		this._drag.stage.current = stage;
		this._drag.pointer = this.pointer(event);

		$(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this));

		$(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) {
			var delta = this.difference(this._drag.pointer, this.pointer(event));

			$(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this));

			if (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) {
				return;
			}

			event.preventDefault();

			this.enter('dragging');
			this.trigger('drag');
		}, this));
	};

	/**
	 * Handles the `touchmove` and `mousemove` events.
	 * @todo #261
	 * @protected
	 * @param {Event} event - The event arguments.
	 */
	Owl.prototype.onDragMove = function(event) {
		var minimum = null,
			maximum = null,
			pull = null,
			delta = this.difference(this._drag.pointer, this.pointer(event)),
			stage = this.difference(this._drag.stage.start, delta);

		if (!this.is('dragging')) {
			return;
		}

		event.preventDefault();

		if (this.settings.loop) {
			minimum = this.coordinates(this.minimum());
			maximum = this.coordinates(this.maximum() + 1) - minimum;
			stage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum;
		} else {
			minimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());
			maximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());
			pull = this.settings.pullDrag ? -1 * delta.x / 5 : 0;
			stage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull);
		}

		this._drag.stage.current = stage;

		this.animate(stage.x);
	};

	/**
	 * Handles the `touchend` and `mouseup` events.
	 * @todo #261
	 * @todo Threshold for click event
	 * @protected
	 * @param {Event} event - The event arguments.
	 */
	Owl.prototype.onDragEnd = function(event) {
		var delta = this.difference(this._drag.pointer, this.pointer(event)),
			stage = this._drag.stage.current,
			direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right';

		$(document).off('.owl.core');

		this.$element.removeClass(this.options.grabClass);

		if (delta.x !== 0 && this.is('dragging') || !this.is('valid')) {
			this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);
			this.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction));
			this.invalidate('position');
			this.update();

			this._drag.direction = direction;

			if (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) {
				this._drag.target.one('click.owl.core', function() { return false; });
			}
		}

		if (!this.is('dragging')) {
			return;
		}

		this.leave('dragging');
		this.trigger('dragged');
	};

	/**
	 * Gets absolute position of the closest item for a coordinate.
	 * @todo Setting `freeDrag` makes `closest` not reusable. See #165.
	 * @protected
	 * @param {Number} coordinate - The coordinate in pixel.
	 * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`.
	 * @return {Number} - The absolute position of the closest item.
	 */
	Owl.prototype.closest = function(coordinate, direction) {
		var position = -1,
			pull = 30,
			width = this.width(),
			coordinates = this.coordinates();

		if (!this.settings.freeDrag) {
			// check closest item
			$.each(coordinates, $.proxy(function(index, value) {
				// on a left pull, check on current index
				if (direction === 'left' && coordinate > value - pull && coordinate < value + pull) {
					position = index;
				// on a right pull, check on previous index
				// to do so, subtract width from value and set position = index + 1
				} else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) {
					position = index + 1;
				} else if (this.op(coordinate, '<', value)
					&& this.op(coordinate, '>', coordinates[index + 1] || value - width)) {
					position = direction === 'left' ? index + 1 : index;
				}
				return position === -1;
			}, this));
		}

		if (!this.settings.loop) {
			// non loop boundries
			if (this.op(coordinate, '>', coordinates[this.minimum()])) {
				position = coordinate = this.minimum();
			} else if (this.op(coordinate, '<', coordinates[this.maximum()])) {
				position = coordinate = this.maximum();
			}
		}

		return position;
	};

	/**
	 * Animates the stage.
	 * @todo #270
	 * @public
	 * @param {Number} coordinate - The coordinate in pixels.
	 */
	Owl.prototype.animate = function(coordinate) {
		var animate = this.speed() > 0;

		this.is('animating') && this.onTransitionEnd();

		if (animate) {
			this.enter('animating');
			this.trigger('translate');
		}

		if ($.support.transform3d && $.support.transition) {
			this.$stage.css({
				transform: 'translate3d(' + coordinate + 'px,0px,0px)',
				transition: (this.speed() / 1000) + 's'
			});
		} else if (animate) {
			this.$stage.animate({
				left: coordinate + 'px'
			}, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this));
		} else {
			this.$stage.css({
				left: coordinate + 'px'
			});
		}
	};

	/**
	 * Checks whether the carousel is in a specific state or not.
	 * @param {String} state - The state to check.
	 * @returns {Boolean} - The flag which indicates if the carousel is busy.
	 */
	Owl.prototype.is = function(state) {
		return this._states.current[state] && this._states.current[state] > 0;
	};

	/**
	 * Sets the absolute position of the current item.
	 * @public
	 * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.
	 * @returns {Number} - The absolute position of the current item.
	 */
	Owl.prototype.current = function(position) {
		if (position === undefined) {
			return this._current;
		}

		if (this._items.length === 0) {
			return undefined;
		}

		position = this.normalize(position);

		if (this._current !== position) {
			var event = this.trigger('change', { property: { name: 'position', value: position } });

			if (event.data !== undefined) {
				position = this.normalize(event.data);
			}

			this._current = position;

			this.invalidate('position');

			this.trigger('changed', { property: { name: 'position', value: this._current } });
		}

		return this._current;
	};

	/**
	 * Invalidates the given part of the update routine.
	 * @param {String} [part] - The part to invalidate.
	 * @returns {Array.<String>} - The invalidated parts.
	 */
	Owl.prototype.invalidate = function(part) {
		if ($.type(part) === 'string') {
			this._invalidated[part] = true;
			this.is('valid') && this.leave('valid');
		}
		return $.map(this._invalidated, function(v, i) { return i });
	};

	/**
	 * Resets the absolute position of the current item.
	 * @public
	 * @param {Number} position - The absolute position of the new item.
	 */
	Owl.prototype.reset = function(position) {
		position = this.normalize(position);

		if (position === undefined) {
			return;
		}

		this._speed = 0;
		this._current = position;

		this.suppress([ 'translate', 'translated' ]);

		this.animate(this.coordinates(position));

		this.release([ 'translate', 'translated' ]);
	};

	/**
	 * Normalizes an absolute or a relative position of an item.
	 * @public
	 * @param {Number} position - The absolute or relative position to normalize.
	 * @param {Boolean} [relative=false] - Whether the given position is relative or not.
	 * @returns {Number} - The normalized position.
	 */
	Owl.prototype.normalize = function(position, relative) {
		var n = this._items.length,
			m = relative ? 0 : this._clones.length;

		if (!this.isNumeric(position) || n < 1) {
			position = undefined;
		} else if (position < 0 || position >= n + m) {
			position = ((position - m / 2) % n + n) % n + m / 2;
		}

		return position;
	};

	/**
	 * Converts an absolute position of an item into a relative one.
	 * @public
	 * @param {Number} position - The absolute position to convert.
	 * @returns {Number} - The converted position.
	 */
	Owl.prototype.relative = function(position) {
		position -= this._clones.length / 2;
		return this.normalize(position, true);
	};

	/**
	 * Gets the maximum position for the current item.
	 * @public
	 * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
	 * @returns {Number}
	 */
	Owl.prototype.maximum = function(relative) {
		var settings = this.settings,
			maximum = this._coordinates.length,
			iterator,
			reciprocalItemsWidth,
			elementWidth;

		if (settings.loop) {
			maximum = this._clones.length / 2 + this._items.length - 1;
		} else if (settings.autoWidth || settings.merge) {
			iterator = this._items.length;
			if (iterator) {
			reciprocalItemsWidth = this._items[--iterator].width();
			elementWidth = this.$element.width();
			while (iterator--) {
				reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;
				if (reciprocalItemsWidth > elementWidth) {
					break;
				}
			}
			}
			maximum = iterator + 1;
		} else if (settings.center) {
			maximum = this._items.length - 1;
		} else {
			maximum = this._items.length - settings.items;
		}

		if (relative) {
			maximum -= this._clones.length / 2;
		}

		return Math.max(maximum, 0);
	};

	/**
	 * Gets the minimum position for the current item.
	 * @public
	 * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
	 * @returns {Number}
	 */
	Owl.prototype.minimum = function(relative) {
		return relative ? 0 : this._clones.length / 2;
	};

	/**
	 * Gets an item at the specified relative position.
	 * @public
	 * @param {Number} [position] - The relative position of the item.
	 * @return {jQuery|Array.<jQuery>} - The item at the given position or all items if no position was given.
	 */
	Owl.prototype.items = function(position) {
		if (position === undefined) {
			return this._items.slice();
		}

		position = this.normalize(position, true);
		return this._items[position];
	};

	/**
	 * Gets an item at the specified relative position.
	 * @public
	 * @param {Number} [position] - The relative position of the item.
	 * @return {jQuery|Array.<jQuery>} - The item at the given position or all items if no position was given.
	 */
	Owl.prototype.mergers = function(position) {
		if (position === undefined) {
			return this._mergers.slice();
		}

		position = this.normalize(position, true);
		return this._mergers[position];
	};

	/**
	 * Gets the absolute positions of clones for an item.
	 * @public
	 * @param {Number} [position] - The relative position of the item.
	 * @returns {Array.<Number>} - The absolute positions of clones for the item or all if no position was given.
	 */
	Owl.prototype.clones = function(position) {
		var odd = this._clones.length / 2,
			even = odd + this._items.length,
			map = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 };

		if (position === undefined) {
			return $.map(this._clones, function(v, i) { return map(i) });
		}

		return $.map(this._clones, function(v, i) { return v === position ? map(i) : null });
	};

	/**
	 * Sets the current animation speed.
	 * @public
	 * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.
	 * @returns {Number} - The current animation speed in milliseconds.
	 */
	Owl.prototype.speed = function(speed) {
		if (speed !== undefined) {
			this._speed = speed;
		}

		return this._speed;
	};

	/**
	 * Gets the coordinate of an item.
	 * @todo The name of this method is missleanding.
	 * @public
	 * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.
	 * @returns {Number|Array.<Number>} - The coordinate of the item in pixel or all coordinates.
	 */
	Owl.prototype.coordinates = function(position) {
		var multiplier = 1,
			newPosition = position - 1,
			coordinate;

		if (position === undefined) {
			return $.map(this._coordinates, $.proxy(function(coordinate, index) {
				return this.coordinates(index);
			}, this));
		}

		if (this.settings.center) {
			if (this.settings.rtl) {
				multiplier = -1;
				newPosition = position + 1;
			}

			coordinate = this._coordinates[position];
			coordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier;
		} else {
			coordinate = this._coordinates[newPosition] || 0;
		}

		coordinate = Math.ceil(coordinate);

		return coordinate;
	};

	/**
	 * Calculates the speed for a translation.
	 * @protected
	 * @param {Number} from - The absolute position of the start item.
	 * @param {Number} to - The absolute position of the target item.
	 * @param {Number} [factor=undefined] - The time factor in milliseconds.
	 * @returns {Number} - The time in milliseconds for the translation.
	 */
	Owl.prototype.duration = function(from, to, factor) {
		if (factor === 0) {
			return 0;
		}

		return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));
	};

	/**
	 * Slides to the specified item.
	 * @public
	 * @param {Number} position - The position of the item.
	 * @param {Number} [speed] - The time in milliseconds for the transition.
	 */
	Owl.prototype.to = function(position, speed) {
		var current = this.current(),
			revert = null,
			distance = position - this.relative(current),
			direction = (distance > 0) - (distance < 0),
			items = this._items.length,
			minimum = this.minimum(),
			maximum = this.maximum();

		if (this.settings.loop) {
			if (!this.settings.rewind && Math.abs(distance) > items / 2) {
				distance += direction * -1 * items;
			}

			position = current + distance;
			revert = ((position - minimum) % items + items) % items + minimum;

			if (revert !== position && revert - distance <= maximum && revert - distance > 0) {
				current = revert - distance;
				position = revert;
				this.reset(current);
			}
		} else if (this.settings.rewind) {
			maximum += 1;
			position = (position % maximum + maximum) % maximum;
		} else {
			position = Math.max(minimum, Math.min(maximum, position));
		}

		this.speed(this.duration(current, position, speed));
		this.current(position);

		if (this.$element.is(':visible')) {
			this.update();
		}
	};

	/**
	 * Slides to the next item.
	 * @public
	 * @param {Number} [speed] - The time in milliseconds for the transition.
	 */
	Owl.prototype.next = function(speed) {
		speed = speed || false;
		this.to(this.relative(this.current()) + 1, speed);
	};

	/**
	 * Slides to the previous item.
	 * @public
	 * @param {Number} [speed] - The time in milliseconds for the transition.
	 */
	Owl.prototype.prev = function(speed) {
		speed = speed || false;
		this.to(this.relative(this.current()) - 1, speed);
	};

	/**
	 * Handles the end of an animation.
	 * @protected
	 * @param {Event} event - The event arguments.
	 */
	Owl.prototype.onTransitionEnd = function(event) {

		// if css2 animation then event object is undefined
		if (event !== undefined) {
			event.stopPropagation();

			// Catch only owl-stage transitionEnd event
			if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {
				return false;
			}
		}

		this.leave('animating');
		this.trigger('translated');
	};

	/**
	 * Gets viewport width.
	 * @protected
	 * @return {Number} - The width in pixel.
	 */
	Owl.prototype.viewport = function() {
		var width;
		if (this.options.responsiveBaseElement !== window) {
			width = $(this.options.responsiveBaseElement).width();
		} else if (window.innerWidth) {
			width = window.innerWidth;
		} else if (document.documentElement && document.documentElement.clientWidth) {
			width = document.documentElement.clientWidth;
		} else {
			console.warn('Can not detect viewport width.');
		}
		return width;
	};

	/**
	 * Replaces the current content.
	 * @public
	 * @param {HTMLElement|jQuery|String} content - The new content.
	 */
	Owl.prototype.replace = function(content) {
		this.$stage.empty();
		this._items = [];

		if (content) {
			content = (content instanceof jQuery) ? content : $(content);
		}

		if (this.settings.nestedItemSelector) {
			content = content.find('.' + this.settings.nestedItemSelector);
		}

		content.filter(function() {
			return this.nodeType === 1;
		}).each($.proxy(function(index, item) {
			item = this.prepare(item);
			this.$stage.append(item);
			this._items.push(item);
			this._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
		}, this));

		this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);

		this.invalidate('items');
	};

	/**
	 * Adds an item.
	 * @todo Use `item` instead of `content` for the event arguments.
	 * @public
	 * @param {HTMLElement|jQuery|String} content - The item content to add.
	 * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.
	 */
	Owl.prototype.add = function(content, position) {
		var current = this.relative(this._current);

		position = position === undefined ? this._items.length : this.normalize(position, true);
		content = content instanceof jQuery ? content : $(content);

		this.trigger('add', { content: content, position: position });

		content = this.prepare(content);

		if (this._items.length === 0 || position === this._items.length) {
			this._items.length === 0 && this.$stage.append(content);
			this._items.length !== 0 && this._items[position - 1].after(content);
			this._items.push(content);
			this._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
		} else {
			this._items[position].before(content);
			this._items.splice(position, 0, content);
			this._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
		}

		this._items[current] && this.reset(this._items[current].index());

		this.invalidate('items');

		this.trigger('added', { content: content, position: position });
	};

	/**
	 * Removes an item by its position.
	 * @todo Use `item` instead of `content` for the event arguments.
	 * @public
	 * @param {Number} position - The relative position of the item to remove.
	 */
	Owl.prototype.remove = function(position) {
		position = this.normalize(position, true);

		if (position === undefined) {
			return;
		}

		this.trigger('remove', { content: this._items[position], position: position });

		this._items[position].remove();
		this._items.splice(position, 1);
		this._mergers.splice(position, 1);

		this.invalidate('items');

		this.trigger('removed', { content: null, position: position });
	};

	/**
	 * Preloads images with auto width.
	 * @todo Replace by a more generic approach
	 * @protected
	 */
	Owl.prototype.preloadAutoWidthImages = function(images) {
		images.each($.proxy(function(i, element) {
			this.enter('pre-loading');
			element = $(element);
			$(new Image()).one('load', $.proxy(function(e) {
				element.attr('src', e.target.src);
				element.css('opacity', 1);
				this.leave('pre-loading');
				!this.is('pre-loading') && !this.is('initializing') && this.refresh();
			}, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina'));
		}, this));
	};

	/**
	 * Destroys the carousel.
	 * @public
	 */
	Owl.prototype.destroy = function() {

		this.$element.off('.owl.core');
		this.$stage.off('.owl.core');
		$(document).off('.owl.core');

		if (this.settings.responsive !== false) {
			window.clearTimeout(this.resizeTimer);
			this.off(window, 'resize', this._handlers.onThrottledResize);
		}

		for (var i in this._plugins) {
			this._plugins[i].destroy();
		}

		this.$stage.children('.cloned').remove();

		this.$stage.unwrap();
		this.$stage.children().contents().unwrap();
		this.$stage.children().unwrap();
		this.$stage.remove();
		this.$element
			.removeClass(this.options.refreshClass)
			.removeClass(this.options.loadingClass)
			.removeClass(this.options.loadedClass)
			.removeClass(this.options.rtlClass)
			.removeClass(this.options.dragClass)
			.removeClass(this.options.grabClass)
			.attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\S+\\s', 'g'), ''))
			.removeData('owl.carousel');
	};

	/**
	 * Operators to calculate right-to-left and left-to-right.
	 * @protected
	 * @param {Number} [a] - The left side operand.
	 * @param {String} [o] - The operator.
	 * @param {Number} [b] - The right side operand.
	 */
	Owl.prototype.op = function(a, o, b) {
		var rtl = this.settings.rtl;
		switch (o) {
			case '<':
				return rtl ? a > b : a < b;
			case '>':
				return rtl ? a < b : a > b;
			case '>=':
				return rtl ? a <= b : a >= b;
			case '<=':
				return rtl ? a >= b : a <= b;
			default:
				break;
		}
	};

	/**
	 * Attaches to an internal event.
	 * @protected
	 * @param {HTMLElement} element - The event source.
	 * @param {String} event - The event name.
	 * @param {Function} listener - The event handler to attach.
	 * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.
	 */
	Owl.prototype.on = function(element, event, listener, capture) {
		if (element.addEventListener) {
			element.addEventListener(event, listener, capture);
		} else if (element.attachEvent) {
			element.attachEvent('on' + event, listener);
		}
	};

	/**
	 * Detaches from an internal event.
	 * @protected
	 * @param {HTMLElement} element - The event source.
	 * @param {String} event - The event name.
	 * @param {Function} listener - The attached event handler to detach.
	 * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.
	 */
	Owl.prototype.off = function(element, event, listener, capture) {
		if (element.removeEventListener) {
			element.removeEventListener(event, listener, capture);
		} else if (element.detachEvent) {
			element.detachEvent('on' + event, listener);
		}
	};

	/**
	 * Triggers a public event.
	 * @todo Remove `status`, `relatedTarget` should be used instead.
	 * @protected
	 * @param {String} name - The event name.
	 * @param {*} [data=null] - The event data.
	 * @param {String} [namespace=carousel] - The event namespace.
	 * @param {String} [state] - The state which is associated with the event.
	 * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not.
	 * @returns {Event} - The event arguments.
	 */
	Owl.prototype.trigger = function(name, data, namespace, state, enter) {
		var status = {
			item: { count: this._items.length, index: this.current() }
		}, handler = $.camelCase(
			$.grep([ 'on', name, namespace ], function(v) { return v })
				.join('-').toLowerCase()
		), event = $.Event(
			[ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),
			$.extend({ relatedTarget: this }, status, data)
		);

		if (!this._supress[name]) {
			$.each(this._plugins, function(name, plugin) {
				if (plugin.onTrigger) {
					plugin.onTrigger(event);
				}
			});

			this.register({ type: Owl.Type.Event, name: name });
			this.$element.trigger(event);

			if (this.settings && typeof this.settings[handler] === 'function') {
				this.settings[handler].call(this, event);
			}
		}

		return event;
	};

	/**
	 * Enters a state.
	 * @param name - The state name.
	 */
	Owl.prototype.enter = function(name) {
		$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {
			if (this._states.current[name] === undefined) {
				this._states.current[name] = 0;
			}

			this._states.current[name]++;
		}, this));
	};

	/**
	 * Leaves a state.
	 * @param name - The state name.
	 */
	Owl.prototype.leave = function(name) {
		$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {
			this._states.current[name]--;
		}, this));
	};

	/**
	 * Registers an event or state.
	 * @public
	 * @param {Object} object - The event or state to register.
	 */
	Owl.prototype.register = function(object) {
		if (object.type === Owl.Type.Event) {
			if (!$.event.special[object.name]) {
				$.event.special[object.name] = {};
			}

			if (!$.event.special[object.name].owl) {
				var _default = $.event.special[object.name]._default;
				$.event.special[object.name]._default = function(e) {
					if (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) {
						return _default.apply(this, arguments);
					}
					return e.namespace && e.namespace.indexOf('owl') > -1;
				};
				$.event.special[object.name].owl = true;
			}
		} else if (object.type === Owl.Type.State) {
			if (!this._states.tags[object.name]) {
				this._states.tags[object.name] = object.tags;
			} else {
				this._states.tags[object.name] = this._states.tags[object.name].concat(object.tags);
			}

			this._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) {
				return $.inArray(tag, this._states.tags[object.name]) === i;
			}, this));
		}
	};

	/**
	 * Suppresses events.
	 * @protected
	 * @param {Array.<String>} events - The events to suppress.
	 */
	Owl.prototype.suppress = function(events) {
		$.each(events, $.proxy(function(index, event) {
			this._supress[event] = true;
		}, this));
	};

	/**
	 * Releases suppressed events.
	 * @protected
	 * @param {Array.<String>} events - The events to release.
	 */
	Owl.prototype.release = function(events) {
		$.each(events, $.proxy(function(index, event) {
			delete this._supress[event];
		}, this));
	};

	/**
	 * Gets unified pointer coordinates from event.
	 * @todo #261
	 * @protected
	 * @param {Event} - The `mousedown` or `touchstart` event.
	 * @returns {Object} - Contains `x` and `y` coordinates of current pointer position.
	 */
	Owl.prototype.pointer = function(event) {
		var result = { x: null, y: null };

		event = event.originalEvent || event || window.event;

		event = event.touches && event.touches.length ?
			event.touches[0] : event.changedTouches && event.changedTouches.length ?
				event.changedTouches[0] : event;

		if (event.pageX) {
			result.x = event.pageX;
			result.y = event.pageY;
		} else {
			result.x = event.clientX;
			result.y = event.clientY;
		}

		return result;
	};

	/**
	 * Determines if the input is a Number or something that can be coerced to a Number
	 * @protected
	 * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested
	 * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number
	 */
	Owl.prototype.isNumeric = function(number) {
		return !isNaN(parseFloat(number));
	};

	/**
	 * Gets the difference of two vectors.
	 * @todo #261
	 * @protected
	 * @param {Object} - The first vector.
	 * @param {Object} - The second vector.
	 * @returns {Object} - The difference.
	 */
	Owl.prototype.difference = function(first, second) {
		return {
			x: first.x - second.x,
			y: first.y - second.y
		};
	};

	/**
	 * The jQuery Plugin for the Owl Carousel
	 * @todo Navigation plugin `next` and `prev`
	 * @public
	 */
	$.fn.owlCarousel = function(option) {
		var args = Array.prototype.slice.call(arguments, 1);

		return this.each(function() {
			var $this = $(this),
				data = $this.data('owl.carousel');

			if (!data) {
				data = new Owl(this, typeof option == 'object' && option);
				$this.data('owl.carousel', data);

				$.each([
					'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove'
				], function(i, event) {
					data.register({ type: Owl.Type.Event, name: event });
					data.$element.on(event + '.owl.carousel.core', $.proxy(function(e) {
						if (e.namespace && e.relatedTarget !== this) {
							this.suppress([ event ]);
							data[event].apply(this, [].slice.call(arguments, 1));
							this.release([ event ]);
						}
					}, data));
				});
			}

			if (typeof option == 'string' && option.charAt(0) !== '_') {
				data[option].apply(data, args);
			}
		});
	};

	/**
	 * The constructor for the jQuery Plugin
	 * @public
	 */
	$.fn.owlCarousel.Constructor = Owl;

})(window.Zepto || window.jQuery, window, document);

/**
 * AutoRefresh Plugin
 * @version 2.1.0
 * @author Artus Kolanowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 */
;(function($, window, document, undefined) {

	/**
	 * Creates the auto refresh plugin.
	 * @class The Auto Refresh Plugin
	 * @param {Owl} carousel - The Owl Carousel
	 */
	var AutoRefresh = function(carousel) {
		/**
		 * Reference to the core.
		 * @protected
		 * @type {Owl}
		 */
		this._core = carousel;

		/**
		 * Refresh interval.
		 * @protected
		 * @type {number}
		 */
		this._interval = null;

		/**
		 * Whether the element is currently visible or not.
		 * @protected
		 * @type {Boolean}
		 */
		this._visible = null;

		/**
		 * All event handlers.
		 * @protected
		 * @type {Object}
		 */
		this._handlers = {
			'initialized.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._core.settings.autoRefresh) {
					this.watch();
				}
			}, this)
		};

		// set default options
		this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);

		// register event handlers
		this._core.$element.on(this._handlers);
	};

	/**
	 * Default options.
	 * @public
	 */
	AutoRefresh.Defaults = {
		autoRefresh: true,
		autoRefreshInterval: 500
	};

	/**
	 * Watches the element.
	 */
	AutoRefresh.prototype.watch = function() {
		if (this._interval) {
			return;
		}

		this._visible = this._core.$element.is(':visible');
		this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);
	};

	/**
	 * Refreshes the element.
	 */
	AutoRefresh.prototype.refresh = function() {
		if (this._core.$element.is(':visible') === this._visible) {
			return;
		}

		this._visible = !this._visible;

		this._core.$element.toggleClass('owl-hidden', !this._visible);

		this._visible && (this._core.invalidate('width') && this._core.refresh());
	};

	/**
	 * Destroys the plugin.
	 */
	AutoRefresh.prototype.destroy = function() {
		var handler, property;

		window.clearInterval(this._interval);

		for (handler in this._handlers) {
			this._core.$element.off(handler, this._handlers[handler]);
		}
		for (property in Object.getOwnPropertyNames(this)) {
			typeof this[property] != 'function' && (this[property] = null);
		}
	};

	$.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;

})(window.Zepto || window.jQuery, window, document);

/**
 * Lazy Plugin
 * @version 2.1.0
 * @author Bartosz Wojciechowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 */
;(function($, window, document, undefined) {

	/**
	 * Creates the lazy plugin.
	 * @class The Lazy Plugin
	 * @param {Owl} carousel - The Owl Carousel
	 */
	var Lazy = function(carousel) {

		/**
		 * Reference to the core.
		 * @protected
		 * @type {Owl}
		 */
		this._core = carousel;

		/**
		 * Already loaded items.
		 * @protected
		 * @type {Array.<jQuery>}
		 */
		this._loaded = [];

		/**
		 * Event handlers.
		 * @protected
		 * @type {Object}
		 */
		this._handlers = {
			'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) {
				if (!e.namespace) {
					return;
				}

				if (!this._core.settings || !this._core.settings.lazyLoad) {
					return;
				}

				if ((e.property && e.property.name == 'position') || e.type == 'initialized') {
					var settings = this._core.settings,
						n = (settings.center && Math.ceil(settings.items / 2) || settings.items),
						i = ((settings.center && n * -1) || 0),
						position = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i,
						clones = this._core.clones().length,
						load = $.proxy(function(i, v) { this.load(v) }, this);

					while (i++ < n) {
						this.load(clones / 2 + this._core.relative(position));
						clones && $.each(this._core.clones(this._core.relative(position)), load);
						position++;
					}
				}
			}, this)
		};

		// set the default options
		this._core.options = $.extend({}, Lazy.Defaults, this._core.options);

		// register event handler
		this._core.$element.on(this._handlers);
	};

	/**
	 * Default options.
	 * @public
	 */
	Lazy.Defaults = {
		lazyLoad: false
	};

	/**
	 * Loads all resources of an item at the specified position.
	 * @param {Number} position - The absolute position of the item.
	 * @protected
	 */
	Lazy.prototype.load = function(position) {
		var $item = this._core.$stage.children().eq(position),
			$elements = $item && $item.find('.owl-lazy');

		if (!$elements || $.inArray($item.get(0), this._loaded) > -1) {
			return;
		}

		$elements.each($.proxy(function(index, element) {
			var $element = $(element), image,
				url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src');

			this._core.trigger('load', { element: $element, url: url }, 'lazy');

			if ($element.is('img')) {
				$element.one('load.owl.lazy', $.proxy(function() {
					$element.css('opacity', 1);
					this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
				}, this)).attr('src', url);
			} else {
				image = new Image();
				image.onload = $.proxy(function() {
					$element.css({
						'background-image': 'url("/bitrix/templates/bitrix24_2017/js/+ url +")',
						'opacity': '1'
					});
					this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
				}, this);
				image.src = url;
			}
		}, this));

		this._loaded.push($item.get(0));
	};

	/**
	 * Destroys the plugin.
	 * @public
	 */
	Lazy.prototype.destroy = function() {
		var handler, property;

		for (handler in this.handlers) {
			this._core.$element.off(handler, this.handlers[handler]);
		}
		for (property in Object.getOwnPropertyNames(this)) {
			typeof this[property] != 'function' && (this[property] = null);
		}
	};

	$.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;

})(window.Zepto || window.jQuery, window, document);

/**
 * AutoHeight Plugin
 * @version 2.1.0
 * @author Bartosz Wojciechowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 */
;(function($, window, document, undefined) {

	/**
	 * Creates the auto height plugin.
	 * @class The Auto Height Plugin
	 * @param {Owl} carousel - The Owl Carousel
	 */
	var AutoHeight = function(carousel) {
		/**
		 * Reference to the core.
		 * @protected
		 * @type {Owl}
		 */
		this._core = carousel;

		/**
		 * All event handlers.
		 * @protected
		 * @type {Object}
		 */
		this._handlers = {
			'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._core.settings.autoHeight) {
					this.update();
				}
			}, this),
			'changed.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._core.settings.autoHeight && e.property.name == 'position'){
					this.update();
				}
			}, this),
			'loaded.owl.lazy': $.proxy(function(e) {
				if (e.namespace && this._core.settings.autoHeight
					&& e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {
					this.update();
				}
			}, this)
		};

		// set default options
		this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);

		// register event handlers
		this._core.$element.on(this._handlers);
	};

	/**
	 * Default options.
	 * @public
	 */
	AutoHeight.Defaults = {
		autoHeight: false,
		autoHeightClass: 'owl-height'
	};

	/**
	 * Updates the view.
	 */
	AutoHeight.prototype.update = function() {
		var start = this._core._current,
			end = start + this._core.settings.items,
			visible = this._core.$stage.children().toArray().slice(start, end),
			heights = [],
			maxheight = 0;

		$.each(visible, function(index, item) {
			heights.push($(item).height());
		});

		maxheight = Math.max.apply(null, heights);

		this._core.$stage.parent()
			.height(maxheight)
			.addClass(this._core.settings.autoHeightClass);
	};

	AutoHeight.prototype.destroy = function() {
		var handler, property;

		for (handler in this._handlers) {
			this._core.$element.off(handler, this._handlers[handler]);
		}
		for (property in Object.getOwnPropertyNames(this)) {
			typeof this[property] != 'function' && (this[property] = null);
		}
	};

	$.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;

})(window.Zepto || window.jQuery, window, document);

/**
 * Video Plugin
 * @version 2.1.0
 * @author Bartosz Wojciechowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 */
;(function($, window, document, undefined) {

	/**
	 * Creates the video plugin.
	 * @class The Video Plugin
	 * @param {Owl} carousel - The Owl Carousel
	 */
	var Video = function(carousel) {
		/**
		 * Reference to the core.
		 * @protected
		 * @type {Owl}
		 */
		this._core = carousel;

		/**
		 * Cache all video URLs.
		 * @protected
		 * @type {Object}
		 */
		this._videos = {};

		/**
		 * Current playing item.
		 * @protected
		 * @type {jQuery}
		 */
		this._playing = null;

		/**
		 * All event handlers.
		 * @todo The cloned content removale is too late
		 * @protected
		 * @type {Object}
		 */
		this._handlers = {
			'initialized.owl.carousel': $.proxy(function(e) {
				if (e.namespace) {
					this._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] });
				}
			}, this),
			'resize.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._core.settings.video && this.isInFullScreen()) {
					e.preventDefault();
				}
			}, this),
			'refreshed.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._core.is('resizing')) {
					this._core.$stage.find('.cloned .owl-video-frame').remove();
				}
			}, this),
			'changed.owl.carousel': $.proxy(function(e) {
				if (e.namespace && e.property.name === 'position' && this._playing) {
					this.stop();
				}
			}, this),
			'prepared.owl.carousel': $.proxy(function(e) {
				if (!e.namespace) {
					return;
				}

				var $element = $(e.content).find('.owl-video');

				if ($element.length) {
					$element.css('display', 'none');
					this.fetch($element, $(e.content));
				}
			}, this)
		};

		// set default options
		this._core.options = $.extend({}, Video.Defaults, this._core.options);

		// register event handlers
		this._core.$element.on(this._handlers);

		this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {
			this.play(e);
		}, this));
	};

	/**
	 * Default options.
	 * @public
	 */
	Video.Defaults = {
		video: false,
		videoHeight: false,
		videoWidth: false
	};

	/**
	 * Gets the video ID and the type (YouTube/Vimeo/vzaar only).
	 * @protected
	 * @param {jQuery} target - The target containing the video data.
	 * @param {jQuery} item - The item containing the video.
	 */
	Video.prototype.fetch = function(target, item) {
			var type = (function() {
					if (target.attr('data-vimeo-id')) {
						return 'vimeo';
					} else if (target.attr('data-vzaar-id')) {
						return 'vzaar'
					} else {
						return 'youtube';
					}
				})(),
				id = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'),
				width = target.attr('data-width') || this._core.settings.videoWidth,
				height = target.attr('data-height') || this._core.settings.videoHeight,
				url = target.attr('href');

		if (url) {

			/*
					Parses the id's out of the following urls (and probably more):
					https://www.youtube.com/watch?v=:id
					https://youtu.be/:id
					https://vimeo.com/:id
					https://vimeo.com/channels/:channel/:id
					https://vimeo.com/groups/:group/videos/:id
					https://app.vzaar.com/videos/:id

					Visual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F
			*/

			id = url.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);

			if (id[3].indexOf('youtu') > -1) {
				type = 'youtube';
			} else if (id[3].indexOf('vimeo') > -1) {
				type = 'vimeo';
			} else if (id[3].indexOf('vzaar') > -1) {
				type = 'vzaar';
			} else {
				throw new Error('Video URL not supported.');
			}
			id = id[6];
		} else {
			throw new Error('Missing video URL.');
		}

		this._videos[url] = {
			type: type,
			id: id,
			width: width,
			height: height
		};

		item.attr('data-video', url);

		this.thumbnail(target, this._videos[url]);
	};

	/**
	 * Creates video thumbnail.
	 * @protected
	 * @param {jQuery} target - The target containing the video data.
	 * @param {Object} info - The video info object.
	 * @see `fetch`
	 */
	Video.prototype.thumbnail = function(target, video) {
		var tnLink,
			icon,
			path,
			dimensions = video.width && video.height ? 'style="width:' + video.width + 'px;height:' + video.height + 'px;"' : '',
			customTn = target.find('img'),
			srcType = 'src',
			lazyClass = '',
			settings = this._core.settings,
			create = function(path) {
				icon = '<div class="owl-video-play-icon"></div>';

				if (settings.lazyLoad) {
					tnLink = '<div class="owl-video-tn ' + lazyClass + '" ' + srcType + '="' + path + '"></div>';
				} else {
					tnLink = '<div class="owl-video-tn" style="opacity:1;background-image:url('/bitrix/templates/bitrix24_2017/js/+ path +')"></div>';
				}
				target.after(tnLink);
				target.after(icon);
			};

		// wrap video content into owl-video-wrapper div
		target.wrap('<div class="owl-video-wrapper"' + dimensions + '></div>');

		if (this._core.settings.lazyLoad) {
			srcType = 'data-src';
			lazyClass = 'owl-lazy';
		}

		// custom thumbnail
		if (customTn.length) {
			create(customTn.attr(srcType));
			customTn.remove();
			return false;
		}

		if (video.type === 'youtube') {
			path = "//img.youtube.com/vi/" + video.id + "/hqdefault.jpg";
			create(path);
		} else if (video.type === 'vimeo') {
			$.ajax({
				type: 'GET',
				url: '//vimeo.com/api/v2/video/' + video.id + '.json',
				jsonp: 'callback',
				dataType: 'jsonp',
				success: function(data) {
					path = data[0].thumbnail_large;
					create(path);
				}
			});
		} else if (video.type === 'vzaar') {
			$.ajax({
				type: 'GET',
				url: '//vzaar.com/api/videos/' + video.id + '.json',
				jsonp: 'callback',
				dataType: 'jsonp',
				success: function(data) {
					path = data.framegrab_url;
					create(path);
				}
			});
		}
	};

	/**
	 * Stops the current video.
	 * @public
	 */
	Video.prototype.stop = function() {
		this._core.trigger('stop', null, 'video');
		this._playing.find('.owl-video-frame').remove();
		this._playing.removeClass('owl-video-playing');
		this._playing = null;
		this._core.leave('playing');
		this._core.trigger('stopped', null, 'video');
	};

	/**
	 * Starts the current video.
	 * @public
	 * @param {Event} event - The event arguments.
	 */
	Video.prototype.play = function(event) {
		var target = $(event.target),
			item = target.closest('.' + this._core.settings.itemClass),
			video = this._videos[item.attr('data-video')],
			width = video.width || '100%',
			height = video.height || this._core.$stage.height(),
			html;

		if (this._playing) {
			return;
		}

		this._core.enter('playing');
		this._core.trigger('play', null, 'video');

		item = this._core.items(this._core.relative(item.index()));

		this._core.reset(item.index());

		if (video.type === 'youtube') {
			html = '<iframe width="' + width + '" height="' + height + '" src="//www.youtube.com/embed/' +
				video.id + '?autoplay=1&rel=0&v=' + video.id + '" frameborder="0" allowfullscreen></iframe>';
		} else if (video.type === 'vimeo') {
			html = '<iframe src="//player.vimeo.com/video/' + video.id +
				'?autoplay=1" width="' + width + '" height="' + height +
				'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
		} else if (video.type === 'vzaar') {
			html = '<iframe frameborder="0"' + 'height="' + height + '"' + 'width="' + width +
				'" allowfullscreen mozallowfullscreen webkitAllowFullScreen ' +
				'src="//view.vzaar.com/' + video.id + '/player?autoplay=true"></iframe>';
		}

		$('<div class="owl-video-frame">' + html + '</div>').insertAfter(item.find('.owl-video'));

		this._playing = item.addClass('owl-video-playing');
	};

	/**
	 * Checks whether an video is currently in full screen mode or not.
	 * @todo Bad style because looks like a readonly method but changes members.
	 * @protected
	 * @returns {Boolean}
	 */
	Video.prototype.isInFullScreen = function() {
		var element = document.fullscreenElement || document.mozFullScreenElement ||
				document.webkitFullscreenElement;

		return element && $(element).parent().hasClass('owl-video-frame');
	};

	/**
	 * Destroys the plugin.
	 */
	Video.prototype.destroy = function() {
		var handler, property;

		this._core.$element.off('click.owl.video');

		for (handler in this._handlers) {
			this._core.$element.off(handler, this._handlers[handler]);
		}
		for (property in Object.getOwnPropertyNames(this)) {
			typeof this[property] != 'function' && (this[property] = null);
		}
	};

	$.fn.owlCarousel.Constructor.Plugins.Video = Video;

})(window.Zepto || window.jQuery, window, document);

/**
 * Animate Plugin
 * @version 2.1.0
 * @author Bartosz Wojciechowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 */
;(function($, window, document, undefined) {

	/**
	 * Creates the animate plugin.
	 * @class The Navigation Plugin
	 * @param {Owl} scope - The Owl Carousel
	 */
	var Animate = function(scope) {
		this.core = scope;
		this.core.options = $.extend({}, Animate.Defaults, this.core.options);
		this.swapping = true;
		this.previous = undefined;
		this.next = undefined;

		this.handlers = {
			'change.owl.carousel': $.proxy(function(e) {
				if (e.namespace && e.property.name == 'position') {
					this.previous = this.core.current();
					this.next = e.property.value;
				}
			}, this),
			'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {
				if (e.namespace) {
					this.swapping = e.type == 'translated';
				}
			}, this),
			'translate.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {
					this.swap();
				}
			}, this)
		};

		this.core.$element.on(this.handlers);
	};

	/**
	 * Default options.
	 * @public
	 */
	Animate.Defaults = {
		animateOut: false,
		animateIn: false
	};

	/**
	 * Toggles the animation classes whenever an translations starts.
	 * @protected
	 * @returns {Boolean|undefined}
	 */
	Animate.prototype.swap = function() {

		if (this.core.settings.items !== 1) {
			return;
		}

		if (!$.support.animation || !$.support.transition) {
			return;
		}

		this.core.speed(0);

		var left,
			clear = $.proxy(this.clear, this),
			previous = this.core.$stage.children().eq(this.previous),
			next = this.core.$stage.children().eq(this.next),
			incoming = this.core.settings.animateIn,
			outgoing = this.core.settings.animateOut;

		if (this.core.current() === this.previous) {
			return;
		}

		if (outgoing) {
			left = this.core.coordinates(this.previous) - this.core.coordinates(this.next);
			previous.one($.support.animation.end, clear)
				.css( { 'left': left + 'px' } )
				.addClass('animated owl-animated-out')
				.addClass(outgoing);
		}

		if (incoming) {
			next.one($.support.animation.end, clear)
				.addClass('animated owl-animated-in')
				.addClass(incoming);
		}
	};

	Animate.prototype.clear = function(e) {
		$(e.target).css( { 'left': '' } )
			.removeClass('animated owl-animated-out owl-animated-in')
			.removeClass(this.core.settings.animateIn)
			.removeClass(this.core.settings.animateOut);
		this.core.onTransitionEnd();
	};

	/**
	 * Destroys the plugin.
	 * @public
	 */
	Animate.prototype.destroy = function() {
		var handler, property;

		for (handler in this.handlers) {
			this.core.$element.off(handler, this.handlers[handler]);
		}
		for (property in Object.getOwnPropertyNames(this)) {
			typeof this[property] != 'function' && (this[property] = null);
		}
	};

	$.fn.owlCarousel.Constructor.Plugins.Animate = Animate;

})(window.Zepto || window.jQuery, window, document);

/**
 * Autoplay Plugin
 * @version 2.1.0
 * @author Bartosz Wojciechowski
 * @author Artus Kolanowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 */
;(function($, window, document, undefined) {

	/**
	 * Creates the autoplay plugin.
	 * @class The Autoplay Plugin
	 * @param {Owl} scope - The Owl Carousel
	 */
	var Autoplay = function(carousel) {
		/**
		 * Reference to the core.
		 * @protected
		 * @type {Owl}
		 */
		this._core = carousel;

		/**
		 * The autoplay timeout id.
		 * @type {Number}
		 */
		this._call = null;

		/**
		 * Depending on the state of the plugin, this variable contains either
		 * the start time of the timer or the current timer value if it's
		 * paused. Since we start in a paused state we initialize the timer
		 * value.
		 * @type {Number}
		 */
		this._time = 0;

		/**
		 * Stores the timeout currently used.
		 * @type {Number}
		 */
		this._timeout = 0;

		/**
		 * Indicates whenever the autoplay is paused.
		 * @type {Boolean}
		 */
		this._paused = true;

		/**
		 * All event handlers.
		 * @protected
		 * @type {Object}
		 */
		this._handlers = {
			'changed.owl.carousel': $.proxy(function(e) {
				if (e.namespace && e.property.name === 'settings') {
					if (this._core.settings.autoplay) {
						this.play();
					} else {
						this.stop();
					}
				} else if (e.namespace && e.property.name === 'position' && this._paused) {
					// Reset the timer. This code is triggered when the position
					// of the carousel was changed through user interaction.
					this._time = 0;
				}
			}, this),
			'initialized.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._core.settings.autoplay) {
					this.play();
				}
			}, this),
			'play.owl.autoplay': $.proxy(function(e, t, s) {
				if (e.namespace) {
					this.play(t, s);
				}
			}, this),
			'stop.owl.autoplay': $.proxy(function(e) {
				if (e.namespace) {
					this.stop();
				}
			}, this),
			'mouseover.owl.autoplay': $.proxy(function() {
				if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
					this.pause();
				}
			}, this),
			'mouseleave.owl.autoplay': $.proxy(function() {
				if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
					this.play();
				}
			}, this),
			'touchstart.owl.core': $.proxy(function() {
				if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
					this.pause();
				}
			}, this),
			'touchend.owl.core': $.proxy(function() {
				if (this._core.settings.autoplayHoverPause) {
					this.play();
				}
			}, this)
		};

		// register event handlers
		this._core.$element.on(this._handlers);

		// set default options
		this._core.options = $.extend({}, Autoplay.Defaults, this._core.options);
	};

	/**
	 * Default options.
	 * @public
	 */
	Autoplay.Defaults = {
		autoplay: false,
		autoplayTimeout: 5000,
		autoplayHoverPause: false,
		autoplaySpeed: false
	};

	/**
	 * Transition to the next slide and set a timeout for the next transition.
	 * @private
	 * @param {Number} [speed] - The animation speed for the animations.
	 */
	Autoplay.prototype._next = function(speed) {
		this._call = window.setTimeout(
			$.proxy(this._next, this, speed),
			this._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read()
		);

		if (this._core.is('busy') || this._core.is('interacting') || document.hidden) {
			return;
		}

		this._core.next(speed || this._core.settings.autoplaySpeed);
	}

	/**
	 * Reads the current timer value when the timer is playing.
	 * @public
	 */
	Autoplay.prototype.read = function() {
		return new Date().getTime() - this._time;
	};

	/**
	 * Starts the autoplay.
	 * @public
	 * @param {Number} [timeout] - The interval before the next animation starts.
	 * @param {Number} [speed] - The animation speed for the animations.
	 */
	Autoplay.prototype.play = function(timeout, speed) {
		var elapsed;

		if (!this._core.is('rotating')) {
			this._core.enter('rotating');
		}

		timeout = timeout || this._core.settings.autoplayTimeout;

		// Calculate the elapsed time since the last transition. If the carousel
		// wasn't playing this calculation will yield zero.
		elapsed = Math.min(this._time % (this._timeout || timeout), timeout);

		if (this._paused) {
			// Start the clock.
			this._time = this.read();
			this._paused = false;
		} else {
			// Clear the active timeout to allow replacement.
			window.clearTimeout(this._call);
			}

		// Adjust the origin of the timer to match the new timeout value.
		this._time += this.read() % timeout - elapsed;

		this._timeout = timeout;
		this._call = window.setTimeout($.proxy(this._next, this, speed), timeout - elapsed);
	};

	/**
	 * Stops the autoplay.
	 * @public
	 */
	Autoplay.prototype.stop = function() {
		if (this._core.is('rotating')) {
			// Reset the clock.
			this._time = 0;
			this._paused = true;

			window.clearTimeout(this._call);
		this._core.leave('rotating');
		}
	};

	/**
	 * Pauses the autoplay.
	 * @public
	 */
	Autoplay.prototype.pause = function() {
		if (this._core.is('rotating') && !this._paused) {
			// Pause the clock.
			this._time = this.read();
		this._paused = true;

			window.clearTimeout(this._call);
		}
	};

	/**
	 * Destroys the plugin.
	 */
	Autoplay.prototype.destroy = function() {
		var handler, property;

		this.stop();

		for (handler in this._handlers) {
			this._core.$element.off(handler, this._handlers[handler]);
		}
		for (property in Object.getOwnPropertyNames(this)) {
			typeof this[property] != 'function' && (this[property] = null);
		}
	};

	$.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;

})(window.Zepto || window.jQuery, window, document);

/**
 * Navigation Plugin
 * @version 2.1.0
 * @author Artus Kolanowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 */
;(function($, window, document, undefined) {
	'use strict';

	/**
	 * Creates the navigation plugin.
	 * @class The Navigation Plugin
	 * @param {Owl} carousel - The Owl Carousel.
	 */
	var Navigation = function(carousel) {
		/**
		 * Reference to the core.
		 * @protected
		 * @type {Owl}
		 */
		this._core = carousel;

		/**
		 * Indicates whether the plugin is initialized or not.
		 * @protected
		 * @type {Boolean}
		 */
		this._initialized = false;

		/**
		 * The current paging indexes.
		 * @protected
		 * @type {Array}
		 */
		this._pages = [];

		/**
		 * All DOM elements of the user interface.
		 * @protected
		 * @type {Object}
		 */
		this._controls = {};

		/**
		 * Markup for an indicator.
		 * @protected
		 * @type {Array.<String>}
		 */
		this._templates = [];

		/**
		 * The carousel element.
		 * @type {jQuery}
		 */
		this.$element = this._core.$element;

		/**
		 * Overridden methods of the carousel.
		 * @protected
		 * @type {Object}
		 */
		this._overrides = {
			next: this._core.next,
			prev: this._core.prev,
			to: this._core.to
		};

		/**
		 * All event handlers.
		 * @protected
		 * @type {Object}
		 */
		this._handlers = {
			'prepared.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._core.settings.dotsData) {
					this._templates.push('<div class="' + this._core.settings.dotClass + '">' +
						$(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '</div>');
				}
			}, this),
			'added.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._core.settings.dotsData) {
					this._templates.splice(e.position, 0, this._templates.pop());
				}
			}, this),
			'remove.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._core.settings.dotsData) {
					this._templates.splice(e.position, 1);
				}
			}, this),
			'changed.owl.carousel': $.proxy(function(e) {
				if (e.namespace && e.property.name == 'position') {
					this.draw();
				}
			}, this),
			'initialized.owl.carousel': $.proxy(function(e) {
				if (e.namespace && !this._initialized) {
					this._core.trigger('initialize', null, 'navigation');
					this.initialize();
					this.update();
					this.draw();
					this._initialized = true;
					this._core.trigger('initialized', null, 'navigation');
				}
			}, this),
			'refreshed.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._initialized) {
					this._core.trigger('refresh', null, 'navigation');
					this.update();
					this.draw();
					this._core.trigger('refreshed', null, 'navigation');
				}
			}, this)
		};

		// set default options
		this._core.options = $.extend({}, Navigation.Defaults, this._core.options);

		// register event handlers
		this.$element.on(this._handlers);
	};

	/**
	 * Default options.
	 * @public
	 * @todo Rename `slideBy` to `navBy`
	 */
	Navigation.Defaults = {
		nav: false,
		navText: [ 'prev', 'next' ],
		navSpeed: false,
		navElement: 'div',
		navContainer: false,
		navContainerClass: 'owl-nav',
		navClass: [ 'owl-prev', 'owl-next' ],
		slideBy: 1,
		dotClass: 'owl-dot',
		dotsClass: 'owl-dots',
		dots: true,
		dotsEach: false,
		dotsData: false,
		dotsSpeed: false,
		dotsContainer: false
	};

	/**
	 * Initializes the layout of the plugin and extends the carousel.
	 * @protected
	 */
	Navigation.prototype.initialize = function() {
		var override,
			settings = this._core.settings;

		// create DOM structure for relative navigation
		this._controls.$relative = (settings.navContainer ? $(settings.navContainer)
			: $('<div>').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');

		this._controls.$previous = $('<' + settings.navElement + '>')
			.addClass(settings.navClass[0])
			.html(settings.navText[0])
			.prependTo(this._controls.$relative)
			.on('click', $.proxy(function(e) {
				this.prev(settings.navSpeed);
			}, this));
		this._controls.$next = $('<' + settings.navElement + '>')
			.addClass(settings.navClass[1])
			.html(settings.navText[1])
			.appendTo(this._controls.$relative)
			.on('click', $.proxy(function(e) {
				this.next(settings.navSpeed);
			}, this));

		// create DOM structure for absolute navigation
		if (!settings.dotsData) {
			this._templates = [ $('<div>')
				.addClass(settings.dotClass)
				.append($('<span>'))
				.prop('outerHTML') ];
		}

		this._controls.$absolute = (settings.dotsContainer ? $(settings.dotsContainer)
			: $('<div>').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');

		this._controls.$absolute.on('click', 'div', $.proxy(function(e) {
			var index = $(e.target).parent().is(this._controls.$absolute)
				? $(e.target).index() : $(e.target).parent().index();

			e.preventDefault();

			this.to(index, settings.dotsSpeed);
		}, this));

		// override public methods of the carousel
		for (override in this._overrides) {
			this._core[override] = $.proxy(this[override], this);
		}
	};

	/**
	 * Destroys the plugin.
	 * @protected
	 */
	Navigation.prototype.destroy = function() {
		var handler, control, property, override;

		for (handler in this._handlers) {
			this.$element.off(handler, this._handlers[handler]);
		}
		for (control in this._controls) {
			this._controls[control].remove();
		}
		for (override in this.overides) {
			this._core[override] = this._overrides[override];
		}
		for (property in Object.getOwnPropertyNames(this)) {
			typeof this[property] != 'function' && (this[property] = null);
		}
	};

	/**
	 * Updates the internal state.
	 * @protected
	 */
	Navigation.prototype.update = function() {
		var i, j, k,
			lower = this._core.clones().length / 2,
			upper = lower + this._core.items().length,
			maximum = this._core.maximum(true),
			settings = this._core.settings,
			size = settings.center || settings.autoWidth || settings.dotsData
				? 1 : settings.dotsEach || settings.items;

		if (settings.slideBy !== 'page') {
			settings.slideBy = Math.min(settings.slideBy, settings.items);
		}

		if (settings.dots || settings.slideBy == 'page') {
			this._pages = [];

			for (i = lower, j = 0, k = 0; i < upper; i++) {
				if (j >= size || j === 0) {
					this._pages.push({
						start: Math.min(maximum, i - lower),
						end: i - lower + size - 1
					});
					if (Math.min(maximum, i - lower) === maximum) {
						break;
					}
					j = 0, ++k;
				}
				j += this._core.mergers(this._core.relative(i));
			}
		}
	};

	/**
	 * Draws the user interface.
	 * @todo The option `dotsData` wont work.
	 * @protected
	 */
	Navigation.prototype.draw = function() {
		var difference,
			settings = this._core.settings,
			disabled = this._core.items().length <= settings.items,
			index = this._core.relative(this._core.current()),
			loop = settings.loop || settings.rewind;

		this._controls.$relative.toggleClass('disabled', !settings.nav || disabled);

		if (settings.nav) {
			this._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true));
			this._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true));
		}

		this._controls.$absolute.toggleClass('disabled', !settings.dots || disabled);

		if (settings.dots) {
			difference = this._pages.length - this._controls.$absolute.children().length;

			if (settings.dotsData && difference !== 0) {
				this._controls.$absolute.html(this._templates.join(''));
			} else if (difference > 0) {
				this._controls.$absolute.append(new Array(difference + 1).join(this._templates[0]));
			} else if (difference < 0) {
				this._controls.$absolute.children().slice(difference).remove();
			}

			this._controls.$absolute.find('.active').removeClass('active');
			this._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active');
		}
	};

	/**
	 * Extends event data.
	 * @protected
	 * @param {Event} event - The event object which gets thrown.
	 */
	Navigation.prototype.onTrigger = function(event) {
		var settings = this._core.settings;

		event.page = {
			index: $.inArray(this.current(), this._pages),
			count: this._pages.length,
			size: settings && (settings.center || settings.autoWidth || settings.dotsData
				? 1 : settings.dotsEach || settings.items)
		};
	};

	/**
	 * Gets the current page position of the carousel.
	 * @protected
	 * @returns {Number}
	 */
	Navigation.prototype.current = function() {
		var current = this._core.relative(this._core.current());
		return $.grep(this._pages, $.proxy(function(page, index) {
			return page.start <= current && page.end >= current;
		}, this)).pop();
	};

	/**
	 * Gets the current succesor/predecessor position.
	 * @protected
	 * @returns {Number}
	 */
	Navigation.prototype.getPosition = function(successor) {
		var position, length,
			settings = this._core.settings;

		if (settings.slideBy == 'page') {
			position = $.inArray(this.current(), this._pages);
			length = this._pages.length;
			successor ? ++position : --position;
			position = this._pages[((position % length) + length) % length].start;
		} else {
			position = this._core.relative(this._core.current());
			length = this._core.items().length;
			successor ? position += settings.slideBy : position -= settings.slideBy;
		}

		return position;
	};

	/**
	 * Slides to the next item or page.
	 * @public
	 * @param {Number} [speed=false] - The time in milliseconds for the transition.
	 */
	Navigation.prototype.next = function(speed) {
		$.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);
	};

	/**
	 * Slides to the previous item or page.
	 * @public
	 * @param {Number} [speed=false] - The time in milliseconds for the transition.
	 */
	Navigation.prototype.prev = function(speed) {
		$.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);
	};

	/**
	 * Slides to the specified item or page.
	 * @public
	 * @param {Number} position - The position of the item or page.
	 * @param {Number} [speed] - The time in milliseconds for the transition.
	 * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.
	 */
	Navigation.prototype.to = function(position, speed, standard) {
		var length;

		if (!standard && this._pages.length) {
			length = this._pages.length;
			$.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);
		} else {
			$.proxy(this._overrides.to, this._core)(position, speed);
		}
	};

	$.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;

})(window.Zepto || window.jQuery, window, document);

/**
 * Hash Plugin
 * @version 2.1.0
 * @author Artus Kolanowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 */
;(function($, window, document, undefined) {
	'use strict';

	/**
	 * Creates the hash plugin.
	 * @class The Hash Plugin
	 * @param {Owl} carousel - The Owl Carousel
	 */
	var Hash = function(carousel) {
		/**
		 * Reference to the core.
		 * @protected
		 * @type {Owl}
		 */
		this._core = carousel;

		/**
		 * Hash index for the items.
		 * @protected
		 * @type {Object}
		 */
		this._hashes = {};

		/**
		 * The carousel element.
		 * @type {jQuery}
		 */
		this.$element = this._core.$element;

		/**
		 * All event handlers.
		 * @protected
		 * @type {Object}
		 */
		this._handlers = {
			'initialized.owl.carousel': $.proxy(function(e) {
				if (e.namespace && this._core.settings.startPosition === 'URLHash') {
					$(window).trigger('hashchange.owl.navigation');
				}
			}, this),
			'prepared.owl.carousel': $.proxy(function(e) {
				if (e.namespace) {
					var hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');

					if (!hash) {
						return;
					}

					this._hashes[hash] = e.content;
				}
			}, this),
			'changed.owl.carousel': $.proxy(function(e) {
				if (e.namespace && e.property.name === 'position') {
					var current = this._core.items(this._core.relative(this._core.current())),
						hash = $.map(this._hashes, function(item, hash) {
							return item === current ? hash : null;
						}).join();

					if (!hash || window.location.hash.slice(1) === hash) {
						return;
					}

					window.location.hash = hash;
				}
			}, this)
		};

		// set default options
		this._core.options = $.extend({}, Hash.Defaults, this._core.options);

		// register the event handlers
		this.$element.on(this._handlers);

		// register event listener for hash navigation
		$(window).on('hashchange.owl.navigation', $.proxy(function(e) {
			var hash = window.location.hash.substring(1),
				items = this._core.$stage.children(),
				position = this._hashes[hash] && items.index(this._hashes[hash]);

			if (position === undefined || position === this._core.current()) {
				return;
			}

			this._core.to(this._core.relative(position), false, true);
		}, this));
	};

	/**
	 * Default options.
	 * @public
	 */
	Hash.Defaults = {
		URLhashListener: false
	};

	/**
	 * Destroys the plugin.
	 * @public
	 */
	Hash.prototype.destroy = function() {
		var handler, property;

		$(window).off('hashchange.owl.navigation');

		for (handler in this._handlers) {
			this._core.$element.off(handler, this._handlers[handler]);
		}
		for (property in Object.getOwnPropertyNames(this)) {
			typeof this[property] != 'function' && (this[property] = null);
		}
	};

	$.fn.owlCarousel.Constructor.Plugins.Hash = Hash;

})(window.Zepto || window.jQuery, window, document);

/**
 * Support Plugin
 *
 * @version 2.1.0
 * @author Vivid Planet Software GmbH
 * @author Artus Kolanowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 */
;(function($, window, document, undefined) {

	var style = $('<support>').get(0).style,
		prefixes = 'Webkit Moz O ms'.split(' '),
		events = {
			transition: {
				end: {
					WebkitTransition: 'webkitTransitionEnd',
					MozTransition: 'transitionend',
					OTransition: 'oTransitionEnd',
					transition: 'transitionend'
				}
			},
			animation: {
				end: {
					WebkitAnimation: 'webkitAnimationEnd',
					MozAnimation: 'animationend',
					OAnimation: 'oAnimationEnd',
					animation: 'animationend'
				}
			}
		},
		tests = {
			csstransforms: function() {
				return !!test('transform');
			},
			csstransforms3d: function() {
				return !!test('perspective');
			},
			csstransitions: function() {
				return !!test('transition');
			},
			cssanimations: function() {
				return !!test('animation');
			}
		};

	function test(property, prefixed) {
		var result = false,
			upper = property.charAt(0).toUpperCase() + property.slice(1);

		$.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) {
			if (style[property] !== undefined) {
				result = prefixed ? property : true;
				return false;
			}
		});

		return result;
	}

	function prefixed(property) {
		return test(property, true);
	}

	if (tests.csstransitions()) {
		/* jshint -W053 */
		$.support.transition = new String(prefixed('transition'))
		$.support.transition.end = events.transition.end[ $.support.transition ];
	}

	if (tests.cssanimations()) {
		/* jshint -W053 */
		$.support.animation = new String(prefixed('animation'))
		$.support.animation.end = events.animation.end[ $.support.animation ];
	}

	if (tests.csstransforms()) {
		/* jshint -W053 */
		$.support.transform = new String(prefixed('transform'));
		$.support.transform3d = tests.csstransforms3d();
	}

})(window.Zepto || window.jQuery, window, document);

/* End */
/* /bitrix/content_fonts/geometria/geometria.css?1510048236418 */
/* /bitrix/content_fonts/geometria_medium/geometria medium.css?1510048236473 */
/* /bitrix/content_fonts/geometria_light/geometria light.css?1510048236464 */
/* /bitrix/templates/bitrix24_2017/css/owl.carousel.min.css?15109113372936 */
/* /bitrix/templates/bitrix24_2017/css/font-awesome.min.css?151867890329063 */
/* /bitrix/templates/bitrix24_2017/css/animate.css?151867890323848 */
/* /bitrix/templates/bitrix24_2017/css/template.css?151964621320436 */
/* /bitrix/templates/bitrix24_2017/css/content.css?151998056165361 */
/* /bitrix/templates/bitrix24_2017/css/buttons.css?151867890310143 */
/* /bitrix/templates/bitrix24_2017/css/404.css?1518678903968 */
/* /bitrix/templates/bitrix24_2017/js/owl.carousel.fixed.js?151867890386555 */

.bxst-prices-table .bxst-prices-table-body .bxst-prices-table-extra-section-link-item {
    font: 14px/14px "Geometria Medium", "Helvetica Neue", Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
}
.bxst-section a {
    color: #2ecaf7;
    text-decoration: none;
    transition: 160ms color linear, 160ms background-color linear, 160ms opacity linear, 160ms padding linear;
}
