/* Import =========================== */ @import 'css3-mixins'; @import 'variable'; /* Scalize =========================== */ $width: 20px; $height: 20px; .scalize{ transform-origin: top left; position: relative; img.target{ width: 100%; position: relative; z-index: 1; } /* Popover =========================== */ $width-content: 250px; .content{ position: absolute; background: #fff; width: $width-content; display: none; z-index: 99; height: auto; @include box-shadow(0px, 2px, 3px, rgba(0,0,0,0.5)); .head{ position: relative; padding: 10px 15px; background: #efefef; border-bottom: solid 1px #dfdfdf; .title{ margin-bottom: 0; } .exit{ float: right; display: block; width: 38px; height: 38px; border-left: solid 1px #ccc; position: relative; top: -10px; left: 15px; @include opacity(0.5); &:hover{ @include opacity(0.8); background: rgba(0,0,0,0.3); } img{ padding: 7px; width: 100%; } } } .body{ padding: 10px 15px; position: relative; background: #fff; position: relative; img{ width: 100%; } p:last-child{ margin-bottom: 0 } &:before{ content: ''; position: absolute; border: solid 15px transparent; top: 0; } } .footer{ padding: 10px 15px; border-top: solid 1px #dfdfdf; position: relative; } &.center{ .body:before{ top: 50%; margin-top: -24px; } } &.left{ margin-left: -$width-content + -$width + -10px; .body:before{ left: 100%; border-left-color: #fff; border-right: 0; } &.top{ margin-top: -43px; margin-bottom: 0; } &.bottom{ margin-top: 50px; .body:before{ top: 100%; margin-top: -56px; } } } &.right{ margin-left: 50px; .body:before{ right: 100%; border-right-color: #fff; border-left: 0; } &.top{ margin-top: -43px; margin-bottom: 0; } &.bottom{ margin-top: 50px; .body:before{ top: 100%; margin-top: -56px; } } } } } /* Scalize selector =========================== */ .wrap-selector{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: 3; } .scalize .item-point{ display: block; position: absolute; width: $width; height: $height; background: $color2; border: solid 3px $color4; text-decoration: none !important; @include transition(all 0.3s ease-in-out); @include box-shadow(0px, 1px, 2px, rgba(0,0,0,0.5)); /* Toggle =========================== */ > div{ position: relative; cursor: default; z-index: 9; .toggle{ display: block; position: absolute; top: -3px; left: -3px; } } /* styleSelector Circle =========================== */ &.circle{ @include border-radius(50%); &.disabled, &.active{ border: solid 3px $color2; background: $color2; } .toggle{ @include border-radius(50%); } } /* styleSelector Square =========================== */ &.square{ width: 30px; height: 30px; font-weight: 700; line-height: 27px; color: $color-title; background: $color1; border: solid 2px $color4; @include border-radius(4px); text-align: center; &.disabled, &.active{ color: #fff; background: $color4; } > div{ .toggle{ @include border-radius(4px); top: -2px; left: -2px; } } } &.disabled{ .toggle{ cursor: default; } } /* styleSelector Content =========================== */ &.content{ width: 200px; height: 0; border: 0; } /* animationSelector Pulse =========================== */ &.pulse { box-shadow: 0 0 0 $color3; animation: pulse 2s infinite; &:hover { animation: none; } } /* animationSelector Pulse2 =========================== */ &.pulse2{ &:before, &:after { content: ""; margin: -3px 0 0 -3px; position: absolute; box-sizing: border-box; width: $width; height: $height; border: 1px solid $color3; border-radius: 50%; } &:before { animation: blip1 1s infinite cubic-bezier(0, .6, 1, .6); } &:after { animation: blip2 1s infinite linear; } } /* animationSelector marker =========================== */ &.marker{ background: transparent; @include box-shadow(0,0,0); border: 0; &.active{ border: 0; .pin{ background: $color4; &:after { background: $color2; } } } .toggle{ width: 30px; height: 30px; top: -6px; left: -6px; } .pin { width: 30px; height: 30px; border-radius: 50% 50% 50% 0; background: $color2; position: absolute; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); left: 50%; top: 50%; margin: -15px 0 0 -15px; -webkit-animation-name: bounce; -moz-animation-name: bounce; -ms-animation-name: bounce; animation-name: bounce; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; -ms-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration: 1s; -moz-animation-duration: 1s; -ms-animation-duration: 1s; animation-duration: 1s; z-index: 3; &:after { content: ''; width: 14px; height: 14px; margin: 8px 0 0 8px; background: $color4; position: absolute; border-radius: 50%; } } .pulse { background: rgba(0,0,0,0.5); border-radius: 50%; height: 14px; width: 14px; position: absolute; left: 50%; top: 50%; margin: 15px 0px 0px -7px; -webkit-transform: rotateX(55deg); -moz-transform: rotateX(55deg); -ms-transform: rotateX(55deg); transform: rotateX(55deg); z-index: 2; &:after { content: ""; border-radius: 50%; height: 40px; width: 40px; position: absolute; margin: -13px 0 0 -13px; -webkit-animation: pulsate 1s ease-out; -moz-animation: pulsate 1s ease-out; -ms-animation: pulsate 1s ease-out; animation: pulsate 1s ease-out; -webkit-animation-iteration-count: infinite; -moz-animation-iteration-count: infinite; -ms-animation-iteration-count: infinite; animation-iteration-count: infinite; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); -webkit-box-shadow: 0 0 1px 2px $color1; box-shadow: 0 0 1px 2px $color1; -webkit-animation-delay: 1.1s; -moz-animation-delay: 1.1s; -ms-animation-delay: 1.1s; animation-delay: 1.1s; } } } } @import 'animation'; @import 'responsive';