diff --git a/web/themes/custom/eql/css-compiled/styles.css b/web/themes/custom/eql/css-compiled/styles.css index a569329..c665586 100644 --- a/web/themes/custom/eql/css-compiled/styles.css +++ b/web/themes/custom/eql/css-compiled/styles.css @@ -2971,6 +2971,245 @@ a { color: red; margin-top: 0.8rem; } +.path-node.page-node-type-projet .layout-container { + overflow: unset; } + +.path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top { + display: grid; + grid-template-columns: 1fr repeat(8, 1fr) 1fr; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top .block-entity-fieldnodefield-adresse { + margin-top: 3rem; + grid-column: 2 / span 10; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top .block-entity-fieldnodefield-adresse .field--name-field-adresse { + text-transform: uppercase; + font-weight: 800; + font-size: 0.9rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top .block-entity-fieldnodefield-adresse .field--name-field-adresse .address { + display: flex; + flex-direction: row; + margin: 0; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top .block-entity-fieldnodefield-adresse .field--name-field-adresse .address .locality::after { + content: ","; + margin-right: 0.3rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top .block-entity-fieldnodetitle { + grid-column: 2 /span 7; + margin: 0; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top .block-entity-fieldnodetitle .field--name-title { + font-family: "Source Code Pro"; + font-size: 2.5rem; + font-weight: 500; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top .block-entity-fieldnodefield-incube { + padding-top: 2rem; + grid-column: 2; + width: fit-content; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top .block-entity-fieldnodefield-incube .field--name-field-incube { + background-color: red; + color: white; + font-weight: 800; + padding-right: 0.3rem; + padding-left: 0.2rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top .block-entity-fieldnodefield-photo { + grid-column-start: 5; + grid-column-end: 9; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--top .block-region-top .block-entity-fieldnodefield-photo img { + padding-top: 2rem; + width: 600px; + max-height: 360px; + object-fit: cover; } + +.path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--first .block-region-first { + display: flex; + justify-content: flex-end; + position: -webkit-sticky; + position: sticky; + top: 10rem; + margin-top: 2rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--first .block-region-first .block-entity-fieldnodefield-textes { + display: flex; + justify-content: flex-end; + width: 50%; + background-color: white; + padding-right: 2rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--first .block-region-first .block-entity-fieldnodefield-textes .field--name-field-titre { + display: flex; + font-size: 1rem; + font-weight: 1000; + color: #09398b; + border-bottom: 1px solid #009ee3; + padding-bottom: 0.5rem; + padding-right: 1rem; + margin-bottom: 0.8rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--first .block-region-first .block-entity-fieldnodefield-textes .field--name-field-titre:hover { + text-decoration: underline; } + +.path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second { + flex: 0 1 50%; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second { + width: 90%; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodebody p { + margin-top: 0; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodebody .field--type-text-with-summary { + background-color: white; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-textes { + background-color: white; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-textes .field--name-field-titre { + font-size: 1.5rem; + font-weight: 1000; + font-family: 'Source Code Pro'; + color: #09398b; + text-transform: uppercase; + margin-top: 2rem; + margin-bottom: 0.8rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-textes h4 { + text-transform: none !important; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-textes h4 img { + width: 100%; + height: auto; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-textes .field--type-text-long { + padding-right: 2rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-textes p { + margin-top: 0; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-textes a { + color: black; + text-decoration: underline; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-textes a svg { + display: none; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodebody .panel-body #outputtext { + overflow-y: visible !important; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-partenaires .field__label { + font-size: 1.5rem; + font-weight: 1000; + font-family: 'Source Code Pro'; + color: #09398b; + text-transform: uppercase; + margin-top: 2rem; + margin-bottom: 0.8rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-partenaires .field__items { + display: flex; + flex-direction: row; + justify-content: space-between; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-partenaires .field__items .paragraph--type--partenaire { + display: flex; + flex-direction: column; + align-items: center; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--second .block-region-second .block-entity-fieldnodefield-partenaires .field__items .paragraph--type--partenaire .field--name-field-lien { + padding-top: 1rem; } + +.path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third { + margin-top: 5rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third { + display: flex; + flex-direction: column; + width: 65%; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-fichiers h2 { + display: none; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-fichiers .field--name-field-fichiers .field__item { + height: fit-content; + border: 2px solid #009ee3; + background-color: white; + margin-bottom: 1rem; + min-height: 4rem; + color: #009ee3; + padding-left: 1rem; + padding-top: 1rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-fichiers .field--name-field-fichiers span:nth-of-type(2) { + display: none; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-fichiers .field--name-field-fichiers .file--mime-application-pdf { + height: inherit; + margin: auto; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-fichiers .field--name-field-fichiers .file--mime-application-pdf ::before { + content: url("../images/pictos/noun_Download_file_307900.svg"); + min-width: 40px; + height: auto; + padding-right: 1rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-fichiers .field--name-field-fichiers .file--mime-application-pdf a { + hyphens: auto; + display: inline-flex; + align-items: center; + color: #009ee3; + font-weight: 800; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-liens h2 { + display: none; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-liens .field--name-field-liens .field__item { + margin: auto; + height: fit-content; + border: 2px solid #009ee3; + min-height: 4rem; + background: white; + color: #009ee3; + padding-left: 1rem; + padding-top: 1rem; + margin-bottom: 1rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-liens .field--name-field-liens a { + display: inline-flex; + align-items: center; + color: #009ee3; + font-weight: 800; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-liens .field--name-field-liens a::before { + content: url("../images/pictos/noun_External Link_674151.svg"); + min-width: 40px; + height: auto; + padding-right: 1rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-liens .field--name-field-liens a svg.ext { + display: none; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress { + margin-top: 3rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress h2 { + font-size: 0.8rem; + color: black; + font-weight: 900; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource { + display: flex; + flex-direction: column; + border: 2px solid #009ee3; + padding: 1rem; + height: fit-content; + margin-bottom: 1rem; + background-color: white; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource:first-of-type { + border-top: 1px solid #009ee3; + padding-top: 1rem; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource:first-of-type::after { + content: url("../images/pictos/noun_Arrow_3771902.svg"); + align-self: flex-end; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource .field--name-title a { + color: black; + font-size: 1.4rem; + font-weight: 600; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource .field--name-field-auteur-s- { + font-weight: 800; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource .field--name-field-auteur-s- p { + margin: 0; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource .field--name-field-auteur-s- .field__label { + display: none; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource .field--name-field-edition p { + margin: 0; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource .field--name-field-edition .field__label { + display: none; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource .field--name-field-images { + width: 50%; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--third .block-region-third .block-entity-fieldnodefield-ress .node-type-ressource .field--name-field-images img { + width: 100%; + height: auto; } + +.path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--bottom .block-entity-fieldnodefield-partenaires { + width: 50%; + margin: auto; + display: flex; + flex-direction: row; + flex-wrap: wrap; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--bottom .block-entity-fieldnodefield-partenaires h2 { + display: none; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--bottom .block-entity-fieldnodefield-partenaires .field--name-field-partenaires { + display: flex; + flex-direction: row; + flex-wrap: wrap; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--bottom .block-entity-fieldnodefield-partenaires .field--name-field-partenaires .field--name-field-titre { + display: none; } + .path-node.page-node-type-projet .layout-content .region-content #block-contenudelapageprincipale .layout--threecol-25-50-25 .layout__region--bottom .block-entity-fieldnodefield-partenaires .field--name-field-partenaires .paragraph--type--partenaire { + display: flex; + flex-direction: column; } + /*partials*/ .layout-container { position: relative; } diff --git a/web/themes/custom/eql/scss/pages/_projet.scss b/web/themes/custom/eql/scss/pages/_projet.scss index 4db2411..f171a02 100644 --- a/web/themes/custom/eql/scss/pages/_projet.scss +++ b/web/themes/custom/eql/scss/pages/_projet.scss @@ -17,20 +17,362 @@ grid-template-columns: 1fr repeat(8, 1fr) 1fr; .block-entity-fieldnodefield-adresse{ + margin-top: 3rem; grid-column: 2 / span 10; .field--name-field-adresse{ text-transform: uppercase; + font-weight: 800; + font-size: 0.9rem; + .address{ + display: flex; + flex-direction: row; + margin: 0; + .locality::after{ + content:","; + margin-right: 0.3rem; + } + } + } } .block-entity-fieldnodetitle{ - font-family: 'Source Code Pro'; - + grid-column: 2 /span 7; + margin: 0; + .field--name-title{ + font-family: "Source Code Pro"; + font-size: 2.5rem; + font-weight: 500; + } + } + .block-entity-fieldnodefield-incube{ + padding-top: 2rem; + grid-column: 2; + width: fit-content; + .field--name-field-incube{ + background-color: red; + color: white; + font-weight: 800; + padding-right: 0.3rem; + padding-left: 0.2rem; + } + } + .block-entity-fieldnodefield-photo{ + grid-column-start: 5; + grid-column-end: 9; + img{ + padding-top: 2rem; + width: 600px; + // height: auto; + max-height: 360px; + object-fit: cover; + } + + // position: relative; + // bottom: -50%; + } } } - + .layout__region--first{ + // margin-top: 18rem; + + .block-region-first{ + display: flex; + justify-content: flex-end; + position: -webkit-sticky; + position: sticky; + top: 10rem; + margin-top: 2rem; + .block-entity-fieldnodefield-textes{ + display: flex; + justify-content: flex-end; + width: 50%; + background-color: $white; + padding-right: 2rem; + + .field--name-field-titre{ + display: flex; + font-size: 1rem; + font-weight: 1000; + color: $blue-dark; + border-bottom: 1px solid $blue-light; + padding-bottom: 0.5rem; + padding-right: 1rem; + // margin-top: 2rem; + margin-bottom: 0.8rem; + + &:hover{ + text-decoration: underline; + } + } + + } + } + + + } + .layout__region--second{ + // grid-row: 3; + flex: 0 1 50%; + // margin-top: 18rem; + .block-region-second{ + width: 90%; + .block-entity-fieldnodebody{ + p{ + margin-top: 0; + } + .field--type-text-with-summary{ + background-color: white; + } + } + .block-entity-fieldnodefield-textes{ + + background-color: $white; + .field--name-field-titre{ + font-size: 1.5rem; + font-weight: 1000; + font-family: 'Source Code Pro'; + color: $blue-dark; + text-transform: uppercase; + margin-top: 2rem; + margin-bottom: 0.8rem; + } + h4{ + text-transform: none !important; + + img{ + width: 100%; + height: auto; + } + } + .field--type-text-long{ + padding-right: 2rem; + } + p{ + margin-top: 0; + } + a{ + color: $black; + text-decoration: underline; + svg{ + display: none; + } + } + + } + + .block-entity-fieldnodebody{ + + .panel-body{ + #outputtext{ + overflow-y: visible !important; + } + } + } + .block-entity-fieldnodefield-partenaires{ + .field__label{ + font-size: 1.5rem; + font-weight: 1000; + font-family: 'Source Code Pro'; + color: $blue-dark; + text-transform: uppercase; + margin-top: 2rem; + margin-bottom: 0.8rem; + } + .field__items{ + display: flex; + flex-direction: row; + justify-content: space-between; + .paragraph--type--partenaire{ + display: flex; + flex-direction: column; + align-items: center; + // width: 35%; + .field--name-field-lien{ + // display: none; + padding-top: 1rem; + } + } + + } + } + } + } + + .layout__region--third{ + // grid-row: 4; + margin-top: 5rem; + + .block-region-third{ + display: flex; + flex-direction: column; + width: 65%; + .block-entity-fieldnodefield-fichiers{ + h2{display: none;} + .field--name-field-fichiers{ + .field__item{ + height: fit-content; + border: 2px solid $blue-light; + background-color: $white; + margin-bottom: 1rem; + min-height: 4rem; + // background: $white; + color: $blue-light; + padding-left: 1rem; + padding-top: 1rem; + } + span:nth-of-type(2){ + display: none; + } + + .file--mime-application-pdf{ + height: inherit; + margin: auto; + ::before{ + content: url("../images/pictos/noun_Download_file_307900.svg"); + min-width:40px; + height: auto; + padding-right: 1rem; + } + a{ + hyphens: auto; + display: inline-flex; + align-items: center; + color: $blue-light; + font-weight: 800; + // max-width: 80px ; + } + } + + } + } + + .block-entity-fieldnodefield-liens{ + h2{display: none;} + .field--name-field-liens{ + .field__item{ + margin: auto; + height: fit-content; + border: 2px solid $blue-light; + min-height: 4rem; + background: $white; + color: $blue-light; + padding-left: 1rem; + padding-top: 1rem; + margin-bottom: 1rem; + } + a{ + display: inline-flex; + align-items: center; + color: $blue-light; + font-weight: 800; + &::before{ + content: url("../images/pictos/noun_External Link_674151.svg"); + min-width: 40px; + height: auto; + padding-right: 1rem; + } + svg.ext{ + display: none; + } + } + } + + } + + + .block-entity-fieldnodefield-ress{ + margin-top: 3rem; + + h2{ + font-size: 0.8rem; + color: $black; + font-weight: 900; + } + + .node-type-ressource{ + display: flex; + flex-direction: column; + border: 2px solid $blue-light; + padding: 1rem; + + height: fit-content; + margin-bottom: 1rem; + background-color: $white; + &:first-of-type{ + border-top: 1px solid $blue-light; + padding-top: 1rem; + &::after{ + content: url("../images/pictos/noun_Arrow_3771902.svg"); + align-self: flex-end; + } + } + .field--name-title{ + a{ + color: $black; + font-size: 1.4rem; + font-weight: 600; + + } + } + .field--name-field-auteur-s-{ + font-weight: 800; + p{ + margin: 0; + } + .field__label{ + display:none; + } + } + .field--name-field-edition{ + p{ + margin: 0; + } + .field__label{ + display:none; + } + } + .field--name-field-images{ + width: 50%; + img{ + width: 100%; + height: auto; + } + } + } + } + + } + + + } + + .layout__region--bottom{ + .block-entity-fieldnodefield-partenaires{ + width: 50%; + margin: auto; + display: flex; + flex-direction: row; + flex-wrap: wrap; + h2{display: none;} + .field--name-field-partenaires{ + display: flex; + flex-direction: row; + flex-wrap: wrap; + .field--name-field-titre{ + display: none; + } + .paragraph--type--partenaire{ + display: flex; + flex-direction: column; + } + } + + } + + } } } }