@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;600;700;800&display=swap');

/* CUSTOM PROPERTY VARIABLES */
:root {
    --bp-xs: 576px;
    --bp-sm: 768px;
    --bp-md: 992px;
    --bp-lg: 1200px;
    --bp-xl: 1400px;
}


body {
    font-size:15px;
    font-family: 'Figtree', sans-serif;
    font-weight: 400;
    line-height: 1.3;
    background-color:#edf0f3;
    color:#24303d;
}

h1, h2 {
    color:#24303d;
    font-size:4rem;
    font-weight:800;
    margin-top:0;
    margin-bottom:3rem;
    line-height:1.1;
}

h2 {
    color:#24303d;
    font-size:3rem;
    font-weight:800;
    margin-top:0;
    margin-bottom:2.5rem;
    line-height:1.25;
}

p {
    font-size:1.5rem;
    color:#24303d;
    margin-bottom:1.5rem;
    line-height:1.5;
}

p.med {
    font-size:0.9rem;
}

a {
    text-decoration:none;
}

.container {
    max-width:1900px;
    padding:0 4rem;
}

.btn-primary {
    padding:10px 40px;
    background-color:#85639e;
    color:#fff;
    font-size:1.6rem;
    font-weight:800;
    border:0;
    width:50%;
}

.btn-primary:hover {
    background-color:#a180ba;
}

.top-margin {
    margin-top:20px;
}


#nav {
    background-color:#1f2936;
    padding:40px 0;
    display:flex;
}

#nav .container {
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
}

#nav img {
    height:40px;
}

#nav-links {
    float:right;
}

#nav-links .link {
    display:inline-block;
    margin-left:2rem;
}

#nav-links form {
    margin:0;
}

#nav-links button {
    padding:0;
    border:0;
    margin:0;
    background-color:transparent;
}

#nav-links a, #nav-links button {
    font-weight:800;
    color:#fff;
    font-size:1.6rem;
}

#nav-links a:hover {
    text-decoration:none;
    color:#fff;
}



.section {
    padding:80px 0;
}
.section.no-bottom-padding {
    padding-bottom:0;
}


#hero {
    max-height:800px;
    overflow:hidden;
    background-color:#24303d;
}

#hero h1, #hero h2, #hero p {
    color:#fff;
}

#hero a, #hero a:hover {
    color:#fff;
    font-weight:800;
}

#hero img {
    width:100%;
}



#playlists {
    background: #edf0f3;
    overflow:hidden;
    /*background: linear-gradient(58deg, rgba(223,227,231,1) 0%, rgba(203,212,224,1) 20%, rgba(237,240,243,1) 70%, rgba(245,247,249,1) 100%);*/
}

#playlists .image-container {
    padding:0 60px;
    text-align:center;
}

#playlists img {
    width:100%;
    max-width:690px;
    margin:0 auto;
    filter: drop-shadow(0px 120px 100px rgba(142,159,179,0.6));
}



#upcoming {
    text-align:center;
    background-color:#242e39;
    overflow:hidden;
}

#upcoming h1, #upcoming h2, #upcoming p {
    color:#fff;
}

#upcoming p {
    max-width:600px;
    margin:0 auto;
}

#upcoming img {
    margin-top:3rem;
    width:100%;
    max-width:600px;
    filter: drop-shadow(0px 160px 120px rgba(133,99,158,0.9));
}



#sign-up {
    background-color:#1d2630;
}

#sign-up .container {
    max-width:1400px;
}

#sign-up h2, #sign-up p {
    color:#fff;
}

#sign-up p.blue {
    color:#8fa2b9;
}

#sign-up p.small {
    color:#8fa2b9;
    font-size:1rem;
}



#faq {
    background-color:#fff;
}

#faq .container {
    max-width:1400px;
}

#faq .faq-heading {
    text-align:center;
}

#faq .col-12 {
    margin-bottom:2rem;
}



#pre-footer {
    height:200px;
    background-image:url(../images/pre-footer-bg.png);
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center 65%;
}



#footer {
    min-height:350px;
    background-color:#edf0f3;
}

#footer .container {
    max-width:1400px;
}

#footer h3 {
    font-weight:600;
    color:#7f8fa2;
}

#footer p {
    color:#7f8fa2;
}

#footer a {
    color:#7f8fa2;
    font-weight:700;
}

#footer .links {
    padding-top:1.5rem;
}

#footer .links, #footer .links a {
    font-size:0.8rem;
    color:#7f8fa2;
    font-weight:600;
}

#footer .links .sep {
    display:inline-block;
    width:1rem;
}

#footer .badges {
    text-align:center;
}

#footer .badges img {
    height:60px;
    margin:1rem 1rem;
}



#content-page {
    background-color:#24303d;
}

#content-page .container {
    max-width:1400px;
}

#content-page h1 {
    font-size:1.8rem;
    color:#fff;
}

#content-page h2 {
    font-size:1.2rem;
    margin-bottom:1rem;
    color:#fff;
}

#content-page h3 {
    font-size:1rem;
    margin-bottom:1rem;
    color:#fff;
}

#content-page p, #content-page li {
    font-size:1rem;
    color:#a2b3c9;
}

#content-page a, #content-page a:hover {
    color:#a2b3c9;
    font-weight:800;
}



/* SHARE */
#share-container {
    padding-top: 35px;
    padding-bottom: 35px;
    background-color:#222d3a;
    /*padding:50px 60px;*/
}

#share-container h1 {
    color:#fff;
    font-size:2.5rem;
}

#share-container h2 {
    color:#fff;
    font-size:1.2rem;
    margin-bottom:15px;
}

#share-container h3 {
    font-size:0.9rem;
    font-weight:700;
    color:#b56b51;
}

#share-container .spotify {
    float:right;
    font-size:1.2rem;
    padding-left:35px;
    background-image:url('../images/spotify.svg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 25px 25px;
    color: #1db954;
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-primary.dropdown-toggle {
    color: #fff;
    /* box-shadow: 0 3px 3px rgba(0, 0, 0, 0.03), 0 3px 3px rgba(0, 0, 0, 0.08); */
    box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.03), 0px 3px 0px rgba(0, 0, 0, 0.03);
    background-color: #85639e;
    border-color: #85639e;
}

#release h1 {
    margin-bottom:15px;
}

#release .date, #release .date.today, #release .date.recent {
    font-size:0.9rem;
    margin-bottom:1rem;
}

#release p.title {
    margin-bottom:10px;
}

#release .artists {
    font-size:1.4rem;
}

#release .artists div.artist {
    display:inline-block;
    color:#c2adcd;
}

#release .artists img, p.label img {
    width:11px;
    height:11px;
    margin-bottom:10px;
}

#release .release-artwork {
    border-radius:10px;
    background-color:#3c4755;
    margin:0px 0 30px 0;
    aspect-ratio:16/9;
    overflow:hidden;
    background-position:50% 50%;
    background-repeat:no-repeat;
    background-size:cover;
}

#release .release-artwork .btn {
    width:100%;
}

#release p.label {
    margin-top:15px;
    font-size:0.7rem;
    color:#a4aeb4;
}

#release ul.tracks {
    margin-left:0;
    padding-left:0px;
    margin-top:20px;
}
#release ul.tracks li {
    list-style-type:none;
    font-size:1rem;
    margin-bottom:10px;
    vertical-align:middle;
    /*border-bottom:1px solid #ecedee;
    padding-bottom:10px;*/
}
#release ul.tracks li span {
    color:#fff;
    font-weight:600;
    margin-top:0px;
    /*line-height:16px;*/
    vertical-align:middle;
}
#release ul.tracks li span.track-number {
    display:inline-block;
    background-color:#b56b51;
    width:16px;
    height:16px;
    border-radius:8px;
    text-align:center;
    line-height:17px;
    font-size:0.6rem;
    color:#fff;
    font-weight:800;
    margin-right:5px;
    margin-top:0px;
    vertical-align:middle;
}
span.item-type.repeat {
    float:right;
    display:inline-block;
    line-height:1.3;
    cursor:pointer;
}
#release ul.tracks li span.repeat {
    margin-left:10px;
}

#release-details-navigation {
    float:right;
    width:120px;
    padding-top:7px;
    text-align:right;
}

#release-details-navigation div {
    display:inline-block;
    margin:0 10px;
    position:relative;
}

#release-details-navigation span {
    position:absolute;
    z-index:5;
    top:0;
    margin-top:13px;
    width:10px;
    height:10px;
    border-radius:5px;
    background-color:#fff;
    display:block;
}
#release-details-navigation i {
    position:absolute;
    z-index:10;
    top:0;
    margin-top:10px;
}
#release-details-navigation div.previous span {
    left:0;
    margin-left:-5px;
}
#release-details-navigation div.previous i {
    left:0;
    margin-left:-7px;
}
#release-details-navigation div.next span {
    right:0;
    margin-right:-5px;
}
#release-details-navigation div.next i {
    right:0;
    margin-right:-7px;
}

#release-details-navigation img {
    width:36px;
    border-radius:18px;
}

/* LIST ITEMS */
.item {
    margin-bottom:20px;
    display:flex;
    align-items:center;
    flex-direction:row;
    position:relative;
}
.item.top-align {
    align-items:start;
}
.box.item.new-release {
    /*padding-bottom:45px;*/
    min-height:170px;
}
.box.item.upcoming {
    min-height:118px;
}
.item .artwork {
    border-radius:10px;
    background-color:#4d5968;
    aspect-ratio:1/1;
    background-repeat:no-repeat;
    background-size:cover;
    position:relative;
}
.item.not-saved .artwork {
    background-color:#313d4c;
}
.item .artwork.floated {
    float:left;
    min-width:75px;
    max-width:75px;
    margin-right:15px;
}
.item .artwork .spinner-border {
    top:50%;
    margin-top:-15px;
}

.item .headings {
    padding:3px 0;
    min-width: 0;
    flex:1;
}
.item .headings.short {
    flex:0.5;
}
.item .headings p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.item .headings .date, #release .date {
    font-weight:700;
    color:#b56b51;
    font-size:0.8rem;
    margin-bottom:6px;
}
.item .headings .main {
    font-weight:600;
    color:#fff;
    /*margin-top:20px;*/
    margin-bottom:0px;
    font-size:1.2rem;
}
.item .headings .sub {
    font-weight:600;
    color:#a2b3c9;
    margin-top:6px;
    margin-bottom:0px;
    font-size:1rem;
}
.item .headings .small {
    color:#a2b3c9;
    margin-top:8px;
    margin-bottom:0px;
    font-size:0.8rem;
}

.item .single-heading {
    /*float:left;*/
    font-weight:600;
    color:#fff;
    font-size:1.2rem;
}
.item .single-heading:after {
    clear:both;
}
.item .single-heading-cell {
    display:table;
    height:100%;
}
.item .single-heading .item-heading {
    margin-top:0;
    display:table-cell;
    vertical-align:middle;
}
.item .icons {
    float:right;
    text-align:right;
    height:40px;
    align-self:flex-end;
    padding-top:10px;
}

.item .release-info {
    position:absolute;
    bottom:0;
    left:0;
    margin-left:105px;
    margin-bottom:15px;
}

.item .release-info .item-type {
    margin-right:3px;
    display:inline-block;
    /*border-bottom-left-radius:0px;
    border-bottom-right-radius:0px;*/
}
a .box:hover .item-type.blue {
    background-color:#4d5a6a;
}

.item.small {
    padding:5px;
    margin-bottom:10px;
}
.item.small .artwork.floated {
    margin:2px 10px 1px 7px;
    border-radius:8px;
    min-width:40px;
    max-width:40px;
}
.item.small .headings .main {
    font-size:1rem;
}
.item.small .headings .sub {
    margin-top:4px;
    font-size:0.8rem;
}
.item.small .headings .small {
    margin-top:4px;
    font-size:0.6rem;
}

.selected .box.item {
    background-color:#e8deed;
}
.selected .item .artwork {
    background-color:#dccee3;
}
.selected .item .headings .main {
    color:#85639e;
}

.more-items {
    text-align:center;
    font-size:1.2rem;
    color:#fff;
    text-transform:uppercase;
}
.more-items a {
    color:#fff;
}

.item-type {
    display:inline-block;
    font-size:0.7rem;
    font-weight:600;
    /*background-color:#b56b51;*/
    background-color:#424f5e;
    color:#fff;
    height:18px;
    margin-right:3px;
    padding:3px 5px 3px 5px;
    border-radius:3px;
    /*text-transform:uppercase;*/
}
.item-type.purple, .item-type.default, .item-type.playlist.default {
    background-color:var(--color-purple);
}
.item-type.playlist {
    background-color:#6b798a;
}
.item-type.blue {
    /*background-color:#3c4755;*/
    background-color:#424f5e;
}
.item-type.custom {
    background-color:#b56b51;
}
.item-type.right-margin {
    margin-right:3px;
}

.box.item.today {
    /*background-color:#4b5664;
    border-top:2px solid var(--color-today);*/
    background-color:#3c4a59;
    border-top:2px solid #535f6d;
    /*border-top:2px solid #8b5542;*/
    /*border-top:2px solid var(--color-today);*/
}
.box.item.tomorrow {
    /*background-color:#4b5664;
    border-top:1px solid var(--color-tomorrow);*/
    background-color:#3c4a59;
    /*border-top:2px solid #8c756d;*/
    border-top:2px solid #535f6d;
}
a .box.item.today:hover, a .box.item.tomorrow:hover {
    /*background-color:#505c6a;*/
    background-color:#455465;
}
.item.recent .headings .date, #release .date.recent {
    font-weight:800;
    color:#d58265;
}
.item.today .headings .date, #release .date.today {
    background-color:var(--color-today);
    display:inline-block;
    color:#fff;
    padding:3px 5px;
    border-radius:3px;
    font-weight:800;
    margin-bottom:3px;
}
.item.tomorrow .headings .date {
    background-color:var(--color-tomorrow);
    display:inline-block;
    color:#fff;
    padding:3px 5px;
    border-radius:3px;
    font-weight:800;
    margin-bottom:3px;
}
.item.today .item-type.blue, .item.today:hover .item-type.blue {
    background-color:#5e6a79;
}
/*.box.item.tomorrow {
    background-color:#4b5664;
    border-top:2px solid var(--color-purple);
}
a .box.item.tomorrow:hover {
    background-color:#505c6a;
}
.item.tomorrow .headings .date {
    color:#a785bf;
    font-weight:800;
}*/

.item {
    position:relative;
}
.item .date-added {
    position:absolute;
    right:0;
    bottom:0;
    margin:0 15px 12px 0;
    color:#637286;
    font-weight:600;
    font-size:0.8rem;
    background-size:11px 11px;
    background-position:left 1.25px;
    background-repeat:no-repeat;
    background-image:url('../images/added.svg');
    padding:0 0 0 16px;
}
.item.tomorrow .date-added {
    color:#7a8798;
}
.item .date-added.today {
    background-image:url('../images/added-today.svg');
    color:var(--color-addedtoday);
    font-weight:800;
}

@media (max-width: 575.98px) {
    .item .artwork.floated {
        min-width:50px;
        max-width:50px;
    }

    .item .release-info {
        margin-left:80px;
    }
}



/* SIGN UP */

#sign-up-form, #set-up-form {
    background-color:#24303d;
}

.fadeout {
    animation: fadeout 0.5s 1;
    -webkit-animation: fadeout 0.5s 1;
    animation-fill-mode: forwards;
    animation-delay: 5s;
    -webkit-animation-delay: 5s;
    -webkit-animation-fill-mode: forwards;
}

.pagestate-container {
    position: fixed;
    top: 0;
    left: 0px;
    width: 100%;
    z-index: 1050;
    text-align: center;
}

.box {
    padding: 15px;
    background-color: #34404e;
    /* background-color: #3c4755; */
    border-radius: 10px;
    /* border: 1px solid #e5e8ec; */
    /* box-shadow: 0 3px 3px rgba(0,0,0,0.03), 0 3px 3px rgba(0,0,0,0.06); */
    margin: 0 0px 20px 0;
}

.box.extra-padding {
    padding: 30px 30px 30px 30px;
}

#login-form {
    text-align: left;
    /* background-color: #293947; */
    /* color: #fff; */
    max-width: 500px;
    min-height:580px;
    margin: 0 auto;
    position:relative;
    /*box-shadow: 0 3px 0px rgba(0,0,0,0.04), 0 3px 0px rgba(0,0,0,0.08);*/
}

#login-form #usersetup-spinner.spinner-border {
    width:60px;
    height:60px;
    position:absolute;
    margin:75px auto 0 -30px;
    top:0;
    left:50%;
}

#login-form h1 {
    color:#fff;
    font-size:1.8rem;
    margin-bottom:1.5rem;
}

#login-form h2 {
    color:#fff;
    font-size:1.2rem;
}

#login-form p {
    color:#fff;
    font-size:1rem;
    font-weight:400;
    margin-bottom:1rem;
}

#login-form a {
    color: #a785bf;
    font-weight: 700;
}

#login-form a:hover {
    /* color: #9672b0; */
    color: #c8abdd;
    text-decoration: none;
    font-weight: 700;
}

#login-form .form-note, #login-form p.form-note, .box p.form-note {
    color: #97a5b1;
    font-size: 0.8rem;
}

#login-form .form-group p.field-note {
    font-size:0.9rem;
    font-weight:700;
    /*font-style:italic;*/
}
#login-form .form-group p.field-note.success {
    color: #6e9f3e;
}
#login-form .form-group p.field-note.error {
    color: #e85563;
}
#login-form .form-group p.field-note.warning {
    color: #e4af01;
}

#login-form .button-container {
    margin-top:1rem;
}

.form-group {
    margin-bottom:1rem;
}

.form-group-separator {
    clear: both;
    height: 40px;
}

.form-group-separator.sm {
    clear: both;
    height: 10px;
}

.form-control {
    color: #1f2e3b;
    border-color: #e5e8ec;
    font-size: 1rem;
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
}

.form-control:focus {
    border-color: #d6c7de;
    box-shadow: 0 0 0 0.2rem rgba(214,199,222,.5);
}

label {
    color: #fff;
    /* color: #6e8293; */
    /* color: #97a5b1; */
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom:0.5rem;
}

.button-container {
    position: relative;
    display: inline-block;
    margin-top:1.5rem;
}

.justify-content-center {
    -ms-flex-pack: center!important;
    justify-content: center!important;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.spinner-border {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: text-bottom;
    border: .25em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spinner-border .75s linear infinite;
    animation: spinner-border .75s linear infinite;
}

.spinner-border {
    display: none;
    text-align: center;
    position:absolute;
    z-index:99;
    top:0;
    left:50%;
    margin:4px 0 0 -15px;
    border-color:#85639e;
    border-right-color:transparent;
}
.spinner-border.content {
    border-color:#8495a7;
    border-right-color:transparent;
}
.spinner-border.display {
    display:inline-block;
}

.button-container .spinner-border {
    position: absolute;
    z-index: 5;
    left: 50%;
    margin-left: -10px;
    margin-top: 4px;
    /* color: #fff; */
    width: 20px;
    height: 20px;
    border-color: #fff;
    border-right-color: transparent;
}

#login-form .btn {
    text-align: center;
    text-transform: uppercase;
    font-size: 0.8rem;
    font-weight: 700;
    border-radius:.25rem;
    /* font-family: 'proximanova-semibold'; */
}

#login-form .btn-primary {
    width:auto;
    color: #fff;
    background-color: #85639e;
    border-color: #85639e;
    padding: 6px 15px 5px 15px;
    /* box-shadow: 0 3px 3px rgba(0,0,0,0.03), 0 3px 3px rgba(0,0,0,0.08); */
    box-shadow: 0px 3px 0px rgba(0,0,0,0.03), 0px 3px 0px rgba(0,0,0,0.03);
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

.btn:disabled, .btn-primary.disabled {
    background-color: /*#d9d3dc*/#d0d4d8;
    border-color: #d0d4d8;
    color: /*#7d6f85*/#6f7174;
    opacity: 0.4;
}

.btn:disabled:hover {
    background-color: #d0d4d8;
    border-color: #d0d4d8;
    color: #6f7174;
}

.btn:active, .btn:focus {
    outline: none !important;
}

#login-form .btn.submitted:disabled, #login-form .btn-primary.submitted, #login-form .btn.submitted {
    background-color: #946da9;
    border-color: #946da9;
    color:#946da9;
    opacity:1;
} 

.errorsummary, .validation-summary-errors {
    /* border: 1px solid #ef99a1; */
    background-color: #f1cece;
    padding: 15px 15px 10px 15px;
    border-radius: 5px;
    color: #e85563;
    margin-bottom: 20px;
    text-align: left;
}

.errorsummary ul, .validation-summary-errors ul {
    margin-bottom: 3px;
    padding-left: 10px;
}

.errorsummary li, .validation-summary-errors li {
    margin-left: 5px;
    margin-bottom: 5px;
}

.pagestate-container {
    position: fixed;
    top: 0;
    left: 0px;
    width: 100%;
    z-index: 1050;
    text-align: center;
}
body.dashboard .pagestate-container.top-margin {
    top:65px;
}
.fadeout {
     animation:fadeout 0.5s 1;
    -webkit-animation:fadeout 0.5s 1;
    animation-fill-mode: forwards;

    animation-delay:5s;
    -webkit-animation-delay:5s; /* Safari and Chrome */
    -webkit-animation-fill-mode: forwards;
}
@keyframes fadeout{
    0% {opacity:1;display:block;}
    99.9% {opacity:0;}
    100% {opacity:0;display:none;}
/*    from {opacity :1;display:block;}
    to {opacity :0;display:none;}
*/}

@-webkit-keyframes fadeout{
    0% {opacity:1;display:block;}
    99.9% {opacity:0;}
    100% {opacity:0;display:none;}
/*    from {opacity :1;display:block;}
    to {opacity :0;display:none;}
*/}

.pagestate {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top: 0px;
    padding: 10px 20px;
    /* border-radius: 5px; */
    /* margin-top: 85px; */
    /* height: 35px; */
    /* line-height: 45px; */
    font-size: 1.2rem;
    margin-bottom: 0px;
}
.pagestate.success {
    display:block;
    opacity:1;
    background-color: #dff1ce;
    border: 1px solid #bdd6a6;
    color: #639235;
    box-shadow: 0px 4px 3px rgba(86,119,55,0.05), 0px 4px 3px rgba(86,119,55,0.1);
}
.pagestate.error {
    display:block;
    opacity:1;
    background-color: #f1cece;
    border: 1px solid #d6a6a6;
    color: #923535;
    box-shadow: 0px 4px 3px rgba(119,55,55,0.05), 0px 4px 3px rgba(119,55,55,0.1);
}

/* PRETTY CHECKBOX OVERRIDES */
.pretty {
    margin-bottom: 5px;
    white-space:normal;
}

    .pretty.p-plain.p-plain.product-visibility .icon {
        -webkit-transform: scale(1.6);
        -ms-transform: scale(1.6);
        transform: scale(1.6);
        margin-top: 2px;
    }

    .pretty.product-visibility .state label {
        text-indent: 1.7rem;
        height: 1.1rem;
        line-height: 1.1rem;
    }

.p-on label {
    color: #5cb85c;
}

.p-off label {
    color: #bdc3c7;
}

.pretty.product-variants {
    float: left;
}

.pretty.p-switch .state label {
    padding-top: 3px;
    text-indent: unset;
    padding-left:40px;
    line-height:1.3;
}

    .pretty.p-switch .state label:after, .pretty.p-switch .state label:before {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
        margin-top: 2px;
    }

.pretty.p-switch .state label:after, .pretty.p-switch .state label:before {
    top:0;
    left: 3px;
    border-color: transparent;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.pretty.p-switch.p-fill input:checked ~ .state label:after {
    /*left: 1.1em;*/
}

.pretty.p-switch.p-fill input:checked ~ .state:before {
    border-color: #85639e;
    background-color: #85639e !important;
    /*border-color: #506476;
    background-color: #506476 !important;*/
}

.pretty.p-switch input:checked ~ .state:before {
    border-color: #85639e;
}

.pretty.p-switch .state:before {
    content: '';
    border: 1px solid #dde1e7;
    border-radius: 60px;
    width: 2em;
    box-sizing: unset;
    /*height: calc(1em + 2px);*/
    height:18px;
    position: absolute;
    top: 0;
    /*top: calc((0% - (100% - 1em)) - 16%);*/
    z-index: 0;
    transition: all .5s ease;
}

.pretty .state label {
    padding-left:21px;
    text-indent:unset;
    font-weight:700;
}
.pretty .state label:before {
    border-color: #fff;
}
.pretty .state label:after, .pretty .state label:before {
    top: calc((0% - (100% - 1em)) - 19%);
}
/* Radio buttons */
.pretty.p-round .state label:after, .pretty.p-round .state label:before {
    top: calc((0% - (100% - 1em)) + 1px);
}
.pretty.p-round .state .icon {
    margin-top:-1px;
}
.pretty.p-default input:checked~.state label:after {
    background-color: #85639e!important;
}


@media (max-width: 1400px) {

    .section {
        padding:40px 0;
    }

}

@media (max-width: 1200px) {

    #nav {
        padding:30px 0;
    }

    #footer .badges {
        text-align:left;
    }

    #footer .badges img {
        margin:1rem 1rem 1rem 0;
    }

}


@media (max-width: 991px) {

    #faq .col-12 {
        margin-bottom:1.25rem;
    }

}


@media (max-width: 576px) {

    #nav img {
        height:30px;
    }

    .container {
        padding:0 1.75rem;
    }

    .section {
        padding:45px 0;
    }

    h1 {
        font-size:2.8rem;
        font-weight:700;
        line-height:1.1;
        margin-bottom:2rem;
    }

    h2 {
        font-size:1.9rem;
        font-weight:700;
        line-height:1.2;
        margin-bottom:1.5rem;
    }

    p {
        font-size:1.1rem;
        line-height:1.4;
    }

    #faq .col-12 {
        margin-bottom:1rem;
    }

    #nav-links .link {
        margin-left:1rem;
    }

    #nav-links a, #nav-links button {
        font-size:1rem;
    }

    #hero {
        max-height:1000px;
    }

    #hero .image-container {
        margin-top:2rem;
        margin-right:-1.75rem;
        overflow:hidden;
    }

    #hero img {
        width:175%;
    }

    #playlists .image-container {
        padding:1.25rem 0rem 2.5rem 0rem;
    }

    #playlists img {
        filter: drop-shadow(0px 40px 80px rgba(142,159,179,0.6));
    }

    #sign-up p.small {
        font-size:0.8rem;
    }

    .btn-primary {
        width:100%;
        font-size:1.4rem;
        padding:8px 40px;
    }

    #pre-footer {
        background-position:80% 95%;
        background-size:125%;
        background-clip:content-box;
    }

    #footer .links .sep {
        display:block;
        width:100%;
        margin:0;
        height:1rem;
    }

    #footer .links a {
        display:block;
        width:100%;
        margin:0 0 0 0;
    }

    #footer .badges img {
        height:40px;
    }

}



