/*
Theme Name: Kostyn Blinken Custom Theme
Theme URI: https://kostynblinken.com/wp-content/themes/custom-theme/
Template: twentytwentythree
Author: Berlin Productions
Author URI: https://berlinproductions.com/
Description: Custom developed
Version: 1.0.0.1677620754
Updated: 2023-02-28 16:45:54

*/

body {background: #fff;-webkit-font-smoothing: antialiased;font-family: 'Montserrat', sans-serif; font-weight: 500;}
body .is-layout-flow > * + * {
    margin-block-start: 0;
    margin-block-end: 0;
}

body .is-layout-flex {
    gap: 0.25rem;
}

body .is-layout-flex > * {
    margin: unset;
}

a, a:before, a b, a em, a:after, button, button:before, button:after, input[type="button"], input[type="submit"] {
-webkit-transition: all 0.3s ease;
-ms-transition: all 0.3s ease;
transition: all 0.3s ease;
}

ul {padding-top: 1em;}

header .custom-logo-link {width: 28vw; height: auto; max-width: 600px;}
header div {padding: 0!important;}
header nav {width: 100%; background: #303747;}
header nav a {padding: 28px;color: #fff!important;font-family: Crimson Text,serif;font-size: 15px;line-height: 1em;font-style: normal;text-decoration: none!important;text-transform: uppercase;letter-spacing: 1px;}

header nav li:not(.cta_btn) a:after {
    position: absolute;
    content: '';
    height: 100%;
    width: 100%;
    display: block;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom: 6px solid transparent;
}

header nav li:not(.cta_btn) a:hover:after,
header nav li.current-menu-item:not(.cta_btn) a:after {
    background-color: rgba(255,255,255,0.05);
    border-bottom: 6px solid rgba(63,97,133,1);
}


header nav .wp-block-navigation__container {z-index: 100;}

header nav  .wp-block-navigation__submenu-icon {
    color: #fff!important;
    margin-left: -17px!important;
}

header nav .wp-block-navigation__submenu-container {
    background-color: #303747!important;
    min-width: 100%!important;
}

header .cta_btn {
    background:#d4a971;
    margin: 0 12px 0 auto;
    border-radius: 2.5px;
}

header .cta_btn a {
    font-size: 14.5px;
    padding: 18px;
}

header .cta_btn a::after {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Free";
    color: #fff;
    font-size: 14px;
    margin-left: 8px;
    vertical-align: middle;
    content: "\f178";
    font-weight: 600;
}

header .contact a {
    text-decoration: none;
}

header .contact {
    font-weight: 500;
    margin-right:12px;
    line-height: 1.4;
    font-size: 1rem;
}

header .contact span {
    display: inline-block;
    min-width: 140px;
}

header .contact span.phone {
    min-width: 142px;
    margin-right: 12px;
}

header .contact span::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Free";
    color: #d4a971;
    font-size: 16px;
    margin-right: 3px;
    vertical-align: middle;
}

header .contact .phone::before {
    font-weight: 900;
    content: "\f095";
    -webkit-text-stroke: 1px white;
}

header .contact .email::before {
    font-weight: 400;
    content: "\f0e0";
}

header .contact .linkedin {
    float: right;
    width: auto;
    min-width: 1px;
    margin-left: 1.75rem;
    margin-top: -1.75rem;
}

header .contact .linkedin a {
    font-size: 2.55rem;
    color: #3f61ad;
}

footer {
    overflow: hidden;
    padding: 26px;
    color: #eef;
    background: #303747;
    margin:0!important;
    clear: both;
}

footer a,
footer .is-vertical{
    color: #eef;
}

footer .linkedin {
    font-size: 3rem;
}
footer .wp-block-group {
    flex-direction: row!important;
    align-items: center!important;
    justify-content: space-between;
}


h1,h2,h3 {font-family: 'Crimson Text', serif; color: #333;}

h1 {font-size:calc(32px + (100vw - 375px) * 0.0253658536585366)!important;}

.is-layout-constrained > *,
p {
    max-width: 100% !important;
}

.has-global-padding {padding: 0;}

.wp-site-blocks {padding: 12px 0;}

.home main {margin-top: 0!important; border-top: 1px solid rgba(26,23,81,.6);}
.home header .wp-container-4 {padding-bottom: 0!important;}

.home_hero {position: relative; margin: 0 -15px;}
.home_hero figcaption {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 40%;
    transform: translate(-48% -50%);
    margin: 0;
    color: #fff;
    font-family: 'Crimson Text', serif;
    font-size: 72px;
    font-size: calc(22px + (100vw - 375px) * 0.0444444444444444);
    line-height: 1;
    text-align: center;
    width: 100%;
    text-shadow:0px 0px 20px #000, 
                5px 5px 8px rgba(0,0,0,.3), 
                -5px 5px 8px rgba(0,0,0,.3), 
                -5px -5px 8px rgba(0,0,0,.3), 
                5px -5px 8px rgba(0,0,0,.3);
    z-index: 10;
}
.home_hero img {
    position: relative;
}

.home_hero.op1::after,
.home_hero.op3::after {
    content: "";
    display: block;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .55;
}


.is-vertical,
.wp-block-post-content {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding: 26px 1%;
    color: #626262;
}

.home .wp-block-post-content {
    max-width: 1920px;
    padding: 0 15px 0 15px;
}

.home .wp-container-12 {
    max-width: 1920px;
}

.mission {
    padding: 26px 0 0 0;
}
.services {
    padding: 0 0 26px 0;
}

.bio-page {
    /*margin-block-start: -46px!important;*/
}

.bio-page figure,
.about figure {
    max-width: 33%;
    margin-top: 7px;
}

.bio-page h1,
.practice h1,
.about h1 {
    text-align: center;
    margin: 0 auto 14px auto;
}

.bio-page h4 {
    padding-bottom: 0 !important;
    font-weight: 600;
}

.bio-page p {
    margin-bottom: 24px;
    max-width: 100%;
}

.bio-page li {
    margin-bottom: .5em;
}

.bio-edu {
    background: rgba(63,97,133,.2);
    color: #000;
    padding: 3%;
}

.practice h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 500;
    margin-top: 36px;
}

.mission h1,
.services {position: relative;}
.mission h1::before,
.bio-page h1::before {
    display: block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Free";
    color: #d4a971;
    font-size: 32px;
    vertical-align: middle;
    font-weight: 900;
    content: "\f24e";
    -webkit-text-stroke: 2px white;
}
.mission p,
.services p,
.mission ul,
.services ul {
    /*
    color: #626262;
    font-size: 16px;
    */
}
.services h1::before,
.practice h1::before,
.about h1::before {
    display: block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Free";
    color: #d4a971;
    font-size: 32px;
    vertical-align: middle;
    font-weight: 900;
    content: "\f66f";
    -webkit-text-stroke: 2px white;
}

.services .sc_services_columns {
    display: flex;
    justify-content: space-between;
    gap: 1.1%;
}

.services  .wp-block-columns {
    gap: 2.5%;
    justify-content: space-between;
    margin-top: 22px;
}

.services .trx_addons_column-1_3 {
    flex: 0 0 33%;
}
.services .trx_addons_column-1_3 p {
    margin:0 14px;
}

.services .trx_addons_column-1_3 a,
.services .service_column a {
    text-align: center;
    display: block;
    margin: 12px 0;
    color: #3f61ad;
}

.services .trx_addons_column-1_3 img,
.services .service_column img {
    width: 100%;
    height: auto;
}

.services .sc_services_columns h3,
.services .service_column h3 {
    font-size: 24px;
    text-align: center;
    margin: 14px 0 5px 0;
    font-weight: 600;
}
.services .sc_services_item_content {
    margin: 0 44px;
}

.service_column {
    position: relative;
}

.service_column p {
    font-size: .975rem;
}

.home h1,
.app_frm h1 {
    display: block;
    margin: 1.5vw auto;
    text-align: center;
}

.app_frm {
    padding: 26px 8%;
    margin-top: 32px;
    background: rgba(212, 169, 113,.1);
    color: #555;
}

.app_frm h1::before {
    display: block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Free";
    color: #d4a971;
    font-size: 32px;
    vertical-align: middle;
    font-weight: 900;
    content: "\f518";
    -webkit-text-stroke: 2px white;
}
.app_frm form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.app_frm label {
    display: block;
    margin-top: 26px;
    color: #000;
    font-size: 14px;
    font-weight: 500;
}

.app_frm input:not(.wpcf7-submit),
.app_frm textarea {
    min-width: 96%;
    padding: 9px;
    font-size: 18px;
    box-shadow: none;
    border: 1px solid #999;
    border-radius: 2px;
}

.app_frm textarea {
    resize: vertical;
    height: 130px;
    min-height: 130px;
}

.app_frm form p:not(.small) {
    flex: 0 0 49%;
    margin: 0;
    position: relative;
}

.app_frm .wpcf7-submit {
    border: none;
    background:#d4a971;
    font-family: 'Crimson Text', serif;
    color:#fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 18px 46px;
    position: absolute;
    bottom: 9px;
    border-radius: 2.5px;
}

.app_frm p.small {font-size: .8rem; margin: 0;}

.page:not(.home) main {
    padding: 26px 15px;
    margin-top: 22px!important;
}
figure.alignleft {
    margin-bottom: 1.8vw;
    margin-right: 3.4vw;
    margin-inline-end: 3.4vw!important;
}
.wp-block-separator {
    border: 1px solid #303747;
    border-right: none;
    border-left: none;
    border-bottom: none;
}

.bio_contact {text-align: center;}
.bio_contact span {display: inline-block; width: 42px; height: 42px; border-radius: 50%; background: #3f61ad;margin: 0 4px;}
.bio_contact i{color: #fff; font-size: 1.7rem;line-height:1.55;}
.bio_contact .phone i {
    font-size: 1.5rem;
    line-height: 1.84;
    -webkit-text-stroke: 2px #3f61ad;
}
.bio_contact .mail i {
    -webkit-text-stroke: 1px #3f61ad;
}

.bio_contact svg {
    height: 1.5rem;
    vertical-align: -0.68em;
}

.bio_contact svg path {
    color:#fff;
}

.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
    height: 32px!important;
    width: 32px!important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
        justify-content: flex-start;
        background: #303747;
    }

#modal-2 {
    background: transparent;
}

.has-modal-open .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    justify-content: flex-start;
    background: #303747;
    padding: 2vw 6vw!important;
}

.has-modal-open li a {
    font-size: 18px;
    line-height: 2em;
    color: #fff!important;
    font-family: Crimson Text,serif;
    font-style: normal;
    text-decoration: none!important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

@media (max-width: 1175px) {
    form p.msg {flex: 0 0 100%!important;}
    form .wpcf7-form-control-wrap textarea {
        width: 98%;
    }
    .app_frm .wpcf7-submit {position: relative;}
}

@media (max-width: 965px) {
    header .custom-logo-link {
        width: 33vw;
    }
    .bio-page figure {
        max-width: 30%!important;
    }
    .app_frm input:not(.wpcf7-submit), .app_frm textarea {
        width: 94%;
    }
}

@media (max-width: 900px) {
    header .contact span.name {display: none!important;}
}

@media (max-width: 767px) {
    body {font-size: 16px;}
    .app_frm form p:not(.small) {
        flex: 0 0 100%;
    }
    .app_frm form {
        gap: 0px;
    }
    .app_frm .wpcf7-submit {
        margin-top: 16px;
    }
      /* hamburger button */
    .wp-block-navigation__responsive-container-open  {
        display: block !important;
        color: #fff;
        margin: 3px 10px!important;
    }

    /* full menu */
    .wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) {
        display: none !important;
    }
    .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
        background: transparent;
        display: block;
        height: auto;
        height: fit-content;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
        justify-content: flex-start;
        background: #303747;
        padding: 2vw 6vw!important;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        /*width: 100%;*/
        /*padding: 24px;*/
    }
    .wp-block-navigation__responsive-container-close {
        color:#fff;
        top: 16px;
        right: 16px;
    }
    header nav li:not(.cta_btn) a:hover:after, header nav li.current-menu-item:not(.cta_btn) a:after {
        /*border-bottom: 6px solid transparent;*/
    }
    header nav a {
        font-size: 18px;
        line-height: 2em;
    }
    .wp-block-navigation.wp-container-3 {
        justify-content: flex-end;
    }
    ul.wp-block-navigation__submenu-container {
        padding-top: 6px!important;
    }
    header .contact span.phone {
        margin-right: 0px;
    }
    header .contact .linkedin {
        margin-left: 1rem;
    }
    .page:not(.home) main {
        padding: 0px 15px;
        margin-top: 3px!important;
    }
    body .is-layout-constrained > * + * {
        margin-block-start: 0;
        margin-block-end: 0;
    }
    
    h4 {font-size:18px;}
    
    h2 {font-size: 17.5px!important; margin: 1em 0!important;}
}
@media (max-width: 650px) {
    header .custom-logo-link {
        width: 75%;
    }   
    .is-layout-flex.wp-block-group {
        position: relative;
    }
    header .contact {
        line-height: 1.3;
        font-size: .9rem;
        margin: 0 auto;
    }
    header .contact .linkedin {
        margin: 0;
        position: absolute;
        top: 10px;
        right: 10px;
    }
}