/*!
Theme Name: PILSI
 Template:  wp-bootstrap-starter
*/

@import url("../wp-bootstrap-starter/style.css");

/* ------------------------------ Font Face ------------------------------ */


/* ---------- Cabinet Grotesk Regular ---------- */

@font-face {
  font-family: 'Cabinet Grotesk';
    src: url('/wp-content/themes/pilsi/fonts/CabinetGrotesk-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

/* ---------- Cabinet Grotesk Extra Bold ---------- */

@font-face {
  font-family: 'Cabinet Grotesk';
    src: url('/wp-content/themes/pilsi/fonts/CabinetGrotesk-Extrabold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}


/* ---------- Inter Regular ---------- */

@font-face {
  font-family: 'Inter';
    src: url('/wp-content/themes/pilsi/fonts/Inter-Light.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}


/* ---------- Inter Regular Italic ---------- */

@font-face {
  font-family: 'Inter';
    src: url('/wp-content/themes/pilsi/fonts/Inter-Lightitalic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
}

/* ---------- Inter Bold ---------- */

@font-face {
  font-family: 'Inter';
    src: url('/wp-content/themes/pilsi/fonts/Inter-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}


/* ---------- Inter Bold Italic ---------- */

@font-face {
  font-family: 'Inter';
    src: url('/wp-content/themes/pilsi/fonts/Inter-BoldItalic.woff2') format('woff2');
    font-weight: 700;
    font-style: italic;
}


/* ------------------------------ General ------------------------------ */

html {scroll-behavior: smooth;}

body {background-color: #ffffff; font-family: 'Inter', Arial, sans-serif!important; color: #111; font-size: 16px;line-height:1.5;font-weight:400;}

p {font-size:16px; margin-bottom:20px;  font-weight:400; color:#111}

a {color: #111; cursor:pointer!important; text-underline-offset: 4px; text-decoration: underline; text-decoration-thickness: 1px;}

a, span, input, button {
  -webkit-transition: color 0.1s ease-in, background 0.1s ease-in, padding 0.1s ease-in, right 0.1s ease-in;
  -o-transition: color 0.1s ease-in, background 0.1s ease-in, right 0.1s ease-in;
  -ms-transition: color 0.1s ease-in, background 0.1s ease-in, right 0.1s ease-in;
  -moz-transition: color 0.1s ease-in, background 0.1s ease-in, right 0.1s ease-in;
  transition: color 0.1s ease-in, box-shadow 0.1s ease-in-out, background 0.1s ease-in-out, padding 0.1s ease-in, right 0.1s ease-in; text-decoration-thickness ease-in-out 0.2s;
}

a:hover, a:focus  {color: #111; text-decoration-thickness: 2px;}

p a:focus, h2 a:focus, h4 a:focus {text-decoration-thickness: 2px;}

hr {border-color:#dddddd; margin:2em 0;}

br {margin-bottom:5px}

b, strong {font-weight: bold; color:#111}

#page-sub-header {display:none!important}

.home .main {padding-top:0}

h1, h2, h3, h4, h5 {font-family: 'Cabinet Grotesk', Arial, sans-serif!important; padding:0; margin:0 0 0.6em 0; font-weight:700; color: #111;}

h1 {font-size: 54px; line-height:1.2; font-weight:800;}

h2 {font-size: 24px; line-height:1.3}

h2.big-size {font-size: 38px; }

h2.small-size {font-size: 20px; margin-bottom:3px}

h2 a, h3 a {text-decoration:none}

h3 {font-size: 20px; line-height:1.3}

h4 {font-size: 18px; line-height:1.4}

h5 {font-size: 16px; line-height:1.4}

p.intro {font-size:22px; line-height:1.5}

/* ------------------------------ Vanilla reset content lists ------------------------------ */

li {line-height:1.5; color:#111}

#main li ul, #main li ol {
    margin:0 2em;
}
#main ul, #main ol {
    margin:0 0 30px;
}
#main ul {
    list-style-type:disc;
}
#main ol {
    list-style-type:decimal;
}

#main li {
    list-style-type:inherit;
    margin-bottom: 15px;
}

#main ol ol {
    list-style: lower-alpha;
}
#main ol ol ol {
    list-style: lower-roman;
}
#main ol ol ol ol {
    list-style: lower-alpha;
}


/* ------------------------------ Header ------------------------------ */

#content.site-content {padding-top:0; padding-bottom:0}

header#masthead {padding-top:25px; padding-bottom: 25px; background-color: transparent; z-index: 20;position: fixed; width:100%; top: 0; left: 0;box-shadow:none;transition: all 0.3s ease-in;border-bottom:1px solid transparent}

.navbar-brand {padding-top:0; padding-bottom:0; margin-top:0}

.navbar-brand img {height: 60px; width: auto; margin-top:-1px}

header#masthead li {margin-left:25px}

header#masthead li a {font-family: 'Cabinet Grotesk', Arial, sans-serif!important; text-decoration:none; font-size:16px!important; position: relative;color: #2E3192!important}

header#masthead li a:hover {font-weight:400!important}

header#masthead li > a:after {content: ""; width: calc(100% - 1rem); height: 2px; background: #2E3192; display: block; margin-top: 4px; left: 50%; position:absolute; opacity:0; transform: translateX(-100%); transition: all 0.3s;}

header#masthead li > a:hover:after, header#masthead .navbar-nav > li > a:focus:after, header#masthead .navbar-nav>.active>a:after, header#masthead .navbar-nav > li.current_page_item > a:after {opacity:1; transform: translateX(-50%);} 

header#masthead .navbar-nav > li.current_page_item > a:after {background:#2E3192} 

body:not(.theme-preset-active) #masthead .navbar-nav > li > a, body:not(.theme-preset-active) #masthead .navbar-nav > li > a:hover, body:not(.theme-preset-active) #masthead .navbar-nav > li.current_page_item > a {font-weight:400!important}

.dropdown-toggle::after {margin-left:0; border-top:none}

header#masthead .dropdown-menu li {margin-left:0;}

header#masthead .dropdown-menu li > a:after {display:none}

header#masthead .dropdown-menu li > a {padding:6px 15px;}

header#masthead .dropdown-menu li > a:hover {opacity:0.7}

.dropdown-menu {min-width:200px; left:-8px; padding: 12px 0;}

.dropdown-menu .dropdown-item {line-height:1.3}


/* ------------------------------ Home Header ------------------------------ */

.page-id-360 header#masthead, .home header#masthead {border-bottom:none;}

.page-id-360 header#masthead li a, .home header#masthead li a {color: #fff!important}

.home header#masthead .dropdown-menu li > a {color: #2E3192!important}

.page-id-360 header#masthead li > a:after, .home header#masthead li > a:after {background: #fff;}

.page-id-360 header#masthead.scroll-opacity-change li > a:after , .home header#masthead.scroll-opacity-change li > a:after {background: #2E3192;}

.page-id-360 .navbar-brand img, .home .navbar-brand img {
    filter: saturate(0) brightness(100);
}


/* ------------------------------ Header scroll ------------------------------ */

.scroll-opacity-change {box-shadow: 0 2px 10px rgba(0,0,0,0.1)!important; background-color: #fff!important;}

header#masthead.scroll-opacity-change li a {color: #2E3192!important}

.page-id-360 .scroll-opacity-change .navbar-brand img, .home .scroll-opacity-change .navbar-brand img {
    filter: none;
}


/* ------------------------------ Holding page ------------------------------ */

.page-template-holding #content.site-content {background-color: #2E3192; padding:0; min-height: 100%; min-height: 100vh; display: flex; align-items: center;}

.page-template-holding #page-sub-header, .page-template-holding #masthead, .page-template-holding #footer, .page-template-holding #secondary {display: none!important}

.page-template-holding #hero {text-align:center;margin: 0 auto; max-width: 700px; }

.page-template-holding #hero h1 {font-size: 64px; color:#B0EFEB; font-weight:800; margin-bottom: 0; line-height:1.1}

.page-template-holding #hero .intro {font-size:20px; margin-bottom:0; margin-top:20px; color:#B0EFEB}

.page-template-holding #hero .intro a {color:#B0EFEB!important}


/* ------------------------------ Template page ------------------------------ */

.pt120 {padding-top: 220px}


/* ------------------------------ Blocks general ------------------------------ */


.block-panel {z-index: 3;  position: relative; overflow:hidden; background-color: #fff}

.block-panel-inner {padding-top:80px; padding-bottom:80px;}

.block-panel-inner.reduced-padding-bottom {padding-bottom:0!important}

.block-panel-inner.reduced-padding-top {padding-top:0!important}

.border-bottom { border-bottom: 1px solid #eaeaea; }

.block-panel ul {padding-top:0px; margin-bottom:30px; padding-left:30px}

.block-panel li {
    list-style-type:inherit;
    margin-bottom: 5px;
    line-height: 1.5;
    padding-left: 10px;
    font-family: 'Inter', Arial, sans-serif!important;
}

.yellow-button {font-family: 'Cabinet Grotesk', Arial, sans-serif!important; border-radius:4px; font-size:18px; color:#fff; padding: 12px 35px 12px 35px; text-decoration:none!important;font-weight:bold; display: inline-block; position:relative; background-color: #2E3192; transition: all 0.1s ease-in;z-index:2}

.yellow-button:hover, .yellow-button:active, .yellow-button:focus {background-color: #592785; box-shadow: 0 4px 11px rgba(0,0,0,.3);}

.outline-button {font-family: 'Cabinet Grotesk', Arial, sans-serif!important; border-radius:4px; font-size:18px; color:#2E3192; padding: 10px 35px 10px 35px; text-decoration:none!important; margin-top:10px; font-weight:bold; display: inline-block; position:relative; background-color: transparent; border:2px solid #2E3192; transition: all 0.1s ease-in;z-index:2}

.outline-button:hover, .outline-button:focus, .outline-button:active {color:#fff; background-color: #2E3192}

.arrow-right, .arrow-left {display:inline-block; font-weight:bold; text-decoration: none!important}

a.arrow-right:hover, .arrow-left:hover {}

.arrow-right:after {
content: "";
    background: url(/wp-content/uploads/right-arrow.png);
    top: 1px;
    right: -5px;
    display:inline-block;
    position: relative;
    background-size: 22px 12px;
    height: 12px;
    width: 22px;
    background-repeat: no-repeat;
    z-index: 2;
    transition: all 0.1s ease-in;
}

.arrow-right:hover:after {
    right: -8px;
}

blockquote {margin: 2rem 0 2rem 3rem;}

blockquote p {font-style: italic; font-size:18px}


/* ------------------------------ BLOCK Homepage hero ------------------------------ */


.block-homepage-hero {background-color: #2E3192; min-height: 100%; height: 100vh; max-height: 800px; display: flex; justify-content: center; align-items: center; background-repeat: no-repeat; background-position: center; background-size: cover; overflow: auto; position: relative; background-attachment: fixed;}

/*
.block-homepage-hero::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}
*/

.block-homepage-hero .block-panel-inner {text-align:center; padding-top: 120px; padding-bottom: 120px; width: 100%;}

.block-homepage-hero h1, .block-homepage-hero p.intro {margin: 0; color: #ffffff; z-index:10; position:relative;}

.block-homepage-hero p.intro {font-size:20px; margin-bottom:40px}

.block-homepage-hero p.intro {margin-bottom:0}

.block-homepage-hero h1 {font-size:64px; margin-bottom:30px}


/* ------------------------------ BLOCK Page hero ------------------------------ */


.block-page-hero {background-color: #BDEBE8; position: relative;}

.block-page-hero .block-panel-inner {text-align:center; padding-top: 180px; padding-bottom: 120px}

.block-page-hero h1, .block-page-hero p.intro {color: #2E3192; z-index:10; position:relative;}

p.intro {font-size:20px; margin-bottom:0;}

.block-page-hero h1 {margin-bottom:0}

/* ------------------------------ Featured items ------------------------------ */

.featured .block-panel-inner {padding-top: 100px; padding-bottom: 50px;}

.featured h2 {}

.featured .row {display:flex; flex-wrap:wrap}

.feature-card {margin-bottom: 50px; width: 100%}

.feature-photo {margin-bottom:20px; position: relative; transition: all 0.3s;}

.feature-photo::after {
    display: block;
    content: '';
    padding-bottom: 70%;
}

/* ------------------------------ BLOCK Image & Text ------------------------------ */

.block-image-text {}

.block-image-text h2 {margin-top:10px}

.block-image-text p {font-size: 16px; line-height:1.5}

.block-image-text p:last-child {margin-bottom:0}

/* ------------------------------ BLOCK Graphic & Text ------------------------------ */

.block-graphic-text {}

.block-graphic-text .feature-image {max-width:400px; width:100%}

.block-graphic-text h2 {margin-top:10px; color: #2E3192}

.block-graphic-text p {font-size: 16px; line-height:1.5}

.block-graphic-text p a {color: #2E3192}

.block-graphic-text p:last-child {margin-bottom:0}



/* ------------------------------ BLOCK Banner ------------------------------ */

.block-banner {text-align:center; background-color:#F8DCF2;}

.block-banner h2, .block-banner p {color: #2E3192}

.block-banner p {font-size:18px}


/* ------------------------------ BLOCK Quote ------------------------------ */

.block-quote {text-align:center; background-repeat: no-repeat; background-position: center center; background-size: cover;background-attachment: fixed; background-color: #BDEBE8}

.block-quote.white-background {background-color: #ffffff}

.block-quote .block-panel-inner {padding-top:120px; padding-bottom:120px}

h2.quote {font-size:32px; color: #2E3192; font-weight: 400; margin-bottom:0}

p.byline {font-size:18px; color: #2E3192; margin-bottom:0; margin-top:30px}

/* ------------------------------ BLOCK Image Banner ------------------------------ */

.block-image-banner {text-align:center; background-repeat: no-repeat; background-position: center center; background-size: cover;background-attachment: fixed; background-color: #BDEBE8; height:500px}


/* ------------------------------ BLOCK Intro ------------------------------ */

.block-intro {padding-bottom:30px}


/* ------------------------------ BLOCK Content ------------------------------ */

.block-content {}

.block-content .block-panel-inner {padding-top:80px; padding-bottom:80px}

.block-content h2 {font-size: 28px; margin-top:30px}

.block-content h2:first-child {margin-top:0} 

p:last-child {margin-bottom:0!important}


/* ------------------------------ BLOCK Contact ------------------------------ */

.block-contact {}

.block-contact .block-panel-inner {}

.block-contact h2 {font-size: 28px; margin-bottom: 30px}

.contact-details {padding-bottom:50px;}

.contact-details p {margin-bottom:15px; padding: 5px 0 5px 40px; line-height:24px; background: left center no-repeat; background-size: 30px 30px;}

p.phone {background-image: url(/wp-content/uploads/mobile-phone.png) }

p.email {background-image: url(/wp-content/uploads/email.png) }

p.location {background-image: url(/wp-content/uploads/location.png) }

div.wpforms-container-full {margin: -10px auto 0 auto}

div.wpforms-container-full .wpforms-form .wpforms-field-label {font-weight: 400; font-size:14px; margin-bottom:10px}

div.wpforms-container-full .wpforms-form input.wpforms-field-medium, div.wpforms-container-full .wpforms-form select.wpforms-field-medium, div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium {max-width:none!important; height: 48px; border-radius: 2px}

div.wpforms-container-full .wpforms-form input[type=submit], div.wpforms-container-full .wpforms-form button[type=submit], div.wpforms-container-full .wpforms-form .wpforms-page-button {background:none!important; background-color: #2E3192!important; border:none; color: #fff; font-size: 16px; padding: 12px 35px; margin-top:15px; border-radius:4px; font-weight:bold}

div.wpforms-container-full .wpforms-form input[type=submit]:hover, div.wpforms-container-full .wpforms-form input[type=submit]:focus, div.wpforms-container-full .wpforms-form input[type=submit]:active, div.wpforms-container-full .wpforms-form button[type=submit]:hover, div.wpforms-container-full .wpforms-form button[type=submit]:focus, div.wpforms-container-full .wpforms-form button[type=submit]:active, div.wpforms-container-full .wpforms-form .wpforms-page-button:hover, div.wpforms-container-full .wpforms-form .wpforms-page-button:active, div.wpforms-container-full .wpforms-form .wpforms-page-button:focus {background-color: #3B3EBA!important; border:none;}

/* ------------------------------ Footer ------------------------------ */

#footer {background-color:#232560; padding:0; position:relative; overflow:hidden; z-index: 1; }

.inner-footer {padding-top: 50px; padding-bottom: 50px;}

.inner-footer p {font-size:14px; line-height:1.3; margin-bottom:0; color:#fff}

.footer-copyright {text-align: right}

#footer .widget {margin:0}

#menu-footer-links.nav {display: block;}

#menu-footer-links li {display: inline-block; font-size:14px}

#menu-footer-links li a:hover {background:none!important}

#menu-footer-links .nav-link {padding:0; margin-right: 20px}

.footer-social {text-align: right}

#footer .widget {margin:0}

.social-icon {height: 28px; width: 28px;}

.social-icon:hover {opacity: 1}


/* ------------------------------ Media queries ------------------------------ */

@media screen and (min-width: 1540px){

.container {max-width:1400px; padding-left:20px; padding-right:20px}
    
.block-expertise-overview .block-panel-inner, .block-image-text .block-panel-inner {padding-top: 100px!important; padding-bottom: 100px!important;}
    
}

@media screen and (max-width: 1199px){
    
.block-image-hero .block-panel-inner {padding-top:100px; padding-bottom:100px} 
    
.block-image-hero h1 {font-size:48px; max-width:none}
    
.block-image-text h2 {margin-top:0}
	
.navbar-nav .dropdown-menu {background: #fff; border: 1px solid rgba(0,0,0,.15);}

    
}


@media screen and (min-width: 991px){

.text-col {padding-right:70px}
    
.text-col.order-2 {padding-right:15px; padding-left:70px}
    
    header#masthead {padding-left:30px; padding-right:30px}
    
}


@media screen and (max-width: 991px){  

.first {order: 2;}

.block-page-hero .block-panel-inner {padding-top: 160px; padding-bottom: 160px}

header#masthead li a {text-decoration:none; font-size:16px!important;}

ul#menu-main-menu {margin-top:20px; margin-bottom:0px}
    
header#masthead li {margin-left:0}
    
header#masthead {background-color:#fff; border-bottom:1px solid #2E3192;}
	
.navbar-collapse {margin-bottom:-15px}
  
body:not(.theme-preset-active) #masthead .navbar-nav > li > a {padding:10px 0}

header#masthead li > a:after {display: none;}

header#masthead li > a:hover:after, .navbar-nav > li > a:focus:after {display: none;}

.navbar-brand img {height: 50px;}
    
.navbar-light .navbar-toggler {margin-right: -15px}
    
.page-id-360 .navbar-brand img, .home .navbar-brand img {filter: none;}

.home header#masthead li a {color:#111!important}
    
#content.site-content {padding-top:80px;}

.block-purple-hero .block-panel-inner, .block-text-hero .block-panel-inner {padding-top: 150px; padding-bottom: 150px;}

    .pt120 {padding-top: 80px}
    
    .member-contact-details {margin-bottom:40px; padding-bottom:20px; border-bottom:1px solid #cccccc}

.block-image-text h2, .block-graphic-text h2 {margin-top:40px}

.page-id-360 header#masthead li a, .home header#masthead li a {color: #111!important}

header#masthead li {margin-left: 0; border-top: 1px solid #ccc; padding-left: 30px; padding-right: 30px;}

.navbar-nav {margin: 15px -30px -15px -30px}

	.navbar-nav .dropdown-menu {border: none !important; padding: 0 0 10px 0;}
 
header#masthead .dropdown-menu li {border: 0; padding: 0 0 10px 0;}

header#masthead .dropdown-menu li > a {padding: 2px 5px;}

body:not(.theme-preset-active) #masthead .navbar-nav > li > a {padding: 15px 0;}   
    
}


@media screen and (max-width: 767px){
    
#content.site-content {padding-top:65px;}

.block-page-hero .block-panel-inner {padding-top: 120px; padding-bottom: 120px}

.block-page-hero h1 {margin-bottom: 20px}

.block-page-hero p.intro {font-size: 20px}
    
.navbar-nav {margin-top:15px}
    
header#masthead {padding:20px 0}

.container, .container-sm {max-width: none;}
    
.block-panel-inner {padding-top:60px; padding-bottom:80px;}

.featured .block-panel-inner {padding-bottom: 20px;}

.last-expertise-item .block-panel-inner {padding-bottom:80px}
    
.container, .container-fluid {padding-left:30px; padding-right:30px; width:100%; max-width: none}  
    
.image-hero-background {background: transparent!important}

.block-image-hero h1 {font-size:42px}
    
h1 {font-size:42px}

.block-homepage-hero h1 {font-size:54px;}

h2.big-size {font-size: 32px; }
    
.block-purple-hero .block-panel-inner, .block-text-hero .block-panel-inner {padding-top: 100px; padding-bottom: 100px;}
    
.block-purple-hero p.intro {font-size:20px}

.block-purple-hero h1 {font-size:42px;}
    
.pt120 {padding-top: 60px}

.image-hero-background {background-image:none}
    
.block-panel-inner.reduced-padding-bottom {padding-bottom:0}    

.inner-footer {text-align: center;}

.footer-social {text-align: center; margin-top:25px}
	
.block-content .block-panel-inner {
  padding-top: 60px;
	padding-bottom: 60px;}
    
}


@media screen and (max-width: 576px){

.block-homepage-hero {min-height: 0; height: inherit;}
    
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl {width: auto; padding-right: 15px; padding-left: 15px; margin-right: 15px; margin-left: 15px;}
    
}