/*
Theme Name: Vine and Partners LLP
Theme URI: http://2gen.net
Description: Custom Vine and Partners LLP Wordpress theme by 2gen.net.
Author: 2gen.net
Author URI: http://2gen.net
Version: 1.0 <strong>(Wordpress 4.1+ only)</strong>
*/

/*
*
* GLOBAL
*
*/
* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body { font-family: 'Open Sans', sans-serif; font-size: 16px; font-weight: 400; color: #4a4a4a; background-color: #FFF; line-height: 28px; }

.btn { background-color: #; border-radius: 1px; font-size: 14px; font-weight: 700; color: #FFF; padding: 12px 30px; }
.btn:hover { color: #FFF; background-color: #115286; }
.btn-vine { background-color: #1c67a3; }
.btn-vine i { margin-right: 8px; }


/*
*
* HEADER
*
*/
.mast-head { background-color: #1c67a3; border-bottom: 6px solid #6eab88; color: #FFF; font-size: 14px; height: 56px; font-weight: 700; position: relative; z-index: 10; }
  .mast-head p { margin: 0; line-height: 56px; }
  .mast-controls {  }
    .mast-controls .client-login { margin-right: 16px; padding-left: 45px; padding-top: 14px; padding-bottom: 14px; background: url('images/icons/client-login.png') no-repeat 15px center #115286; float: left; opacity: 1; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; }
    .mast-controls .search { display: inline-block; line-height: 56px; width: 28px; height: 50px; margin-left: 15px;   }
    
#search-form { display: inline; }
  #search-form input { height: 50px; border-radius: 0; border: none; background: url('images/icons/search.png') no-repeat center center transparent; width: 28px; cursor: pointer; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; outline: none; }
  #search-form input:focus { cursor: text; width: 200px; background-position: 93% center; padding: 0 40px 0 10px; background-color: #115286; }
  #search-form input:focus + a { opacity: 0; }


.mast-controls .navbar-toggle { margin: 0; padding: 26px 10px 0 0; }
  .mast-controls .navbar-toggle .icon-bar { background-color: #FFF; width: 30px; height: 3px; }
  
.mast-controls .navbar-toggle .icon-bar { margin-top: -3px; -webkit-transform: translate3d(0,0,0); -moz-transform: translate3d(0,0,0); -ms-transform: translate3d(0,0,0); -o-transform: translate3d(0,0,0); transform: translate3d(0,0,0);
    -webkit-transition: all 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -moz-transition: all 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -ms-transition: all 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -o-transition: all 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: all 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .mast-controls .navbar-toggle .icon-bar:last-child { display: none; }
  .mast-controls .navbar-toggle .icon-bar:nth-child(2n) { -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg); }
  .mast-controls .navbar-toggle .icon-bar { -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }
  
  .mast-controls .navbar-toggle.folded { padding: 15px 10px; }
    .mast-controls .navbar-toggle.folded .icon-bar { transform: none; }
    .mast-controls .navbar-toggle.folded .icon-bar + .icon-bar { margin-top: 6px; }
    .mast-controls .navbar-toggle.folded .icon-bar:last-child { display: block; }
    
.top-head { }
  .top-head .header-logo img { padding: 25px 0; }
  .top-head .header-contact { padding: 38px 0; }
    .top-head .header-contact > div { float: left; }
      .top-head .header-contact .contact-card { background-repeat: no-repeat; background-color: transparent; background-position: left center; padding-left: 45px; line-height: 22px; font-size: 14px; text-transform: uppercase; }
      .top-head .header-contact .contact-card.contact-phone { background-image: url('images/icons/phone.png');  margin-right: 70px; }
      .top-head .header-contact .contact-card.contact-email { background-image: url('images/icons/email.png'); }
        .top-head .header-contact .contact-card p { margin: 0; }
        .top-head .header-contact .contact-card a { font-weight: 700; text-transform: none; color: #4a4a4a; }
      .top-head .header-contact .social-contact { padding-left: 30px; line-height: 1px; }
        .top-head .header-contact .social-contact a { display: inline-block; width: 32px; height: 32px; background-repeat: no-repeat; background-color: transparent; background-position: center center; margin: 0 8px; }
        .top-head .header-contact .social-contact a.facebook { background-image: url('images/logos/facebook.png'); }
        .top-head .header-contact .social-contact a.linkedin { background-image: url('images/logos/linkedin.png'); }
        
        
/*
*
* MAIN MENU
*
*/
ul.nav li.dropdown:hover > ul.dropdown-menu {
  display: block;
}
.bottom-head { background-color: #ebebeb; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2); position: relative; z-index: 2; }
.navbar-vine { margin: 0; font-size: 16px; font-weight: 400; border: none; }
  .navbar-vine .navbar-nav > li > a { text-transform: uppercase; padding-left: 36px; padding-right: 36px; }
  .navbar-vine .navbar-nav a { color: #4a4a4a; }
  .navbar-vine .navbar-nav a:hover,
  .navbar-vine .navbar-nav .current-menu-item > a,
  .navbar-vine .navbar-nav li:hover > a { background-color: #1c67a3; color: #FFF; }
  .navbar-vine .navbar-nav .current-menu-item > a:hover { background-color: #115286; }
  .navbar-vine .navbar-nav .dropdown-menu { border: none; min-width: 100%; }
  
  
.drawer { z-index: 5; }
.drawer.drawer-right { border-left: none; box-shadow: none; }
.drawer-expanded .drawer.drawer-right { box-shadow: -10px 0 8px rgba(0, 0, 0, 0.3); }
#mobileDrawer { }
  #mobileDrawer .drawer-contents { background-color: #FFF; }
  #mobileDrawer .drawer-fullnav { font-size: 16px; }
    #mobileDrawer .drawer-fullnav li { }
      #mobileDrawer .drawer-fullnav a i { margin-right: 14px; }
  #mobileDrawer .menu-main-container { }
    #mobileDrawer .menu-main-container li { border-bottom: 1px solid #ebebeb; }
    #mobileDrawer .menu-main-container a { color: #4a4a4a; }
    #mobileDrawer .menu-main-container .current-menu-item a { background-color: #1c67a3; color: #FFF; }
      #mobileDrawer .menu-main-container .current-menu-item a .caret { background-color: #115286; }
    #mobileDrawer .menu-main-container a:hover,
    #mobileDrawer .menu-main-container a:active,
    #mobileDrawer .menu-main-container .current-page-parent a { background-color: #1c67a3; color: #FFF; }
      #mobileDrawer .menu-main-container a:hover .caret,
      #mobileDrawer .menu-main-container a:active .caret,
      #mobileDrawer .menu-main-container .current-page-parent a .caret { background-color: #115286; }
    #mobileDrawer .menu-main-container a .caret { position: absolute; right: 0; border: none !important; background-color: #1c67a3; top: 0; bottom: 0; width: 44px; height: 100%; }
    #mobileDrawer .menu-main-container a .caret:before {   content: '';
  display: block;
  height: 0;
  position: absolute;
  width: 0;
  overflow: hidden;
  top: calc(50% - 5px);
  left: calc(50% - 8px);
  z-index: 2;
  border-top: 10px #FFF solid;
  border-left: 10px transparent solid;
  border-right: 10px transparent solid; }
  #mobileDrawer .menu-main-container .current-page-parent a .caret { background-color: #045526; }
  #mobileDrawer .menu-main-container .dropdown-menu { position: relative; float: none; box-shadow: none; border: none; background-color: #FFF; }
    #mobileDrawer .menu-main-container .dropdown-menu li { border-bottom: none; }
    #mobileDrawer .menu-main-container .dropdown-menu a { color: #4a4a4a; font-size: 14px; background-color: transparent; position: relative; padding: 6px 15px; }
    #mobileDrawer .menu-main-container .dropdown-menu a:hover,
    #mobileDrawer .menu-main-container .dropdown-menu a:active,
    #mobileDrawer .menu-main-container .dropdown-menu .current-menu-item a { color: #1c67a3; }
  #mobileDrawer .menu-main-container .current_page_parent.dropdown > .dropdown-menu,
  #mobileDrawer .menu-main-container .current-menu-item.dropdown > .dropdown-menu { display: block; }
  
  #mobileDrawer .contact-card { background-repeat: no-repeat; background-color: transparent; background-position: left center; padding-left: 45px; line-height: 22px; font-size: 14px; text-transform: uppercase; margin: 15px 12px; float: left; }
  #mobileDrawer .contact-card.contact-phone { background-image: url('images/icons/phone.png'); }
  #mobileDrawer .contact-card.contact-email { background-image: url('images/icons/email.png'); }
    #mobileDrawer .contact-card p { margin: 0; }
    #mobileDrawer .contact-card a { font-weight: 700; text-transform: none; color: #4a4a4a; }
  #mobileDrawer .social-contact { line-height: 24px; float: right; margin-right: 12px; }
    #mobileDrawer .social-contact a { display: inline-block; width: 32px; height: 32px; background-repeat: no-repeat; background-color: transparent; background-position: center center; margin: 0 8px; }
    #mobileDrawer .social-contact a.facebook { background-image: url('images/logos/facebook.png'); }
    #mobileDrawer .social-contact a.linkedin { background-image: url('images/logos/linkedin.png'); }

  #mobileDrawer .mast-controls-mobile { margin-top: 20px; padding-left: 15px; padding-right: 15px; }
    #mobileDrawer .mast-controls-mobile .btn-darkblue { background-color: #115286; width: 100%; margin-bottom: 10px; }
      #mobileDrawer .mast-controls-mobile .btn-darkblue i { background: url('images/icons/client-login.png') no-repeat center center transparent; margin-right: 10px; vertical-align: text-bottom; display: inline-block; width: 24px; height: 24px; }
    #mobileDrawer .mast-controls-mobile #search-form-mobile { position: relative; }
      #mobileDrawer .mast-controls-mobile #search-form-mobile input { background-color: #f2f2f2; color: #9b9b9b; border: none; padding: 11px 55px 11px 20px; width: 100%; }
      #mobileDrawer .mast-controls-mobile #search-form-mobile i { color: #9b9b9b; position: absolute; top: 14px; right: 25px; font-size: 24px; }
  
  #mobileDrawer .drawer-contents > div:last-child { margin-bottom: 40px; }

/*
*
* FEATURED IMAGE
*
*/
.home .hero-container .hero-image { height: 600px; }
.hero-container { position: relative; z-index: 1; }
  .hero-container .hero-image { height: 220px; background-position: center center; background-color: transparent; background-repeat: no-repeat; background-size: cover; }
    .hero-container .hero-image .hero-screen { background-color: #1c67a3; opacity: 0.9; width: 100%; height: 100%; }
      .hero-container h1,
      .hero-container h2 { font-weight: 300; font-size: 48px; color: #FFF; margin: 84px 0; }

/*
*
* FRONT CAROUSEL
*
*/
#carousel-front-page { margin-bottom: 20px; }
	#carousel-front-page .carousel-indicators { bottom: 16px; }
	#carousel-front-page .carousel-indicators li { background-color: #fff; border: 0 none; height: 16px; margin: 0; width: 16px; }
	#carousel-front-page .carousel-indicators li + li { margin-left: 11px; }
	#carousel-front-page .carousel-indicators .active { background-color: #007845; border: 0 none; height: 16px; width: 16px; }
	#carousel-front-page .carousel-image { background-position: center center; background-size: cover; height: 600px; }
	#carousel-front-page .carousel-caption { height: 100%; text-shadow: none; }
	#carousel-front-page .carousel-caption {	display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; -webkit-align-items: center; }
	#carousel-front-page .carousel-caption-in { width: 100%; }
	#carousel-front-page .slide-title { font-size: 64px; margin-top: 0; margin-bottom: 0; }
	#carousel-front-page .slide-subtitle { font-size: 36px; font-weight: 100; margin-top: 0; }
	#carousel-front-page .slide-content { font-size: 18px; line-height: 25px; }
	#carousel-front-page .slide-cta { margin-top: 45px; }

.btn-cta { background-color: #fff; border: 0 none; color: #4a4a4a; position: relative; text-transform: uppercase; }
.btn-cta:after { border-left: 1px solid #d7d7d7; color: #1c67a3; content: '\e029'; display: block; font-family: 'Glyphicons Halflings'; font-size: 20px; height: auto; line-height: 40px; position: absolute; top: 0; right: 0; bottom: 0; text-align: center; width: 40px; }
	.btn-cta.btn-lg { border-radius: 4px; font-size: 15px; line-height: 20px; padding-right: 57px; }

.btn-slide { background-color: #fff; border: 0 none; color: #4a4a4a; position: relative; text-transform: uppercase; }
.btn-slide:after { border-left: 1px solid #d7d7d7; color: #1c67a3; content: '\e029'; display: block; font-family: 'Glyphicons Halflings'; font-size: 20px; height: auto; line-height: 40px; position: absolute; top: 0; right: 0; bottom: 0; text-align: center; width: 40px; }
	.btn-slide.btn-lg { border-radius: 4px; font-size: 15px; line-height: 20px; padding-right: 57px; }


/*
*
* MAIN STYLES
*
*/
.page-overlay { z-index: 3; background-color: rgba(0,0,0,0.4); width: 100%; height: 100%; position: absolute; display: none; top: 56px; }
.admin-bar .page-overlay { top: 88px; }
.drawer-expanded .page-overlay { display: block; }
.drawer-expanded { position: fixed; overflow-y: scroll; left: 0; right: 0; }

.ctabox { font-size: 14px; color: #4a4a4a; line-height: 24px; }
  .ctabox h3 { color: #1c67a3; font-size: 16px; font-weight: 700; text-transform: uppercase; }

.ctabox-icon { }  
  .ctabox-icon .cta-icon { display: inline-block; background-color: #1c67a3; background-repeat: no-repeat; background-position: center center; border-radius: 50%; width: 100px; height: 100px; }
  .ctabox-icon hr { max-width: 34px; border-color: #6EAB88; border-width: 6px; }

.ctabox-image { line-height: 20px; }
  
.cta-top-container { text-align: center; position: relative; margin-top: -50px; z-index: 1; }

.archive aside,
.search aside,
.blog aside { margin-top: 30px; }


/*
*
* SIDEBAR
*
*/
.widget { margin-bottom: 20px; background-color: #f0f0f0; padding: 15px; }

.widget_vine_contact_form { }
  .widget_vine_contact_form h3 { font-size: 26px; font-weight: 300; color: #1c67a3; margin-top: 0; margin-bottom: 10px; }
  .widget_vine_contact_form label { font-size: 13px; font-weight: 700; text-transform: uppercase; }
  .widget_vine_contact_form .form-control { background-color: #FFF; border-radius: 0; border: 1px solid #dedede; box-shadow: none; }
  
.widget_vine_staff_box { }
  .widget_vine_staff_box .widget-staff-profile { position: relative; padding-left: 100px; }
  .widget_vine_staff_box h3 { margin-top: 0; margin-bottom: 5px; }
    .widget_vine_staff_box h3 a { color: #4a4a4a; font-size: 18px; font-weight: 700; }
  .widget_vine_staff_box span { display: block; font-size: 14px; line-height: 22px; }
    .widget_vine_staff_box span i { padding-right: 10px; }
  .widget_vine_staff_box img { position: absolute; left: 0; max-width: 80px; max-height: 80px; border-radius: 50%; }
  
  
/*
*
* PAGES
*
*/
.home { }
  .home .cta-bottom-container { background-color: #f1f1f1; padding: 20px 0; }
  .home .body-container { background-color: #1c67a3; text-align: center; color: #FFF; margin: 0; }
    .home .body-container h1 { font-size: 32px; font-weight: 700; margin-top: 37px; margin-bottom: 5px; color: #FFF; }
    .home .body-container p { line-height: 28px; font-size: 18px; margin-bottom: 45px; }

.body-container { margin-top: 40px; margin-bottom: 70px; }
  .body-container .intro-text { color: #1c67a3; font-weight: 300; font-size: 30px; line-height: 38px; margin-bottom: 45px; }
  .body-container h1 { font-size: 36px; color: #1c67a3; }
  .body-container h2 { font-size: 32px; color: #1c67a3; }
  .body-container h3 { font-size: 28px; color: #1c67a3; }
  .body-container h4 { font-size: 24px; color: #1c67a3; }
  .body-container h5 { font-size: 20px; color: #1c67a3; }
  .body-container h6 { font-size: 16px; color: #1c67a3; }
  .body-container blockquote { border-left-color: #1c67a3; }
  
  .body-container .blog-post h2 { font-size: 24px; }
  
.single-staff { }
  .single-staff .body-container h1 { font-weight: 700; font-size: 36px; color: #1c67a3; margin-top: 0; }
  .single-staff .body-container hr { max-width: 34px; border-color: #6EAB88; border-width: 6px; margin-left: 0; }
  .single-staff .body-container .staff-meta { margin-bottom: 40px; }
    .single-staff .body-container .staff-meta .designations { font-size: 20px; display: block; margin-bottom: 7px; }
    .single-staff .body-container .staff-meta .phone,
    .single-staff .body-container .staff-meta .email { font-size: 14px; line-height: 22px; }
    .single-staff .body-container .staff-meta .phone { padding-right: 30px; }
    .single-staff .body-container .staff-meta span i { color: #1c67a3; padding-right: 10px; }
    
.page-template-page-staff-directory { }
  .page-template-page-staff-directory .staff-profile { margin-bottom: 40px; }
    .page-template-page-staff-directory .staff-profile h3 { margin-top: 20px; font-size: 18px; font-weight: 700; color: #1c67a3; }
    .page-template-page-staff-directory .staff-profile span { display: block; font-size: 14px; font-weight: 400; line-height: 22px; }
      .page-template-page-staff-directory .staff-profile span i { padding-right: 10px; }
    .page-template-page-staff-directory .staff-profile span.designations { margin-bottom: 14px; }
  
  
/*
*
* FOOTER
*
*/
.footer-container { text-align: center; font-size: 12px; margin-bottom: 40px; padding-top: 20px; }
  .footer-container .footer-50-years { text-align: left; position: relative; background: url('images/icons/50-years.png') no-repeat left center transparent; min-height: 60px; }
    .footer-container .footer-50-years p { margin: 0; padding-left: 88px; color: #7d7d7d; font-weight: 400; line-height: 20px; text-transform: uppercase; }
  .footer-container .footer-contact-cta { text-align: right; font-size: 18px; color: #1c67a3; font-weight: 700; line-height: 24px; position: relative; }
    .footer-container .footer-contact-cta p { padding-right: 170px; }
    .footer-container .footer-contact-cta .btn { color: #007845; font-size: 14px; font-weight: 700; background-color: #d1e9db; position: absolute; right: 0; top: 0; }
    .footer-container .footer-contact-cta .btn:hover { background-color: #007845; color: #FFF; }
  .footer-container hr { border-color: #efefef; border-width: 2px; margin-top: 10px; }
  .footer-container .copyright { color: #666666; }
  .footer-container p strong { font-weight: 700; color: #666666; }
  .footer-container .menu-footer-container { }
    .footer-container .menu-footer-container ul { list-style: none; padding: 0; margin: 0; }
      .footer-container .menu-footer-container ul li { display: inline-block; }
        .footer-container .menu-footer-container ul li a { padding: 0 10px; color: #007845; font-weight: 600; text-transform: uppercase; }
        .footer-container .menu-footer-container ul li:first-child a { padding-left: 0; }
        .footer-container .menu-footer-container ul li:last-child a { padding-right: 0; }



/*
*
* WordPress Core
*
*/
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}