/**
 * General
 */

.site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-main {
    flex: 1 0 auto;
    /*padding-top: 15px;*/
    /*padding-bottom: 15px;*/
}

.site-main h1 {
    font: 500 4rem/1.125 var(--font);
    margin: 1rem 0 2rem 0;
}

.site-main :is(h2, .h2) {
    font: 700 3.5rem/1.35 var(--font);
    margin: 1rem 0 3rem 0;
}

.site-main :is(h2, h3) br {
    display: none;
}

.site-main h3 {
    font: 500 2.5rem/1.2 var(--font);
}

.site-main p {
    font: 400 1.8rem/1.4 var(--font);
    margin: 2.5rem 0;
}

.site-main p a {
    color: var(--color-accent);
}

.site-main p strong {
    font-weight: 500;
}

.site-main p.small {
    font-size: 1.6rem;
}

body.home .site-main h1 {
    font: 700 4rem/1.125 var(--font);
    margin: 0;
}

body.home .site-main h2 {
    font: 500 4rem/1.2 var(--font);
    margin: 1rem 0 3rem 0;
}

@media (min-width: 992px) {
    .site-main :is(h2, h3) br {
        display: initial;
    }
}



/**
 * Page header
 */

.site-main .page-header {
    padding: 3rem 0;
}

.site-main .page-header .page-breadcrumbs {
    font: 400 15px/1.66 var(--font);
    color: #C3C3C3;
}

.site-main .page-header .page-breadcrumbs a {
    text-decoration: none;
}

.site-main .page-header .page-title {
    margin: 3rem 0 0 0;
}

.site-main .page-header .article-meta {
    font: 500 15px/1.66 var(--font);
    margin: 1.5rem 0 0 0;
}

.site-main .page-header .article-meta a {
    text-decoration: none;
}



/**
 * Sidebar
 */

.sidebar h2 {
    font: 500 3rem/1.35 var(--font);
    margin: 0 0 2.5rem 0;
}

.sidebar ul.menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar ul.menu li {
    display: block;
    margin: 0 0 1rem 0;
}

.sidebar ul.menu li:last-child {
    margin: 0;
}

.sidebar ul.menu li a {
    font: 500 2rem/1.75 var(--font);
    text-decoration: none;
}

.sidebar ul.menu li:is(.current-post-parent) a {
    display: inline-block;
    color: var(--color-accent);
    border-bottom: 2px solid var(--color-accent);
}

.sidebar #sb_instagram {
    padding: 0 !important;
    margin: -10px;
}



/**
 * Forms
 */

.screen-reader-response {
    display: none;
}

.form .form-input {
    margin: 0 0 2.5rem 0;
}

.form .form-input label {
    display: block;
    font: 500 16px/1.18 var(--font);
    margin: 0 0 .5rem 0;
}

.form .form-input select {
    -webkit-appearance: none;
    border: 1px solid #DBDBDB;
    border-radius: 0;
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
    line-height: 1.25;
}

.form .form-input :is(input:not([type="checkbox"]):not([type="radio"]), textarea) {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #AFAFAF;
    border-radius: 0;
    padding: 1rem 0;
    line-height: 1.25;
}

.form .form-input :is(textarea) {
    height: 9rem;
}

.form .form-input :is(textarea)::placeholder {
    transform: translateY(5.5rem);
}

.form .form-input .wpcf7-radio .wpcf7-list-item {
    display: inline-flex;
    align-items: center;
    margin: 0 2rem 0 0;
}

.form .form-input .wpcf7-radio .wpcf7-list-item.first {
    margin: 0 3rem 0 0;
}

.form .form-input .wpcf7-radio .wpcf7-list-item input {
    margin: 0 0.5rem 0 0;
}

.form .form-input .wpcf7-not-valid-tip {
    display: block;
    font: 400 13px/1.15 var(--font);
    margin: .5rem 0;
}

.form .form-acceptance label {
    display: flex;
    font: 400 13px/1.15 var(--font);
}

.form .form-acceptance label input {
    position: relative;
    top: 4px;
    width: 10px;
    height: 10px;
    border-radius: 0;
    margin-right: 1rem;
}

.form .facture_content {
    margin: 4rem 0;
}

.form .cost-summary {
    text-align: right;
    font: 500 2rem/1.2 var(--font);
    margin: 4rem 0;
}

.form .wpcf7-submit {
    display: block;
    width: 100%;
    font: 500 21px/1.2 var(--font);
    background: var(--color-accent);
    padding: 1.5rem;
    border: 1px solid var(--color-accent);
    color: #fff;
}

.wpcf7 .wpcf7-response-output {
    font: 400 1.5rem/1.2 var(--font);
    margin: 1rem 0 0 0;
}



/**
 * Collapsed text
 */

.collapsed-text .collapsed-text-fragment {
    display: none;
}

.collapsed-text .state-hide {
    display: none;
}

.collapsed-text-show {
    color: var(--color-accent);
}

.collapsed-text.show .collapsed-text-fragment {
    display: initial;
}

.collapsed-text.show .state-show {
    display: none;
}

.collapsed-text.show .state-hide {
    display: initial;
}
