#presentation,
.cg,
.np,
main {
    display: flex;
    flex-direction: column
}

.cd,
.fig,
.vm1 img,
.vm2,
header,
noscript {
    width: 100%
}

.h2p,
.h2s,
.t2,
noscript {
    text-align: center
}

.contD,
.head,
.maphoto,
.np,
.pict,
noscript {
    display: flex
}

.mta,
.pict,
noscript {
    position: relative
}

#cel .arr,
.mta span {
    background-image: url(../../Images/arrico.png);
    background-repeat: no-repeat
}

#cel .arr,
.mta span,
.pict {
    background-repeat: no-repeat
}

.navigation,
.pict,
.secseo {
    overflow: hidden
}

.job:after,
.job:before {
    top: 50%;
    transform: translatey(-50%) rotate(45deg)
}

#competences h3,
.dip,
.port h4,
.t2 {
    text-transform: uppercase
}

.mta,
.port {
    float: left
}

.affprt,
.lateral a,
.menu-b,
.port {
    cursor: pointer
}

.bntDownload,
.coinfc a,
.lateral a,
.lires a,
.navS a,
.swe {
    text-decoration: none
}

@font-face {
    font-family: open_24_display_stregular;
    src: url('../font/open_24_display_st-webfont.ttf') format('truetype'), url('../font/open_24_display_st-webfont.woff2') format('woff2'), url('../font/open_24_display_st-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Poppins;
    src: url('fonts/webfont.woff2') format('woff2'), url('fonts/webfont.ttf.woff') format('woff'), url('fonts/webfont.ttf') format('truetype'), url('webfont.svg#svgFontName') format('svg'), url('fonts/webfont.woff2') format('embedded-opentype');
    font-display: swap
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

#presentation,
.cg,
main {
    width: 100%
}

#presentation {
    background: 0 0/cover #f1f1f1
}

#SEO {
    background: 0 0/cover #00a88c
}

#part {
    margin: auto;
    width: 90%;
    padding: 20px 0
}

h1 {
    font-family: open_24_display_stregular;
    font-size: 10vw
}

.lab,
.port h4,
a,
h2,
li,
p {
    font-family: Poppins
}

.h2p {
    color: #586b7e;
    font-size: 2em;
    text-shadow: 0 2px 1px #000
}

.h2s {
    color: #00a88c;
    font-size: 1.4em;
    text-shadow: 0 0 1px rgb(0 0 0 / 20%);
    margin-bottom: 20px
}

noscript {
    justify-content: center;
    align-items: center;
    padding: 15px;
    margin: auto;
    height: 60px;
    background-color: red;
    color: #fff;
    font-size: 24px
}

header {
    background: url(../../Images/bg.jpg) center center no-repeat;
    padding-top: 20px;
    padding-bottom: 20px;
    box-shadow: inset 0 -1em 20px 0 rgb(0 0 0 / 60%);
    border-bottom: 5px solid #fff
}

.head {
    justify-content: center
}

.contD {
    flex-direction: column-reverse
}

.port h4 {
    color: #00a0a8;
    font-size: 1.2em;
    line-height: 2em;
    padding: 0 0 5px
}

.t2 {
    color: #fff;
    font-family: Raleway, sans-serif;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 10px;
    text-shadow: 0 0 2px #000000c9
}

.infpres h1 {
    font-size: 46px;
    color: #fff;
    text-shadow: -1px 3px 5px black;
}

.cg p {
    font-size: 16px;
    text-align: center;
    margin: 15px
}

.cgb,
.dip,
.navS li {
    text-align: center
}

.contDIP p {
    font-size: 13px
}

.maphoto {
    flex-direction: row
}

.pict {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 1px solid #fff;
    margin: 0;
    background-image: url(../../Images/gbouhlel2.jpg);
    background-size: 100%
}

.affprt,
.nw,
.tcport {
    display: none
}

.np {
    justify-content: center;
    align-items: flex-start;
    margin: 0 0 0 15px
}

#foCO,
.cgb {
    flex-direction: column;
    display: flex
}

.np p {
    font-size: 24px;
    color: #009ce9;
    text-shadow: -1px 1px 3px #0000002e;
}

.pos {
    font-size: 12px !important
}

.cgb {
    width: 100%;
    justify-content: center;
    align-items: center
}

.sal {
    width: 80%
}

#foCO {
    margin-top: 10px
}

#cel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%
}

.mta span {
    content: " ";
    position: absolute;
    width: 48px;
    height: 62px;
    top: 9px;
    left: 1px;
    background-position: -8px -6px
}

#services,
.navS li {
    background: #fff
}

.champ {
    width: 100%;
    padding: 20px 5px 20px 50px;
    margin: 5px 0;
    border: 1px solid #17689f;
    background-color: #fff;
    border-radius: 5px;
    font-size: 1.1em;
    font-family: Poppins
}

textarea {
    max-width: 100%;
    min-width: 100%;
    resize: none
}

#cel .arr {
    background-position: -8px -3px
}

#msgi {
    height: 200px
}

.logogb {
    width: 60px;
    filter: drop-shadow(0px 0px 7px black)
}

.menu-b {
    position: fixed;
    width: 55px;
    height: 55px;
    bottom: 5px;
    right: 5px;
    padding: 12px;
    font-size: 1.5em;
    background: #056aaf;
    z-index: 750;
    border-radius: 50%;
    box-shadow: 0 0 3px rgb(0 0 0 / 81%);
    border: 1px solid #fff;
    color: #fff
}

.bntDownload {
    font-size: 16px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    background: #474d5d;
    padding: 16px 22px;
    display: inline-block;
    color: #fff;
    max-width: fit-content;
    margin-top: 20px
}

#competences h3,
.btn-ct,
.coinfc,
.coinfc p,
.in h3,
.swe {
    font-family: Poppins
}

.navS ul,
.navigation {
    display: flex;
    width: 100%
}

.navigation {
    position: fixed;
    background: rgb(0 0 0 / 90%);
    padding: 60% 20% 20%;
    margin: 0;
    right: 0;
    left: 0;
    top: 100%;
    bottom: 0;
    z-index: 500;
    -webkit-transition: top .4s;
    transition: top .4s
}

#foot,
.pot {
    padding: 20px
}

.navS,
.pot {
    top: 0
}

.navS ul {
    justify-content: center;
    flex-direction: column;
    justify-content: space-between;
    list-style: none
}

.navS li,
.vom {
    display: flex;
    flex-direction: row
}

.navS li {
    width: 100%;
    height: 60px;
    box-shadow: 0 0 10px rgb(0 0 0)
}

.lateral a,
.navS li i {
    justify-content: center
}

.navS li i {
    display: flex;
    align-items: center
}

.navS a {
    vertical-align: bottom;
    width: 100%;
    padding: 16px 0 10px;
    color: #036799;
    font-size: 14px
}

.assec,
.vm1,
.vm2 {
    display: flex;
    flex-direction: column
}

.secseo {
    border-radius: 0 0 10px 10px;
    background-color: #fff
}

.job,
.job h2 span {
    border-radius: 8px
}

.linkBU {
    position: absolute;
    bottom: 0;
    right: 30px
}

.linkBU img {
    width: 100px
}

#seci3 .vm1 {
    width: 30%
}

.vom {
    height: 80%;
    align-items: center
}

.vm1 {
    width: 40%;
    display: none
}

.vm2 p {
    font-size: 20px;
    margin-bottom: 10px
}

.alphaOL {
    list-style-type: upper-alpha;
    margin-left: 20px
}

.lateral ul {
    list-style: none;
    display: flex;
    width: 100%;
    flex-direction: row
}

.lateral li {
    width: 20%;
    height: 50px
}

.lateral a {
    height: 50px;
    font-size: 30px;
    color: #fff;
    display: flex;
    align-items: center;
    transition: .5s
}

.act a,
.title {
    font-size: 40px
}

.lateral a:hover {
    color: gold
}

#bts1 {
    border-radius: 10px 0 0
}

#bts5 {
    border-radius: 0 10px 0 0
}

#p3 {
    background: #dcf0ff
}

#competences {
    background: #00a0a8
}

#portfolio {
    background: #ffebd0
}

.pot,
.secseo {
    height: 500px
}

.pot {
    overflow: auto;
    position: relative;
    transition: .5s
}

.contDIP,
.port {
    position: relative;
    overflow: hidden
}

.mlat {
    background-color: rgba(0, 0, 0, .329)
}

.act {
    background-color: #fff !important
}

.act a {
    color: #0485c6
}

.secseo p {
    font-size: 18px
}

.pot::-webkit-scrollbar {
    width: 5px
}

.pot::-webkit-scrollbar-thumb {
    -webkit-box-shadow: inset 0 0 6px rgb(0 0 0 / 50%);
    background: #0485c6;
    border-radius: 80px
}

.pot::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgb(0 0 0 / 30%);
    background: 0 0/100% 100% #fff;
    border-radius: 80px
}

.fa-times:before {
    content: "\f00d" !important
}

.contDIP:before,
.job:after,
.job:before {
    content: '';
    position: absolute
}

.lires a {
    color: #fff;
    font-size: 28px
}

.wrapper {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center
}

.title {
    display: block;
    color: #fff;
    padding: 14px 40px;
    background: #000
}

#foot,
.iCin,
figure {
    display: flex
}

.dip {
    margin-top: 20px;
    font-weight: 700
}

.contDIP {
    padding: 20px 10px;
    margin: 0 auto
}

.contDIP:before {
    width: 8px;
    height: 100%;
    background: #313131;
    left: 20px
}

.job {
    background: #fff;
    padding: 10px;
    margin: 20px 10px 20px 60px;
    position: relative;
    -webkit-box-shadow: -5px 5px 41px -18px rgba(0, 0, 0, .75);
    -moz-box-shadow: -5px 5px 41px -18px rgba(0, 0, 0, .75);
    box-shadow: -5px 5px 41px -18px rgba(0, 0, 0, .75)
}

.job h2 {
    font-size: 14px
}

.job h2 span {
    font-size: 12px;
    color: #000;
    padding: 4px;
    position: absolute;
    bottom: 3px;
    right: 3px
}

.job p {
    margin-bottom: 0
}

.job:before {
    width: 20px;
    height: 20px;
    background: #fff;
    left: -10px;
    z-index: -1;
    border: 2px solid #000
}

.job:after {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 4px solid #313131;
    left: -65px
}

#j1::after {
    background: gold
}

#j2::after {
    background: #868992
}

#j3::after {
    background: #986f00
}

#j4::after {
    background: #c49c48
}

#j1 span {
    border: 2px solid gold
}

#j2 span {
    border: 2px solid #868992
}

#j3 span {
    border: 2px solid #986f00
}

#j4 span {
    border: 2px solid #c49c48
}

.listser {
    margin-top: 30px
}

.iCin {
    flex-direction: row;
    padding: 10px 0 20px
}

.in h3 {
    font-size: 18px;
    color: #f70
}

#competences h3 {
    font-size: 16px;
    color: #fff
}

.in p {
    font-size: 12px
}

.iC::after,
.icpt::after {
    background-image: url(../../Images/banser.png);
    background-repeat: no-repeat;
    display: flex;
    content: " "
}

.affprt.affo,
.btn-ct {
    display: block;
    text-align: center;
    margin: auto
}

.iC::after {
    width: 60px;
    height: 60px
}

.icpt::after {
    width: 200px;
    height: 72px
}

#n1::after {
    background-position: 0 -577px
}

#n2::after {
    background-position: 0 -292px
}

#n3::after {
    background-position: 0 -79px
}

#n4::after {
    background-position: 0 -225px
}

#n5::after {
    background-position: 0 -510px
}

#n6::after {
    background-position: 0 0
}

#icpt1::after {
    background-position: center -1685px
}

#icpt2::after {
    background-position: center -1540px
}

#icpt3::after {
    background-position: center -1612px
}

figure {
    width: 100%;
    justify-content: center;
    align-items: center
}

figcaption {
    text-align: center;
    color: #292929;
    font-style: italic
}

#seci1 figure img,
#seci4 figure img {
    width: 90%;
    margin: 10px 0
}

#seci4 p {
    margin: 20px 0
}

.drs img {
    width: 128px;
    filter: drop-shadow(2px 1px 3px black);
    margin-bottom: 15px
}

.coinfc,
.coinfc p {
    font-size: 18px;
    color: #000;
    text-align: center
}

.coinfc a {
    color: #000
}

#foot {
    background: #036799;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.btn-ct {
    background: #1faceb;
    color: #fff;
    padding: 15px 35px;
    border: 0;
    font-size: 1.5em;
    letter-spacing: 1px;
    border-radius: 5px;
    cursor: pointer;
}

.container,
.port {
    width: 100%;
    display: flex
}

.container {
    justify-content: center;
    flex-wrap: wrap
}

.port {
    margin: 10px 1%;
    min-width: 45%;
    max-width: 48%;
    height: 150px;
    text-align: center;
    background-color: #fff;
    box-shadow: 0 0 5px rgb(0 0 0 / 15%);
    align-items: center;
    justify-content: center;
    transition: 1.5s;
    z-index: 6
}

.cpt,
.max.port {
    flex-direction: column
}

.affprt {
    z-index: 99999
}

.port img {
    max-width: 80%;
    height: auto;
    filter: grayscale(100%);
    transition: .8s
}

.max.port {
    cursor: auto;
    padding-top: 25px
}

.max img,
.prth img {
    filter: drop-shadow(1px 1px 2px black)
}

.max img {
    margin: 25px 0;
    max-width: 250px
}

.affprt.affo {
    font-size: 36px;
    width: 50px;
    height: 50px;
    color: #0166aa
}

.cpt,
.max .tcport,
.sep {
    display: flex
}

.max {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important
}

.max .tcport {
    justify-content: flex-start;
    width: 100%;
    padding: 25px;
    text-align: left
}

.portstop {
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    margin: 0 !important
}

#video1,
.cpt {
    margin-bottom: 20px
}

.swe {
    color: #00a0a8
}

#competences .container {
    justify-content: space-evenly
}

.cpt {
    width: 80%;
    height: 150px;
    justify-content: center;
    align-items: center
}

#video1 {
    width: 100%;
    box-shadow: 1px 1px 12px #000
}

.sep {
    flex-direction: column;
    margin-top: 25px
}

.iMES {
    margin: 10px;
    background: red;
    padding: 20px;
}

@media screen and (min-width:960px) {
    h1 {
        font-size: 24px
    }

    h2 {
        font-size: 18px
    }

    .navigation a,
    p {
        font-size: 14px
    }

    .h2p {
        font-size: 2.5em;
        text-align: left
    }

    .nw {
        display: block
    }

    #part {
        width: 975px;
        padding: 50px 0
    }

    .logogb {
        width: 100px
    }

    .navigation {
        padding: 0;
        background: 0 0;
        position: relative;
        display: flex;
        justify-content: center;
        width: 100%
    }

    .navigation ul {
        display: flex;
        justify-content: space-between;
        margin: 32px -8px 0;
        list-style: none;
        width: 650px
    }

    .navigation li {
        display: flex;
        flex-direction: column;
        width: 115px;
        height: 100px;
        text-align: center;
        background: #fff;
        box-shadow: 0 0 10px rgb(0 0 0)
    }

    #cel,
    #foCO,
    .em input {
        width: 100%
    }

    .navigation li i {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 60px
    }

    .navigation a {
        vertical-align: bottom;
        width: 100%;
        height: 40px;
        padding: 16px 0 10px;
        color: #036799;
        text-decoration: none
    }

    .tL {
        display: flex !important;
        font-size: 3em !important;
        color: #0485c6;
        justify-content: center;
        align-items: center
    }

    .navigation a i,
    .navigation a span {
        position: relative;
        z-index: 2
    }

    span {
        color: #fff
    }

    .menu-b,
    .np {
        display: none
    }

    .cg,
    .contD {
        display: flex
    }

    .contD {
        flex-direction: row
    }

    .cg,
    .drl,
    .gal {
        flex-direction: column
    }

    .cg {
        width: 60%
    }

    .cd {
        width: 40%
    }

    .infpres {
        margin: 0 0 50px
    }

    .infpres h1 {
        font-size: 46px;
        color: #fff
    }

    .cg p {
        font-size: 20px;
        text-align: justify;
        margin: 15px 0 0
    }

    .contDIP p {
        font-size: 13px
    }

    .pict {
        width: 10vw;
        height: 10vw;
        margin: 75px auto 0;
        box-shadow: 1px 1px 5px 0px black;
    }

    #foCO {
        margin-top: 10px
    }

    #cel {
        align-items: flex-start;
        justify-content: space-between
    }

    .btn-ct,
    .champ {
        width: 49%
    }

    .btn-ct {
        margin: auto 0
    }

    .cot {
        flex-direction: row !important
    }

    .job {
        padding: 20px
    }

    .job h2 {
        font-size: 16px
    }

    .show {
        opacity: 1 !important;
        visibility: visible !important
    }

    .scrollLink {
        display: inline-block;
        background-color: #0166aa;
        width: 50px;
        height: 50px;
        text-align: center;
        border-radius: 4px;
        position: fixed;
        bottom: 20px;
        right: 20px;
        transition: background-color .3s, opacity .5s, visibility .5s;
        opacity: 0;
        visibility: hidden;
        z-index: 1000;
        text-decoration: none;
        box-shadow: 0 0 10px rgb(0 0 0 / 43%)
    }

    .drl,
    .drs,
    .gal,
    .listser,
    .sep,
    .vm1 {
        display: flex
    }

    .scrollLink::after {
        content: "\005E";
        font-weight: 400;
        font-style: normal;
        font-size: 50px;
        position: relative;
        bottom: 15px;
        line-height: 90px;
        color: #fff
    }

    .tL,
    .zbr,
    a,
    span {
        transition: .5s
    }

    .sll span {
        color: #0166aa
    }

    .hover {
        background: #00a88c !important;
        border-radius: 20px
    }

    .hover a span {
        opacity: 0
    }

    .hover .tL {
        color: #fff !important;
        font-size: 5em !important;
        height: unset
    }

    .listser {
        flex-direction: row;
        justify-content: space-between
    }

    .drl,
    .gal {
        width: 48%
    }

    .iC {
        width: 65px
    }

    .blk1 {
        margin: 0 70px 15px;
        font-size: 18px
    }

    .c1 {
        margin-left: 70px
    }

    .h2s {
        font-size: 2em
    }

    .lateral ul {
        flex-direction: column
    }

    .lateral li {
        width: 50px
    }

    .assec {
        flex-direction: row
    }

    #bts5 {
        border-radius: 0 0 0 10px
    }

    .secseo {
        border-radius: 0 10px 10px
    }

    #seci3 .vm2 {
        width: 70%
    }

    .vm2 {
        width: 60%
    }

    .port {
        min-width: 25%;
        max-width: 30%;
        height: 150px
    }

    .coinfc,
    .coinfc p,
    .t2 {
        text-align: left
    }

    .cpt {
        width: 32%;
        margin-bottom: 0
    }

    #video1 {
        width: 85%
    }

    .sep {
        flex-direction: row-reverse
    }

    .drs {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 50%
    }
}