podcastartgenerator/site/resources/scss/defaults/_button.scss

248 lines
5.2 KiB
SCSS

.btn {
position: relative;
overflow: hidden;
font-size: 16px;
padding: 9px 35px;
display: inline-flex;
align-items: center;
color: #fff;
border-radius: 50px;
height: 50px;
min-height: 50px;
font-weight: 600;
@include xs-device {
font-size: 14px;
padding: 7px 35px;
height: 42px;
min-height: 42px;
}
@include tiny-device {
padding: 7px 25px;
}
span {
display: inline-flex;
z-index: 1;
line-height: 1;
font-family: $font-1;
}
&:focus {
box-shadow: none;
}
i {
padding-right: 8px;
}
&:hover {
color: #fff;
transform: translateY(-1px);
}
}
.btn-medium {
font-size: 15px;
padding: 8px 30px;
height: 46px;
min-height: 46px;
@include xs-device {
font-size: 14px;
}
}
.btn-small {
font-size: 14px;
padding: 6px 25px;
height: 40px;
min-height: 40px;
@include tiny-device {
font-size: 15px;
height: 36px;
min-height: 36px;
}
}
.btn-outline {
border: 2px solid rgba(255, 255, 255, 0.7);
padding-top: 9px;
padding-bottom: 9px;
&::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(97.3deg, #dd2476 0%, #ff512f 100%);
transition: transform 0.5s;
transform-origin: right;
transform: scaleX(0);
z-index: 0;
border-radius: inherit;
}
&:hover {
&::before {
transform: scaleX(1);
transform-origin: left;
transition: transform 0.5s;
}
border-color: #dd2476;
background: $color-primary;
}
i {
transition: 0.1s;
}
&.no-hover {
&::before {
display: none;
}
}
&.btn-medium {
padding-top: 8px;
padding-bottom: 8px;
}
}
.btn-gradient {
background: linear-gradient(97.3deg, #ff512f 0%, #dd2476 100%);
&::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(97.3deg, #dd2476 0%, #ff512f 100%);
transition: transform 0.5s;
transform-origin: right;
transform: scaleX(0);
z-index: 0;
border-radius: inherit;
}
&:hover {
&::before {
transform: scaleX(1);
transform-origin: left;
transition: transform 0.5s;
}
}
}
.btn-prime {
background: $color-primary;
}
.btn-black {
background: transparent;
@extend .btn-outline;
&::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(97.3deg, #dd2476 0%, #ff512f 100%);
transition: transform 0.5s;
transform-origin: right;
transform: scaleX(0);
z-index: 0;
border-radius: inherit;
}
&:hover {
&::before {
transform: scaleX(1);
transform-origin: left;
transition: transform 0.5s;
}
}
}
.btn-play {
padding: 0;
&:hover {
color: $color-primary;
}
span {
text-decoration: underline;
}
i {
font-size: 40px;
color: $color-primary;
@include xs-device {
font-size: 35px;
}
}
}
// back to top
.rn-progress-parent {
position: fixed;
right: 30px;
bottom: 30px;
height: 46px;
width: 46px;
cursor: pointer;
display: block;
border-radius: 50px;
box-shadow: inset 0 0 0 2px #0d0d12;
z-index: 10000;
opacity: 0;
visibility: hidden;
transform: translateY(15px);
-webkit-transition: all 200ms linear;
transition: all 200ms linear;
}
.rn-progress-parent.rn-backto-top-active {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.rn-progress-parent::after {
position: absolute;
font-family: "remixicon" !important;
content: "\EA76";
text-align: center;
line-height: 46px;
font-size: 24px;
color: $color-primary;
left: 0;
top: 0;
height: 46px;
width: 46px;
cursor: pointer;
display: block;
z-index: 2;
-webkit-transition: all 200ms linear;
transition: all 200ms linear;
}
.rn-progress-parent:hover::after {
color: $color-primary;
}
.rn-progress-parent::before {
position: absolute;
font-family: "remixicon" !important;
content: "\EA76";
text-align: center;
line-height: 46px;
font-size: 24px;
opacity: 0;
background: #0d0d12;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
left: 0;
top: 0;
height: 46px;
width: 46px;
cursor: pointer;
display: block;
z-index: 2;
-webkit-transition: all 200ms linear;
transition: all 200ms linear;
}
.rn-progress-parent:hover::before {
opacity: 1;
}
.rn-progress-parent svg path {
fill: none;
}
.rn-progress-parent svg.rn-back-circle path {
stroke: $color-primary;
stroke-width: 4;
box-sizing: border-box;
-webkit-transition: all 200ms linear;
transition: all 200ms linear;
}