*
{
    font-family: 'Open Sans', sans-serif;
}
.row.nm 
{
    margin-left:auto;
    margin-right:auto;
}
.np 
{
    padding:0;
}
.headertop,.footerstripe
{
    background-color:#000;
    color:#fff;
    font-size:14px;
    padding:2px 0;
}
.headertop strong,.footerstripe strong
{
    color:#8dc63f;
}
.mainheader
{
    padding:15px 0;
    display:block;
}
.mainheader .container
{
    position: relative;
}
.headerlogo
{
    margin-right:15px;
}
.menuicon
{
    position:relative;
    top:12px;
    cursor:pointer;
}
.menuicon div
{
        width: 25px;
        height: 3px;
        background-color: #000;
        margin: 5px 0;
}
.menuicon.open div
{
    background-color:#8dc63f;
}
.menu
{
    position:absolute;
    top:100%;
    right:15px;
    background:#fff;
    list-style-type: none;
    z-index:100;
    padding:0 15px;
    border-top:3px solid #8dc63f;
    border-bottom:3px solid #8dc63f;
    display:none;
}
.menu.open
{
    display:block;
}
.menu li
{
    display:block;
}
.menu li:not(:last-child)
{
    border-bottom:1px solid #ddd;
}
.menu li a
{
    text-transform:uppercase;
    line-height:30px;
    color:#000;
}
.menu li a:hover
{
    color:#8dc63f;
}
.cover
{
    position:relative;
    margin-bottom:90px;
}
.cover::before
{
    z-index:1;
    background-image: url('../images/background.jpg');
    background-size:cover;
    position:absolute;
    left:0;
    top:0;
    right:0;
    bottom:45px;
    content:"";
}
.cover::after
{
    z-index:2;
    background:rgba(0,0,0,0.7);
    position:absolute;
    left:0;
    top:0;
    right:0;
    bottom:45px;
    content:"";
}
.cover h1
{
    position:absolute;
    left:0;
    right:0;
    top:75px;
    z-index:5;
    font-size:55px;
    color:#fff;
    text-shadow:0 0 4px #000;
    text-align:center;
    font-weight:bold;
}
.coverimg
{
    position:relative;
    z-index:5;
    border-bottom:8px solid #8dc63f;
}
.readmore
{
    z-index:7;
    position:absolute;
    left:50%;
    margin-left:-170px;
    max-width:340px;
    text-align:center;
    bottom:-40px;
}
.readmore .fill
{
    padding:27px 45px 0 45px;
    background-color:#fff;
    border-left:2px solid #8dc63f;
    border-bottom:2px solid #8dc63f;
    border-right:2px solid #8dc63f;
}
.readmore .caption
{
    background-color:rgba(0,0,0,0.7);
    color:#fff;
    font-size:22px;
    padding:5px 0;
}
.readmore .read
{
    color:#fff;
    background-color:#8dc63f;
    text-transform:uppercase;
    padding:12px;
    font-weight:bold;
    position:relative;
    top:24px;
    cursor:pointer;
}
.readmore .read:hover
{
    text-decoration: underline;
}
.about
{
    text-align:center;
    padding-bottom:45px;
    display:none;
}
.about p
{
    font-size:18px;
    text-align:justify;
    color:#555;
    margin-bottom:10px;
}
.about p:last-of-type
{
    margin-bottom:30px;
}
h2
{
    font-weight:bold;
    font-size:33px;
    padding-bottom:15px;
    border-bottom:1px solid #555;
}
.dark
{
    background-image:url('../images/dark.jpg');
    background-size:cover;
    position:relative;
    text-align:center;
    padding-top:30px;
    padding-bottom:30px;
}
.dark h2
{
    border-bottom-color:#fff;
    color:#fff;
    margin-bottom:20px;
}
.dark p
{
    color:#fff;
}
.dark *
{
    z-index:3;
    position:relative;
}
.dark::after,
.previews .caption:after
{
    z-index:2;
    background:rgba(0,0,0,0.7);
    position:absolute;
    left:0;
    top:0;
    right:0;
    bottom:0px;
    content:"";
}
.carousel-indicators li
{
    border-radius:50%;
    width:10px;
    height:10px;
    border:none;
}
.carousel-indicators
{
    margin-top:30px;
    margin-bottom:0;
}
#reviewscarousel .carousel-item .col-12
{
    background-color:#8dc63f;
    color:#fff;
    padding:25px 0;
    border-left:15px solid #7aad37;
    text-align:left;
}
#reviewscarousel .carousel-item .col-12::after
{
    content:"";
    width:80px;
    height:100%;
    top:0;
    left:100%;
    position:absolute;
    background:url('../images/corner.png');
    background-size:100% 100%;
}
#reviewscarousel .carousel-item .container
{
    padding-right:95px;
}
#reviewscarousel .carousel-item p
{
    font-weight:bold;
    min-height:50px;
}
#reviewscarousel .carousel-item::before
{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    width:1241242px;
    background-color:rgba(255,255,255,0.05);
}
.quotesymbol
{
    opacity:50%;
    float:left;
    border-right:2px solid white;
    margin-right:30px;
}
.reviewtext
{
    overflow:hidden;
}
.previews, .previews .container
{
    position:relative;
}
.instruments
{
    margin-top:45px;
    margin-bottom:45px;
}
.previews
{
    margin-top:45px;
    margin-bottom:75px;
}
.previews .caption
{
    color:#fff;
    background:url('../images/caption.jpg');
    background-size:cover;
    position:relative;
    padding:30px;
}
.previews .caption *
{
    position:relative;
    z-index:10;
}
.previews .controls
{
    background-color:rgba(141,198,63,0.95);
    padding:15px;
    position:absolute;
    bottom:-30px;
    left:45px;
    right:45px;
    text-align:center;
    z-index:10;
}
.previews .controls select
{
    font-size:16px;
    min-width:150px;
}
.previews .controls select:first-of-type
{
    margin-right:15px;
}
.previews .controls ul
{
    margin:0 auto;
    padding:0;
    line-height:32px;
}
.previews .controls li
{
    border:1px solid #fff;
    color:#fff;
    display:inline-block;
    list-style-type:none;
    margin-right:2px;
    padding:5px 5px;
    border-radius:5px;
    line-height:14px;
    font-size:11px;
    cursor:pointer;
}
.previewwrapper
{
    position:relative;
}
.previews .controls li:hover
{
    background-color:rgba(255,255,255,0.3);
}
.previews .controls li.active
{
    background-color:#fff;
    color:#8dc63f;
}
.previews .previewoverlay
{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    z-index:3;
}
ul.portfolio
{
    padding-left:0;
}
ul.portfolio li
{
    color:#fff;
    display:inline-block;
    list-style-type:none;
    margin-right:10px;
}
ul.portfolio li::before
{
    content:"•";
    color:#8dc63f;
    margin-right:5px
}
ul.portfolio li.moreitems
{
    color:#8dc63f;
    cursor:pointer;
}
ul.portfolio li.moreitems::before
{
    display:none;
}
ul.portfolio li.hiddenitems
{
    display:none;
}
#portfoliocarousel2
{
    display:none;
}
#portfoliocarousel img,#portfoliocarousel2 img
{
    border:2px solid rgba(255,255,255,0.2);
    cursor:pointer;
    transition:0.25s;
}
#portfoliocarousel img:hover
{
    border:2px solid rgba(255,255,255,0.4);
}
#portfoliocarousel .row,
#instrumentscarousel .row
{
    margin-left:-5px;
    margin-right:-5px;
}
#portfoliocarousel2 .carousel-control-prev,
#portfoliocarousel2 .carousel-control-next
{
    position:absolute;
}
#portfoliocarousel .col-3,
#instrumentscarousel .col-4
{
    padding:5px;
}
#instrumentscarousel .carousel-indicators
{
    position:relative;
}
#instrumentscarousel .carousel-indicators li
{
    background-color:#000;
}
#instrumentscarousel2
{
    display:none;
}
#instrumentscarousel2 .carousel-control-next-icon,
#instrumentscarousel2 .carousel-control-prev-icon
{
    border:3px solid #8dc63f;
    background-color:#8dc63f;
}
.instruments
{
    text-align:center;
}
.instwrap
{
    border-top:1px solid #aaa;
    border-left:1px solid #aaa;
    border-right:1px solid #aaa;
}
.about h2, .instruments h2
{
    margin-bottom:20px;
}
.instname
{
    background-color: #8dc63f;
    color:#fff;
    text-transform:uppercase;
    padding:5px;
}
footer
{
    background:url('../images/footer.jpg');
    background-size:cover;
    overflow:hidden;
    position:relative;
}
footer::before
{
    height:30px;
    width:100%;
    top:0;
    left:0;
    right:0;
    content:"";
    position:absolute;
    background:rgba(255,255,255,0.3);
}
.formwrap
{
    padding:0;
}
.contactform
{
    background-color:#3b2314;
    padding:0 10px 10px 10px;
}
.contactform .formtitle
{
    color:#fff;
    text-align:center;
    font-size:26px;
    line-height:46px;
    margin-top:60px;
}
.contactform p
{
    margin-bottom:0;
}
div.contactform span.ajax-loader
{
    display:none;
}
div.wpcf7-validation-errors,div.wpcf7-response-output
{
    color:#fff;
}
.contactform input[type="text"],.contactform input[type="email"],.contactform textarea
{
    width:100%;
    background-color:rgba(255,255,255,0.9);
    margin-bottom:5px;
    padding:10px;
    border:none;
}
.contactform textarea
{
    vertical-align: top;
    min-height:160px;
    height:160px;
    resize:none;
}
.contactform input[type="submit"]
{
    background:#8dc63f;
    color:#fff;
    text-transform:uppercase;
    text-align:center;
    width:100%;
    border:none;
    padding:10px;
}
.contactform button:hover
{
    text-decoration:underline;
}
.footerlogo
{
    align-self: flex-end;
    background-color:#fff;
    text-align:center;
    padding-top:30px;
}
.footerlogo::before
{
    height:30px;
    width:123123px;
    bottom:100%;
    content:"";
    position:absolute;
    background:rgba(255,255,255,0.3);
}
.footerlogo.left::before
{
    right:0;
}
.footerlogo.right::before
{
    left:0;
}
.footerlogo::after
{
    height:100%;
    width:123123px;
    top:0;
    content:"";
    position:absolute;
    background:#fff;
}
.footerlogo.left::after
{
    right:100%;
}
.footerlogo.right::after
{
    left:100%;
}
.footerstripe
{
    padding:10px;
    border-top:30px solid white;
}
@media(min-width:992px) and (max-width:1199px)
{
    .cover h1
    {
        top:40px;
    }
}
@media(max-width:991px)
{
     #portfoliocarousel2
    {
        display:block;
    }
    #portfoliocarousel
    {
        display:none;
    }
    #instrumentscarousel2
    {
        display:block;
    }
    #instrumentscarousel
    {
        display:none;
    }
    .previews .caption
    {
        padding-bottom:0;
    }
    .previews .controls
    {
        padding:15px;
        position:relative;
        bottom:auto;
        left:auto;
        right:auto;
        text-align:center;
    }
    .cover h1
    {
        top:30px;
        font-size:40px;
    }
    .readmore
    {
        bottom:-80px;
    }
    .cover
    {
        margin-bottom:140px;
    }
    .footerlogo
    {
        display:none;
    }
    .formwrap
    {
        padding-left:15px;
        padding-right:15px;
        margin-bottom:30px;
    }
    .footerstripe
    {
        border-top:none;
    }
}
@media(max-width:767px)
{
    .cover h1
    {
        font-size:30px;
    }
    .readmore
    {
       bottom:-130px;
    }
    .readmore .caption
    {
        font-size:18px;
    }
    .cover
    {
        margin-bottom:190px;
    }
    #reviewscarousel .carousel-item .container
    {
        padding-right:35px;
    }
    #reviewscarousel .carousel-item .col-12
    {
        padding:15px;
    }
    #reviewscarousel .carousel-item .col-12::after
    {
        width:20px;
    }
    #reviewscarousel .carousel-item .quotesymbol
    {
        float:none;
        display:block;
        border:none;
    }
    #reviewscarousel .carousel-item .reviewtext
    {
        padding:0 15px 15px 15px;
    }
}
@media(max-width:575px)
{
    #reviewscarousel .carousel-item .container
    {
        padding-right:15px;
    }
    #reviewscarousel .carousel-item .col-12::after
    {
        display:none;
    }
    .coverimg
    {
        display:none;
    }
    .readmore
    {
        margin-top:60px;
        position:relative;
        bottom:auto;
        max-width:300px;
        margin-left: auto;
        margin-right: auto;
        left:auto;
    }
    .cover h1
    {
        position:relative;
    }
    .cover
    {
        margin-bottom:60px;
    }
    .cover::after
    {
        display:none;
    }
}
@media(max-width:400px)
{
    .headerlogo
    {
        width: 240px;
    }
    .menuicon
    {
        top:7px;
    }
}