@import url("font/font.css");

/* === GLOBAL STYLES ======================================================= */
/* GENERAL */
html,
body {
	margin: 0;
	padding: 0;
}

body {
	font-family: var(--textStyle), sans-serif;
	font-size: var(--fontSize);
	font-weight: 300;
	margin: 0px;
	color: var(--contentFG);
	background-color: var(--rootBG);
	overflow-x: hidden;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-shadow: 1px 1px 1px rgb(0 0 0 / 0%);
    -webkit-text-stroke: 1px transparent;

    @media (max-width: 550px) {
    	body {
    		font-size: 0.9rem;
    	}
    }
}

.hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	visibility: hidden;
	top: -10000px;
	left: -10000px;
}

a {
	color: var(--accentColor);
	text-decoration: none;

	&:hover {
    	color: var(--accentColorDark);
    }
    & img {
    	border-width: 0px;
    }
}

q::before,
q::after {
	content: "";
}

ul,
ol {
	margin: 5px 0 0 0;
	list-style-position: outside;
}

table {
	border-collapse: collapse;
    background-color: #fff;
}

h1, h2, h3, h4, h5 {
	font-family: var(--titleStyle);
}

h2 {
    color: var(--accentColor);
    line-height: 1.5;
    font-weight: normal;
    font-size: 2em;
	margin-block-end: 2.5rem;
	border-block-end: 1px dashed;
}

/* STRUCTURE / MENU */
#main {
	display: flex;
	min-height: 100vh;
}

#content {
	flex: 1;
	padding: 2rem;
    width: -moz-available;
    width: -webkit-fill-available;
    width: -fill-available;

    & > * {
        width: var(--contentWidth);
        max-width: -moz-available;
        max-width: -webkit-fill-available;
        max-width: -fill-available;
        margin: 0 auto;
    }
    & .tagline {
        margin-block-start: 2em;
    }
}

#menu {
	width: var(--menuWidth);
    background: var(--rootBGAlt);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.5rem;

    & .sw_menu_navList {
    	margin: 0;
    	padding: 0;
    	list-style: none;
        display: flex;
        flex-direction: column;
        gap: 0.5em;

        & a:hover {
            border-block-end: 1px dashed;
        }
    }
    & .footer {
        display: flex;
        flex-direction: column;
        font-size: 0.9em;
        gap: 0.3em;
    }
    & ul li {
        font-family: var(--titleStyle);

        &:first-child {
            font-size: 2em;
            margin-block-end: 0.5em;

            & span.mnuSel_yes {
                color: var(--accentColor);
            }
        }
    }
    & a {
    	color: var(--accentColor);
    	font-weight: 500;

    	&:hover {
            color: var(--accentColorDark);
        }
        &.generatorLink {
            font-style: italic;
        }
    }
    & .links {
        display: flex;
        flex-direction: column;
        gap: 0.4em;
        margin-block-end: 1em;

        & a {
            display: flex;
            align-items: center;
            gap: 0.4em;

            &:hover {
                color: var(--accentColorDark)!important;
            }
            &::before {
                font-family: "fontello";
                font-weight: normal;
            }
        }
        & .website a::before {content: "\E807";}
        & .facebook a {
            color: #3a589b;
            &::before {content: "\E806";}
        }
        & .twitter a {
            color: #000;
            &::before {content: "\E809";}
        }
        & .linkedin a {
            color: #007ab9;
            &::before {content: "\E808";}
        }
        & .other a::before {content: "\E80A";}
        & .other:has(img) > a {
            flex-direction: row-reverse;
            justify-content: flex-end;
            gap: 1.5mm;

            &::before {
                content: none;
            }
        }
    }
    @media (max-width: 1100px) {
        display: none;
        position: fixed;
        top: 0;
        bottom: 0;
        width: 100%;
        max-width: -moz-available;
        max-width: -webkit-fill-available;
        max-width: -fill-available;
        z-index: 2;

        &.show_menu_false {
            display: flex;
        }
    }
}

span.mnuSel_yes {
    color: var(--contentFG);
    border-block-end: 1px dashed;
}

a.generatorLink  {
	font-size: 80%;
}

/* CONTENT */
.infos {
	display: flex;
	justify-content: center;
    align-items: center;

    @media (max-width: 550px) {
        flex-direction: column;
    }
}

.personalInfos {
	margin-inline-start: 3rem;

    & p {
        margin: 0;
    }
    & > .infosBlock {
        margin-block: 0.6em;
        font-weight: 500;

        & > span {
            font-weight: 300;
        }
    }
    & > div:not(.infosBlock) {
        margin-block: 0.6em;
        display: flex;
        align-items: center;
        gap: 0.2em;

        &::before {
            font-family: "fontello";
            font-weight: normal;
            font-size: 110%;
        }
        &.nationality::before {content: "\E805";}
        &.birthdate::before {content: "\E800";}
        &.phoneNumber::before {content: "\E804";}
        &.pmail::before {content: "\E803";}
        &.email {
            & a {
                color: var(--contentFG);
            }
            &::before {content: "\E801";}
        }
        &.driverLicense::before {content: "\E802";}
    }
    @media (max-width: 550px) {
        margin: 0;
    }
}

img.photo {
	border-radius: 10em;
	aspect-ratio: 1;
	object-fit: cover;
}

.tagline {
	margin-block-start: 2rem;
}

.lineBk {
	margin-block-end: 3rem;
}

.lineBk_ti {
	display: flex;
  font-weight: bold;
  align-items: baseline;
  justify-content: space-between;
}

.title {
    font-size: 1.3em;
    order:-1;
    font-family: var(--titleStyle);
}

.location {
	color: var(--accentColorDark);
	font-style: italic;
}

#burgerMenu {
    display: none;
    position: absolute;
    top: 0;
    right: 5px;
    color: var(--contentFG);
    background: transparent;
    border: 0;
    border-radius: 0.3em;
    font-size: 2rem;
    z-index: 3;
    cursor: pointer;

    &::before {
        font-family: "fontello";
        content: "\E80B";
    }
    :has(.show_menu_false) &::before {
        content: "\E80C";
    }
    & > span {
        display: none;
    }
    @media (max-width: 1100px) {
        display: block;
    }
}

/* ACCESSIBILITE */
ul#accessibility {
	list-style-type: none;
	margin: 0;
	padding: 0;
	position: absolute;
	right: 0;
	width: auto;
	z-index: 90;
	font-size: 0.6em;
	top: 5px;

	& a {
    	color: var(--headerFG);
    	text-decoration: none;
    	opacity: 0;

        &:hover, &:focus {
            opacity: 1;
            color: var(--headerOver);
        }
    }
    & li {
    	float: left;
    	margin-inline-end: 10px;
    }
}

.tePlayer.teVideoType {
    max-width: -moz-available;
    max-width: -webkit-fill-available;
    max-width: -fill-available;

    & video,
    & mediaelementwrapper {
        max-width: -moz-available;
        max-width: -webkit-fill-available;
        max-width: -fill-available;
    }
}