/*
Theme Name: Web Studio X
Theme URI: https://webstudiox.net
Author: Leigh Stevenson
Author URI: https://wordpress.org/
Description: Custom theme created for neilaplin.com by webstudiox.net
Version: 1.0
Text Domain: webstudiox

*/
:root{
    --text:rgb(112,112,112);
    --light:rgb(255,234,234);
    --black: rgb(29,29,29);
    font-family: "Segoe UI", Arial, sans-serif;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0;
    margin: 0;
    padding: 0;
}

*[x-apple-data-detectors], .x-gmail-data-detectors, .x-gmail-data-detectors *,.aBn {
    border-bottom: 0 !important;
    cursor: default !important;
    color: inherit !important;
    text-decoration: none !important;
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

a[href^="tel"] {
  color: inherit;
  text-decoration: none;
}

body{
    margin: 0;
    font-family: "Segoe UI", Arial, sans-serif;
}

#menu-main{
    display: flex; 
    align-items: center;
    justify-content: flex-end;
    list-style: none;
}

#menu-main li a{
   text-decoration: none;
   color: white;
   padding: 2rem 1rem;
   font-size: 1.2rem;
}

.header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    z-index: 8;
}

.header-not-home-page{
    justify-content: space-between;
}

.header-not-home-page .logo-img{
    height:34px;
}

.header-not-home-page .header-fp-logo{
    margin-left: 5%;
}

.logo-a{
    text-decoration: none;
    cursor: pointer;
}

.header-mobile-menu{
    margin-top: 5px;
    margin-right: 10px;
    display: none;
}

.header-mobile-close{
    display: none;
    max-width: 40px;
    padding: 10px;
    margin-left: auto;
    margin-right: 25px;
}

nav{
    padding-right: 10px;
}

@media(max-width:1100px){
    #menu-main li a {
        padding: 10px 10px;
    }
}


@media(max-width:1000px){

    .header-fp-nav{
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        width: 100vw;
        background-color: var(--black);
        display:none;
    }
    .menu-main-container{
        max-height: 100%;
    }
    #menu-main{
        flex-direction: column;
        flex-wrap: wrap;
        height: 100%;
        max-height: 100%;
        justify-content: space-around;
        padding-inline-start: 0;
    }
    #menu-main li a {
        display: block;
        padding: 10px 10px;
        margin-left: 10px;
    }
    #menu-main li{
        border-bottom: 1px dotted rgb(71, 71, 71);
        width: 100%;
    }
    .header-mobile-menu{
        display: block;
    }
}

@media(min-width:1001px){
    .header-mobile-close{
        display: none !important;
    }

    .logo{
        position: fixed !important;  
        display: block !important;
    }

    .header-fp-nav{
        display: block !important;
    }
}

@media (max-width: 1000px) and (orientation: landscape) and (max-height: 400px){
    #menu-main li a {
        padding: 5px 10px;
    }
}

#video-player-container{
    display: none;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(104, 104, 104,.8);
    z-index: 999999;
}


.video-player-wrapper{
    width: 50%;
    text-align: center;
}

@media(max-width:1200px){
    .video-player-wrapper{
        width: 60%;
    }
}
@media(max-width:1000px){
    .video-player-wrapper{
        width: 70%;
    }
}

@media(max-width:600px){
    .video-player-wrapper{
        width: 90%;
    }
}

@media(max-width:800px) and (orientation: landscape){
    .video-player-wrapper{
        width: 70%;
    }
}

#video-player-video{
    aspect-ratio: 16/9;
    width: 100%;
    position: relative;
    z-index: 9999;
}

#video-player-close-img{
    position: absolute;
    top: 3%;
    right: 4%;
    width:35px;
    cursor: pointer;
}

.fp-hero{
    position: relative;
    height: 100vh;
    max-width: 100vw;
    background-color: var(--black);
    overflow: hidden;
}

#fp-video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fp-h1{
    display:none;
}

.home-logo-container{
    position:fixed;
    top:50%;
    left:5%;
    z-index:10;
    background-color: rgba(0, 0, 0, 0.69);
}

.logo-img{
    height:65px;
    margin-top: 3px;
}

.strapline{
    z-index: 10;
    font-size: 35px;
    color: gray;
    text-shadow: white -1px 0px, black 0px 1px, black 1px 0px, black 0px -1px;
    letter-spacing: 1px;
    margin-top:-10px;
    display:block;
    margin-left: 8px;
}

@media(max-width:700px){
    .logo-img{
        height:34px;
    }
    .strapline{
        font-size:18px;
    }
}
@media(max-width:900px){
    .logo-img{
        height:50px;
    }
    .strapline{
        font-size:28px;
    }
}
@media(max-width:1300px){
    .logo-img{
        height:55px;
    }
    .strapline{
        font-size:30px;
    }
}


@media(max-width:1000px){

    .strapline{
        font-size: 1.5rem;
    }
}

@media(max-width:700px){

    .strapline{
        font-size: 1.2rem;
    }
}

@media(max-width:400px){
  
    .strapline{
        font-size: 1.1rem;
    }
}

@media screen and (orientation:landscape) and (max-height: 600px){
  
    .strapline{
    }
}

@media (max-height: 600px){
 
    .strapline{
    }
}

.dotty{
    width: 100%;
  
}

.dotty-bottom{
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
}

@media(max-width:1100px){
    .dotty{
        object-fit: cover;
        height: 105px;
    }
}

.h2, .page-container h2{
    position: relative;
    display: inline-block;
    font-size: 2.3rem;
    margin-bottom: 40px;
}

@media(max-width:600px){
    .h2, .page-container h2{
        margin-bottom: 25px;
        margin-top: 50px;
    }
}

.h2::after, .page-container h2::after{  
    content: "";
    width: 200%;
    border-bottom: 3px solid rgb(204, 204, 204);
    position: absolute;
    left: 0;
    bottom: -6px;
}

.h2::before, .page-container h2::before{
    content: "";
    width: 250%;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    background-color: rgb(204, 204, 204);
    position: absolute;
    left: 200%;
    bottom: -10px;
}

.fp-section{
    margin: 50px auto;
    max-width: 1800px;
    padding: 50px;
}

.fp-blog-container{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    margin: 0 auto;
    padding: 50px;
    max-width: 1800px;
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.fp-blog-post-wrapper{
    background-color: rgb(248,248,248);
    margin: 20px;
    padding: 20px;
    color: var(--text);
    -webkit-box-shadow: 3px 4px 5px -1px rgba(222,222,222,0.62);
    -moz-box-shadow: 3px 4px 5px -1px rgba(222,222,222,0.62);
    box-shadow: 3px 4px 5px -1px rgba(222,222,222,0.62);
}


.fp-post-a{
    text-decoration: none;
    color: unset;
    display: flex;
    align-self: stretch;
    flex-basis: 33.333%;
}

@media(max-width:1200px){
    .fp-blog-container .fp-post-a{
        flex-basis: 100%;
    }

    .fp-blog-container .fp-blog-post-wrapper{
        width: 100%;
    }
}


.fp-post-h3{
    color: var(--black);
}

.moretag{
    font-size: 1rem;
    color: var(--black);
    text-decoration: none;
    margin: 0 3px;
}

.see-more{
    text-decoration: none;
    font-size: 1.4rem;
    color: var(--black);
    font-weight: bold;
    display: block;
    text-align: right;
}

.see-more-white{
    color: white;
}

@media(max-width:850px){
    .fp-blog-container{
        padding: 25px;
    }
    .fp-blog-post-wrapper{
        margin: 15px 5px;
        padding: 10px;
    }

    .h2, .page-container h2{
        font-size: 2rem;
    }
    
}
@media(max-width:700px){
    .fp-section{
        padding: 0;
        margin:50px 14px;
    }
}

@media(max-width:650px){

    .fp-blog-container{
        padding: 10px;
    }
    .h2::after, .page-container h2::after{
        width:125%
    }
    .h2::before, .page-container h2::before{
        left:125%
    }

}

.fp-black-section-wrapper{
    background-color: var(--black);
    margin-top: -5px;
}
.fp-video{
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 50px;
    background-color: var(--black);
}

.h2-white{
    color: white;
    margin-top: 50px;
}

.fp-videos-container{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 50px 0;
    max-width: 100%;
}

.video-wrapper{
    position: relative;
    margin: 0 15px 40px 15px;
    max-width: 300px;
}

.video-thumb-title{
    color: white;
    text-decoration: none !important;
    color:white !important;
    min-height: 42px;
}

.video-thumb-container{
    height: 170px;
    width: 300px;
    color: white;
    text-decoration: none;
}

.video-thumb-img{
    max-width: 100%;
    cursor: pointer;
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.video-thumb-img-play{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-100%);
    width: 40px;
    opacity: .4;
    cursor: pointer;
}

.video-wrapper:hover .video-thumb-img-play{
    width: 55px;
    opacity: 1;
}

@media(max-width:885px){
    .video-wrapper{
        margin: 0 12px 50px 12px;
        max-width: 280px;
    }
    .video-thumb-container{
        height: 158px;
        width: 280px;
    }
    
}

/* signup */

.fp-signup{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.fp-signup-left{
    display: flex;
    flex-basis: 30%;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 30px;
}

.fp-signup-right{
    flex-basis: 60%;
    padding: 30px;
    margin-left: auto;
}

.fp-signup-h4{
    flex-basis: 100%;
    font-size: 2rem;
    margin-bottom: 0;
    margin-top: 0;
}

.fp-signup-p{
    flex-basis: 100%;
    margin-top: 2px;
}

#mailpoet_form_1 form.mailpoet_form{
    display: flex;
    flex-wrap: wrap;
}

.mailpoet_validate_success, .mailpoet_validate_error{
  flex-basis: 100%;
}

.mailpoet_paragraph{
    flex-basis: 75%;
}

.mailpoet_submit{
    background-color: var(--black)!important;
    cursor: pointer;
}

#mailpoet_form_1 .mailpoet_paragraph.last{
    flex-basis: 25%;
}

.mailpoet_validate_success{
    color: black !important;
}


input {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.newsletter-container{
    min-height: 75vh;
}

@media(max-width:1400px){
    .fp-signup-left{
        padding:20px
    }
    
    .fp-signup-right{
        padding: 20px;
    }
}

@media(max-width:1125px){
    .fp-signup-h4{
        font-size: 1.7rem;
    }
}

@media(max-width:1000px){
    .fp-signup-left{
        flex-basis: 100%;
        padding: 30px 30px 0 30px;
        text-align: center;
    }
    
    .fp-signup-right{
        flex-basis: 100%;
        margin: auto;
        padding: 10px 30px 30px 30px;
    }
}


@media(max-width:600px){
    .fp-signup{
        margin: 70px 8px;
    }
    .fp-signup-left, .fp-signup-right{
        padding: 30px 8px 0 8px;
    }

    #mailpoet_form_1 form.mailpoet_form{
        flex-wrap: wrap;
    }
    #mailpoet_form_1 .mailpoet_paragraph{
        flex-basis: 100%;
        margin-bottom: 0 !important;
    }
    
    #mailpoet_form_1 .mailpoet_paragraph.last{
        flex-basis: 100%;
    }
    #form_email_1{
        padding: 15px 0 !important;
        text-align: center;
    }
}







/* PAGES */


.is-layout-flex{
    display: flex;
}

.black-page{
    background-color: var(--black);
    color: white;
}

.white-page{
    background-color: white;
}

.page-content{
    margin: 50px 0;
} 


.wp-block-image{
    text-align: center;
}

.wp-block-image img{
    height: 300px;
    width: auto;
    margin-bottom: 30px;
}

@media(max-width:400px){
    .wp-block-image img{
        max-height: 300px;
        height: unset;
    }
    
}

/* VIDEOS PAGE */

.video-page{
    min-height: 1vh;
}
.page-container{
    max-width: 1200px;
    padding: 100px 50px 100px 50px; 
    margin: auto;
}


.video-page-video-wrapper{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-top: 100px;
}

@media(max-width:465px){
    .page-container{
        padding: 50px 10px 100px 10px; 
    }

    .video-page-h2{
        font-size: 1.7rem;
    }
}




.page-content-wrapper{
    max-width: 700px;
    margin: 100px auto;
}
.page-content-wrapper h3{
    font-size: 2.2rem;
    text-align: center;
    margin: 100px auto 60px auto;
    background-color: rgb(235,235,235);;
}


.page-content-wrapper p, .page-content-wrapper p a, .page-content-wrapper ul li{
    font-size: 1.1rem;
    line-height: 1.5rem;
    color: rgb(54,54,54);
}

.page-content-wrapper p{
    margin-bottom: 30px;
    word-wrap:break-word;
}


@media(max-width:500px){
    .page-content-wrapper{
        margin-top: 50px;
    }
}


/* songs page */

.songs-page{
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.song-wrapper{
    width: 150px;
    border: 1px solid white;
    border-radius: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    color: white;
    margin: 10px;
    text-decoration: none;
}

.song-img{
    width: 75px;
    margin-top: 10px;
}

.song-title{
    flex-basis: 100%;
    text-align: center;
}

@media(max-width:380px){
    .song-wrapper{
        width: 128px;
    }

    .song-img{
        width: 55px;
    }
}



/* single post */

.post-h1{
    text-align: center;
}

#comments{
    margin-top: 100px;
}
#comments h3{
    font-size: 1.7rem;
}

.comment-form-comment{
    display: flex;
    flex-wrap: wrap;
}

#comment{
    padding: 10px;
}

#comment, .comment-form-comment label{
    flex-basis: 100%;
}

.comment-form-cookies-consent label, .comment-notes span{
    font-size: 0.9rem;
}

.comment{
    list-style: none;
    margin: 20px 0;
    background-color: rgb(235,235,235); 
    padding: 10px;
}

.avatar{
    margin-right: 5px;
}

.comment-metadata a{
    text-decoration: none;
    color: black;
    margin-top: 10px;
    font-size: 0.7rem;
}

.comment-content p{
    margin:10px ;
}

.children{
    border-top: 1px solid white;
    margin-top: 15px;

}

#reply-title{
    margin: 50px auto;
}

.comment-reply-link, #commentform #submit{
    padding: 3px 7px;
    font-size: 0.8rem;
    border-radius: 7px;
    background-color: var(--black);
    color: white;
    text-decoration: none;
    cursor: pointer;
}

.comment-reply-link:hover, #commentform #submit:hover{
    background-color: white;
    color: black;
}

#commentform #submit{
    font-size: 1.1rem;
    padding: 7px 10px;
}

.comment-form p{
    margin-bottom: 10px !important;
}

.comment-reply-title a {
    color: black;
    text-decoration: none;
}

.comment-reply-title small{
    display: block;
    position: relative;
    text-decoration: underline;
    font-size: 1rem;
    color: #a70202;
    padding-bottom: 5px;
}
.comment-reply-title small a{
    color: #a70202;
  
}

.emailfail{
    margin-top: 5px;
    color: red !important;
}














.nav-links{
    display: flex;
    justify-content: space-around;
}

.nav-previous, .nav-next{
    flex-basis: 50%;
    color: black;
    text-decoration: none;
}
.nav-previous a, .nav-next a{
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.nav-previous{
    text-align: left;
}
.nav-next{
    text-align: right;
}

.nav-previous::before{
    content: "<<";
}
.nav-next::after{
    content: ">>";
}
.nav-previous::before, .nav-next::after{
    margin-right: 5px;
    letter-spacing: -4px;
    font-size: 1.2rem;
}


/* FOOTER */

.footer{
    background-color: var(--black);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 100px 2% 25px 2%;
    margin-top: -5px;
}


.footer-logo{
    width:400px;
}

.sm-link{
    text-decoration: none;
    padding: 15px;
}

.sm-icon{
    width: 50px;
}

.footer-sm-container, .footer-bottom{
    flex-basis: 100%;
    text-align: center;
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.footer-sm-container .sm-icon{
    width: 40px;
}

.footer-sm-container .sm-link{
    padding: 10px;
}

.footer-bottom{
    margin-top: 100px;
    font-size: .9rem;
}
.wsx a{
    text-decoration: none;
    color: white;
}

@media(max-width:700px){
    .footer-logo{
        width: 250px;
    }
    .sm-link{
        padding: 8px;
    }
    .footer-sm-container .sm-icon{
        width: 30px;
    }
    
}


/* POSTS PAGE */

.posts-page-content{
    display: flex;
    flex-wrap: wrap;

}

.fp-post-excerpt{
    margin-bottom: 10px;
}

.fp-post-excerpt p{
    overflow-wrap: break-word;
  word-wrap: break-word;

  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;

  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.fp-post-date{
    color:black;
    font-size: 0.8rem;
    font-style: italic;
}

.posts-page-content a{
    flex-basis: 100%;
    display: block;
    width: 100%;
}

.post-footer{
    color: black;
    font-size: 0.85rem;
    font-style: italic;
}

.post-date{
    margin-right: 10px;
    font-style: italic;
}



/* CONTACT PAGE */


.contact-intro h3{
    background-color: unset;
    font-size: 1.4rem;
    text-align: left;
    margin: 50px auto 0 0;
}

.contact-intro p{
    margin-top: 5px;
    margin-bottom: 20px;
}

.contact-contact-wrapper{
    margin-top: 150px;
}

.contact-contact-wrapper a{
    display: block;
    color: unset;
    text-decoration: none;
    margin-bottom: 20px;
    font-size: 1.2rem;
}

.contact-contact-wrapper img{
    width: 30px;
    margin-right: 20px;
    margin-bottom: -5px;
}

@media(max-width:400px){
    .contact-contact-wrapper a{
        font-size: 1rem;
    }
    .contact-contact-wrapper img{
        width: 20px;
        margin-right: 15px;
    }
}





/* GALLERY */

.gayyery-wrapper{
    height: 100%;
    width: 100%;
}

.gallery{
    margin: 25px;
    min-width: 200px;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
    cursor: pointer;
}

.gallery-img-container{
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.gallery .gallery-wrapper p{
    display: none;
}

.gallery-thumb-img{
    max-height: 150px;
}





.lightbox{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  height: 100vh;
  width: 100vw;
  max-width: 100%;
  background-color: rgba(0, 0, 0, 0.85);
}

.lightbox-close-container{
    text-align: right;
    margin: 10px 28px;
    cursor: pointer;
}

.lightbox-img-container{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 65%;
}

.lightbox-img{
    max-height: 100%;
    max-width: 90%;
}




.lightbox-caption{
    color: white;
    font-size: 1.3rem;
    text-align: center;
    margin: 10px 10px 20px 10px;
}


.lightbox-control-wrapper{
    display: flex;
    justify-content: center;
    font-size: 0.9rem;
}

.lightbox-arrow{
    height: 20px;
    margin: 2px 10px;
    cursor: pointer;
}

.lightbox-previous{
    transform: rotate(180deg);
}

.lightbox-quantity{
    color: white;
}

@media(max-width:900px){
    .lightbox-close{
        width: 30px;
        height: 30px;
    }
    .lightbox-caption{
    font-size: 1rem;
    margin: 15px;
}


@media (orientation:landscape) and (max-width:700px){
  .lightbox-img-container{
    height: 55%;
  }
}