/* -----------------------
   ----------------------- Normalize ----------------------- */
html { width: 100%; height: 100%; }
body { width: 100%; height: 100%; margin: 0; }


/* -----------------------
   ----------------------- Transitions ----------------------- */
.b-leaflet_box { -webkit-transition: -webkit-transform 400ms, opacity 400ms, visibility 400ms; -moz-transition: -moz-transform 400ms, opacity 400ms, visibility 400ms; -o-transition: -o-transform 400ms, opacity 400ms, visibility 400ms; transition: transform 400ms, opacity 400ms, visibility 400ms; }

.b-leaflet_overlay,
.b-leaflet_box_content { -webkit-transition: opacity 400ms, visibility 400ms; -moz-transition: opacity 400ms, visibility 400ms; -o-transition: opacity 400ms, visibility 400ms; transition: opacity 400ms, visibility 400ms; }


/* -----------------------
   ----------------------- Add to composite layers ----------------------- */
.b-leaflet_box,
.b-leaflet_overlay { -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; backface-visibility: hidden; }


/* -----------------------
   ----------------------- 3D transforms ----------------------- */
.b-leaflet_perspective { position: relative; z-index: 25000; margin-left: auto; margin-right: auto; text-align: left; -webkit-perspective: 1500px; -moz-perspective: 1500px; perspective: 1500px; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; transform-style: preserve-3d; }

@media (min-width: 640px) {

    .m-leaflet-type-image .b-leaflet_perspective { display: inline-block; }

}


/* -----------------------
   ----------------------- Layout ----------------------- */
.b-leaflet { display: table; position: fixed; z-index: 5000; left: 0; top: 0; right: 0; bottom: 0; width: 100%; height: 100%; overflow: hidden; border-collapse: collapse; table-layout: fixed; }
.b-leaflet_inner { display: table-cell; vertical-align: middle; text-align: center; }

@media (max-width: 639px) {

    .m-leaflet-type-image .b-leaflet_inner { padding-left: 32px !important; padding-right: 32px !important; }

}


/* ----------------------- Scroll lock ----------------------- */
.m-leaflet-outer-mode body { overflow-y: scroll; }

.m-leaflet-outer-mode .b-leaflet { position: relative; }
.m-leaflet-outer-mode .b-leaflet_locker { position: fixed; overflow: hidden; left: 0; top: 0; right: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }


/* ----------------------- Scroll unlock ----------------------- */
.m-leaflet-inner-mode .b-leaflet_box_content { max-height: inherit; /*overflow-y: scroll; overflow-x: visible;*/ }


/* -----------------------
   ----------------------- Overlay ----------------------- */
.b-leaflet_overlay { display: none; position: fixed; z-index: 0; left: 0; top: 0; right: 0; bottom: 0; pointer-events: auto; visibility: hidden; opacity: 0; background-color: #000; }
.b-leaflet_overlay_loader { display: none; }

.m-leaflet-overlay .b-leaflet_overlay { display: block; }
.m-leaflet-loading .b-leaflet_overlay { background: #000 url('../../img/icons/loading.gif') center center no-repeat; }

/* * * Webkit bug fix * * */
.b-leaflet_overlay { -webkit-transform: translateZ(-1000px); transform: translateZ(-1000px); }


/* ----------------------- Control buttons ----------------------- */
.b-leaflet_close,
.b-leaflet_direction { -webkit-transition: all 400ms; -moz-transition: all 400ms; -o-transition: all 400ms; transition: all 400ms; }

/* * * Control buttons :: Close * * */
.b-leaflet_close { position: absolute; z-index: 25; top: 0; right: 0; width: 20px; height: 20px; text-align: center; cursor: pointer; overflow: hidden; pointer-events: auto; box-sizing: border-box; }
.b-leaflet_close:before { display: block; position: relative; width: 20px; height: 20px; font-size: 20px; line-height: 1; }

.b-leaflet_box .b-leaflet_close { top: 35px; right: 20px; color: #000; }
.b-leaflet_box .b-leaflet_close:hover { color: #ffcd32; }

@media (max-width: 767px) {

    .b-leaflet_box .b-leaflet_close { top: 20px; }

}

.b-leaflet_overlay ~ .b-leaflet_close { top: 0; right: 0; width: 32px; height: 32px; padding: 0; color: #fff; }
.b-leaflet_overlay ~ .b-leaflet_close:before { margin: 6px; width: 20px; height: 20px; font-size: 20px; line-height: 1; }

.b-leaflet_overlay ~ .b-leaflet_close:hover { color: #ffcd32; }

@media (min-width: 768px) {

    .b-leaflet_overlay ~ .b-leaflet_close { width: 64px; height: 64px; }
    .b-leaflet_overlay ~ .b-leaflet_close:before { margin: 20px; width: 24px; height: 24px; font-size: 24px; line-height: 1; }

}

/* * * Control buttons :: Direction * * */
.b-leaflet_overlay ~ .b-leaflet_nav .b-leaflet_direction { position: fixed; z-index: 5; top: 0; bottom: 0; width: 32px; text-align: center; color: #fff; cursor: pointer; pointer-events: auto; }
.b-leaflet_overlay ~ .b-leaflet_nav .b-leaflet_direction:before { position: absolute; left: 50%; top: 50%; margin: -12px 0 0 -12px; width: 24px; height: 24px; font-size: 24px; line-height: 1; text-align: center; }

.b-leaflet_overlay ~ .b-leaflet_nav .b-leaflet_direction:hover { opacity: .6; background: rgba(0, 0, 0, .25); }

@media (min-width: 768px) {

    .b-leaflet_overlay ~ .b-leaflet_nav .b-leaflet_direction { width: 64px; }

}

.b-leaflet_overlay ~ .b-leaflet_nav .b-leaflet_prev { left: 0; }
.b-leaflet_overlay ~ .b-leaflet_nav .b-leaflet_next { right: 0; }


/* -----------------------
   ----------------------- Box ----------------------- */
.b-leaflet_box { position: relative; z-index: 25; margin-left: auto; margin-right: auto; visibility: hidden; opacity: 0; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; }


/* -----------------------
   ----------------------- Box title ----------------------- */
.b-leaflet_box_title { position: absolute; left: 10px; top: 100%; right: 10px; margin-top: 16px; font: 400 18px/1.2 'Arial', sans-serif; text-align: center; color: #fff; }


/* ----------------------- Content types ----------------------- */
/* * * Content popup * * */
.b-leaflet_box { padding: 75px 40px 45px; font: 400 1.4em 'Arial', sans-serif; color: #000; background: #fff; }
.b-leaflet_box_wrapper_inner { margin-top: 35px; }

@media (max-width: 767px) {

    .b-leaflet_box { padding: 40px 25px 30px; }
    .b-leaflet_box_wrapper_inner { margin-top: 15px; }

}

.b-leaflet_heading { position: relative; margin-bottom: 55px; color: #000; }
.b-leaflet_heading__center { text-align: center; }

.b-leaflet_heading_title { font: 700 40px/1 'Arial Black', 'Arial', sans-serif !important; letter-spacing: .045em; }

@media (max-width: 767px) {

    .b-leaflet_heading { margin-bottom: 32px; }
    .b-leaflet_heading_title { font: 700 24px/1.25 'Arial Black', 'Arial', sans-serif !important; }

}

/* * * Image popup * * */
.m-leaflet-type-image .b-leaflet_box { padding: 0; background: none; }
.m-leaflet-type-image .b-leaflet_box_content { padding: 0; color: #fff; background: none; }

.m-leaflet-type-image .b-leaflet_box_content { overflow: hidden; }
.m-leaflet-type-image .b-leaflet_box_content img { display: block; max-width: 100%; margin: 0 auto; }

/* * * IFrame popup * * */
.m-leaflet-type-iframe .b-leaflet_box { padding: 0; background: none; border: 3px solid #fff; border-radius: 3px; }
.m-leaflet-type-iframe .b-leaflet_box_content { padding: 0; color: #fff; background: none; }

.m-leaflet-type-iframe .b-leaflet_box_iframe { position: relative; height: 0; padding-bottom: 56.470588235294%; overflow: hidden; }
.m-leaflet-type-iframe .b-leaflet_box_iframe iframe { position: absolute; left: 0; top: 0; right: 0; bottom: 0; width: 100%; height: 100%; max-width: none; max-height: none; -webkit-backface-visibility: visible; -moz-backface-visibility: visible; backface-visibility: visible; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); transform: translateZ(0); }


/* ----------------------- Box show methods ----------------------- */
.b-leaflet_box,

.b-leaflet_content,
.b-leaflet_content * { -webkit-transform: translateZ(0); -moz-transform: translateZ(0); transform: translateZ(0); }

/* * * Scale * * */
.m-leaflet-scale-transition .b-leaflet_box { -webkit-transform: scale(.6, .6); -moz-transform: scale(.6, .6); -ms-transform: scale(.6, .6); transform: scale(.6, .6); }

/* * * Super scale * * */
.m-leaflet-superScale-transition .b-leaflet_box { -webkit-transform: scale(1.4, 1.4); -moz-transform: scale(1.4, 1.4); -ms-transform: scale(1.4, 1.4); transform: scale(1.4, 1.4); }

/* * * Drop * * */
.m-leaflet-drop-transition .b-leaflet_box { -webkit-transform: translate(0, -150%); -moz-transform: translate(0, -150%); -ms-transform: translate(0, -150%); transform: translate(0, -150%); }

/* * * Newspaper * * */
.m-leaflet-newspaper-transition .b-leaflet_box { -webkit-transform: scale(.2, .2) rotate(720deg); -moz-transform: scale(.2, .2) rotate(720deg); -ms-transform: scale(.2, .2) rotate(720deg); transform: scale(.2, .2) rotate(720deg); }


/* * * Drop 3d * * */
.m-leaflet-drop3d-transition .b-leaflet_box { -webkit-transform-origin: top; -moz-transform-origin: top; -ms-transform-origin: top; transform-origin: top; -webkit-transform: translate3d(0, -100px, 0) rotateX(-90deg); -moz-transform: translate3d(0, -100px, 0) rotateX(-90deg); -ms-transform: translate3d(0, -100px, 0) rotateX(-90deg); transform: translate3d(0, -100px, 0) rotateX(-90deg); }

/* * * Flip 3d * * */
.m-leaflet-flip3d-transition .b-leaflet_box { -webkit-transform-origin: center top; -moz-transform-origin: center top; -ms-transform-origin: center top; transform-origin: center top; -webkit-transform: rotateY(-70deg); -moz-transform: rotateY(-70deg); -ms-transform: rotateY(-70deg); transform: rotateY(-70deg); }

/* * * Flip 3d Vertical * * */
.m-leaflet-flip3dVertical-transition .b-leaflet_box { -webkit-transform-origin: 0 50%; -moz-transform-origin: 0 50%; -ms-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: rotateX(-70deg); -moz-transform: rotateX(-70deg); -ms-transform: rotateX(-70deg); transform: rotateX(-70deg); }

/* * * Side fall * * */
.m-leaflet-sideFall-transition .b-leaflet_box { -webkit-transform-origin: 50%; -moz-transform-origin: 50%; -ms-transform-origin: 50%; transform-origin: 50%; -webkit-transform: translate(30%) translateZ(600px) rotate(10deg); -moz-transform: translate(30%) translateZ(600px) rotate(10deg); -ms-transform: translate(30%) translateZ(600px) rotate(10deg); transform: translate(30%) translateZ(600px) rotate(10deg); }
