@font-face {
    font-family: "Roboto Slab";
    src: url("../fonts/RobotoSlab-VariableFont_wght.ttf");
}

html {
    --main-color: #004b82;
    --yellow: #860319;
    --dark-yellow: #860319;
    --darkblue: #0a1c3c;
    --red: #860319;
}

.body {
    overflow: hidden;
}

* {
    transition: color .3s;
}

.pl-0 {
    padding-left: 0 !important;
}

.pr-0 {
    padding-right: 0 !important;
}

.overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

.colorlib-nav {
    /* box-shadow: 0 1px 6px rgba(0, 0, 0, .3); */
}

.page-content {
    padding-top: 13px;
}

.d-flex {
    display: flex !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-start {
    justify-content: flex-start !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}


/******************
    MENU STYLES
******************/

#colorlib-offcanvas {
    padding-top: 100px;
    position: fixed;
}

.top-menu .overlay {
    background: url('/static/mysite/images/patterns/pattern_05_red.png');
    background-size: 80px;
    background-position: 0 0;
    opacity: .1;
}


/*
  TOP NAV STYLES  */

nav.sticky {
    position: fixed;
    z-index: 999;
}

.upper-menu {
    background-color: var(--red);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    transition: .3s;
    transform-origin: top;
}

.upper-menu.hidden {
    display: flex !important;
    margin-top: -32px;
}

.upper-menu a.upper-menu-nav-link:hover {
    color: var(--yellow);
}

.upper-menu {
    position: relative;
}

.upper-menu ul li a {
    font-weight: bold;
}

.upper-menu .overlay {
    background: url('/static/mysite/images/patterns/pattern_05.png');
    background-size: 80px;
    background-position: 0 32px;
    opacity: .2;
}


/*
  / TOP NAV STYLES  */

.colorlib-nav-toggle {
    right: 1em;
}

.colorlib-nav-toggle i,
.colorlib-nav-toggle i::after,
.colorlib-nav-toggle i::before {
    background-color: #111 !important;
}

.colorlib-nav-toggle.active i,
.colorlib-nav-toggle.active i::after,
.colorlib-nav-toggle.active i::before {
    background-color: #eee !important;
}

#colorlib-offcanvas>ul li a,
#colorlib-offcanvas ul li.offcanvas-has-dropdown>a:after {
    color: #bbb;
}

#colorlib-offcanvas>ul li:hover>a,
#colorlib-offcanvas ul li.offcanvas-has-dropdown:hover>a:after {
    color: #eee;
}

.colorlib-nav .top-menu {
    padding: 10px;
}

.colorlib-nav {
    background: #FFF;
    background-size: 20%;
}

.top-menu>.container {
    width: 100% !important;
    padding: 0 63px 0 50px;
}

.top-menu>.container>.row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
}

.colorlib-nav>.top-menu>.container .text-right>ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.top-menu>.container>.row>.text-right {
    flex: 1;
    width: max-content;
}

.colorlib-nav .text-right>ul>li {
    padding: 5px 2px;
}

.colorlib-nav .text-right>ul>li>a {
    padding: .5em;
    background-color: var(--main-color);
    color: white;
    border-radius: 3px;
    font-weight: bold;
    font-size: 1.1em;
    position: relative;
    margin-bottom: 3px;
}

.colorlib-nav .text-right>ul>li>a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0;
    background-color: var(--main-color);
    transition: .3s;
}

.colorlib-nav .text-right>ul>li>a:hover::before {
    width: 100%;
}

.colorlib-nav .text-right>ul>li.active>a:hover::before,
.colorlib-nav .text-right>ul>li.has-dropdown>a:hover::before {
    width: 0;
}

.colorlib-nav .text-right>ul>li.active>a {
    color: var(--main-color);
    border-bottom: 2px solid var(--main-color);
    text-shadow: 0 0 1px white;
}

.colorlib-nav .text-right>ul>li>a:hover {
    background-color: #033b63;
}

.colorlib-nav ul li.active>a {
    color: #777;
}

.colorlib-nav ul li.has-dropdown .dropdown {
    width: max-content;
    top: 34px;
    border: 8px solid white;
    border-width: 8px 0 0;
    min-width: 150px;
    background: var(--main-color);
}

.colorlib-nav ul li.has-dropdown .dropdown::before {
    border-bottom-color: var(--main-color);
}

.colorlib-nav ul li.has-dropdown .dropdown li a {
    color: #fff;
    text-decoration: underline transparent;
}

.colorlib-nav ul li.has-dropdown .dropdown li a:hover {
    color: #fff;
    text-decoration: underline #fff;
}


/* 
   MENU STYLES
*/

.dropdown-backdrop {
    /* On mobile */
    display: none;
}

#colorlib-offcanvas>ul {
    margin-top: 2em;
}


/******************
   OTHER  STYLES
******************/

.services .link {
    color: #111;
}

.services .link:hover {
    color: var(--main-color);
}

.special-bg {
    background: linear-gradient(135deg, rgba(104, 139, 167, .4), rgba(104, 139, 167, .4)), linear-gradient(52deg, rgba(163, 163, 163, 0.09) 0%, rgba(163, 163, 163, 0.09) 33.3%, rgba(100, 100, 100, 0.09) 33.3%, rgba(100, 100, 100, 0.09) 66.6%, rgba(162, 162, 162, 0.09) 66.6%, rgba(162, 162, 162, 0.09) 99%), linear-gradient(258deg, rgba(193, 193, 193, 0.06) 0%, rgba(193, 193, 193, 0.06) 33.3%, rgba(169, 169, 169, 0.06) 33.3%, rgba(169, 169, 169, 0.06) 66.6%, rgba(92, 92, 92, 0.06) 66.6%, rgba(92, 92, 92, 0.06) 99%), linear-gradient(129deg, rgba(45, 45, 45, 0.03) 0%, rgba(45, 45, 45, 0.03) 33.3%, rgba(223, 223, 223, 0.03) 33.3%, rgba(223, 223, 223, 0.03) 66.6%, rgba(173, 173, 173, 0.03) 66.6%, rgba(173, 173, 173, 0.03) 99%), linear-gradient(280deg, rgba(226, 226, 226, 0.06) 0%, rgba(226, 226, 226, 0.06) 33.3%, rgba(81, 81, 81, 0.06) 33.3%, rgba(81, 81, 81, 0.06) 66.6%, rgba(186, 186, 186, 0.06) 66.6%, rgba(186, 186, 186, 0.06) 99%), linear-gradient(85deg, rgba(225, 225, 225, 0.04) 0%, rgba(225, 225, 225, 0.04) 33.3%, rgba(95, 95, 95, 0.04) 33.3%, rgba(95, 95, 95, 0.04) 66.6%, rgba(39, 39, 39, 0.04) 66.6%, rgba(39, 39, 39, 0.04) 99%), linear-gradient(128deg, rgba(184, 184, 184, 0.06) 0%, rgba(184, 184, 184, 0.06) 33.3%, rgba(0, 0, 0, 0.06) 33.3%, rgba(0, 0, 0, 0.06) 66.6%, rgba(140, 140, 140, 0.06) 66.6%, rgba(140, 140, 140, 0.06) 99.89999999999999%), linear-gradient(323deg, rgba(40, 40, 40, 0.07) 0%, rgba(40, 40, 40, 0.07) 33.3%, rgba(214, 214, 214, 0.07) 33.3%, rgba(214, 214, 214, 0.07) 66.6%, rgba(190, 190, 190, 0.07) 66.6%, rgba(190, 190, 190, 0.07) 99.89999999999999%), linear-gradient(61deg, rgba(230, 230, 230, 0) 0%, rgba(230, 230, 230, 0) 33.3%, rgba(241, 241, 241, 0) 33.3%, rgba(241, 241, 241, 0) 66.6%, rgba(55, 55, 55, 0) 66.6%, rgba(55, 55, 55, 0) 99%), linear-gradient(0deg, #2625e3, #0bbaef);
    margin-top: -1px;
}

.services .icon i,
.services .desc h3 a {
    color: #fff;
}

.services .desc h3 a:hover {
    color: #fff;
}

.colorlib-services .icon {
    position: relative;
}

.colorlib-services .icon::before {
    content: '';
    position: absolute;
    border: 2px solid white;
    width: 200%;
    height: 200%;
    border-bottom-color: transparent;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}

.light-gradients {
    background: linear-gradient(158deg, rgba(84, 84, 84, 0.03) 0%, rgba(84, 84, 84, 0.03) 20%, rgba(219, 219, 219, 0.03) 20%, rgba(219, 219, 219, 0.03) 40%, rgba(54, 54, 54, 0.03) 40%, rgba(54, 54, 54, 0.03) 60%, rgba(99, 99, 99, 0.03) 60%, rgba(99, 99, 99, 0.03) 80%, rgba(92, 92, 92, 0.03) 80%, rgba(92, 92, 92, 0.03) 100%), linear-gradient(45deg, rgba(221, 221, 221, 0.02) 0%, rgba(221, 221, 221, 0.02) 14.286%, rgba(8, 8, 8, 0.02) 14.286%, rgba(8, 8, 8, 0.02) 28.572%, rgba(52, 52, 52, 0.02) 28.572%, rgba(52, 52, 52, 0.02) 42.858%, rgba(234, 234, 234, 0.02) 42.858%, rgba(234, 234, 234, 0.02) 57.144%, rgba(81, 81, 81, 0.02) 57.144%, rgba(81, 81, 81, 0.02) 71.42999999999999%, rgba(239, 239, 239, 0.02) 71.43%, rgba(239, 239, 239, 0.02) 85.71600000000001%, rgba(187, 187, 187, 0.02) 85.716%, rgba(187, 187, 187, 0.02) 100.002%), linear-gradient(109deg, rgba(33, 33, 33, 0.03) 0%, rgba(33, 33, 33, 0.03) 12.5%, rgba(147, 147, 147, 0.03) 12.5%, rgba(147, 147, 147, 0.03) 25%, rgba(131, 131, 131, 0.03) 25%, rgba(131, 131, 131, 0.03) 37.5%, rgba(151, 151, 151, 0.03) 37.5%, rgba(151, 151, 151, 0.03) 50%, rgba(211, 211, 211, 0.03) 50%, rgba(211, 211, 211, 0.03) 62.5%, rgba(39, 39, 39, 0.03) 62.5%, rgba(39, 39, 39, 0.03) 75%, rgba(55, 55, 55, 0.03) 75%, rgba(55, 55, 55, 0.03) 87.5%, rgba(82, 82, 82, 0.03) 87.5%, rgba(82, 82, 82, 0.03) 100%), linear-gradient(348deg, rgba(42, 42, 42, 0.02) 0%, rgba(42, 42, 42, 0.02) 20%, rgba(8, 8, 8, 0.02) 20%, rgba(8, 8, 8, 0.02) 40%, rgba(242, 242, 242, 0.02) 40%, rgba(242, 242, 242, 0.02) 60%, rgba(42, 42, 42, 0.02) 60%, rgba(42, 42, 42, 0.02) 80%, rgba(80, 80, 80, 0.02) 80%, rgba(80, 80, 80, 0.02) 100%), linear-gradient(120deg, rgba(106, 106, 106, 0.03) 0%, rgba(106, 106, 106, 0.03) 14.286%, rgba(67, 67, 67, 0.03) 14.286%, rgba(67, 67, 67, 0.03) 28.572%, rgba(134, 134, 134, 0.03) 28.572%, rgba(134, 134, 134, 0.03) 42.858%, rgba(19, 19, 19, 0.03) 42.858%, rgba(19, 19, 19, 0.03) 57.144%, rgba(101, 101, 101, 0.03) 57.144%, rgba(101, 101, 101, 0.03) 71.42999999999999%, rgba(205, 205, 205, 0.03) 71.43%, rgba(205, 205, 205, 0.03) 85.71600000000001%, rgba(53, 53, 53, 0.03) 85.716%, rgba(53, 53, 53, 0.03) 100.002%), linear-gradient(45deg, rgba(214, 214, 214, 0.03) 0%, rgba(214, 214, 214, 0.03) 16.667%, rgba(255, 255, 255, 0.03) 16.667%, rgba(255, 255, 255, 0.03) 33.334%, rgba(250, 250, 250, 0.03) 33.334%, rgba(250, 250, 250, 0.03) 50.001000000000005%, rgba(231, 231, 231, 0.03) 50.001%, rgba(231, 231, 231, 0.03) 66.668%, rgba(241, 241, 241, 0.03) 66.668%, rgba(241, 241, 241, 0.03) 83.33500000000001%, rgba(31, 31, 31, 0.03) 83.335%, rgba(31, 31, 31, 0.03) 100.002%), linear-gradient(59deg, rgba(224, 224, 224, 0.03) 0%, rgba(224, 224, 224, 0.03) 12.5%, rgba(97, 97, 97, 0.03) 12.5%, rgba(97, 97, 97, 0.03) 25%, rgba(143, 143, 143, 0.03) 25%, rgba(143, 143, 143, 0.03) 37.5%, rgba(110, 110, 110, 0.03) 37.5%, rgba(110, 110, 110, 0.03) 50%, rgba(34, 34, 34, 0.03) 50%, rgba(34, 34, 34, 0.03) 62.5%, rgba(155, 155, 155, 0.03) 62.5%, rgba(155, 155, 155, 0.03) 75%, rgba(249, 249, 249, 0.03) 75%, rgba(249, 249, 249, 0.03) 87.5%, rgba(179, 179, 179, 0.03) 87.5%, rgba(179, 179, 179, 0.03) 100%), linear-gradient(241deg, rgba(58, 58, 58, 0.02) 0%, rgba(58, 58, 58, 0.02) 25%, rgba(124, 124, 124, 0.02) 25%, rgba(124, 124, 124, 0.02) 50%, rgba(254, 254, 254, 0.02) 50%, rgba(254, 254, 254, 0.02) 75%, rgba(52, 52, 52, 0.02) 75%, rgba(52, 52, 52, 0.02) 100%), linear-gradient(90deg, #FFF, #FFF);
}

.map-wrapper iframe {
    width: 100%;
}

.colorlib-intro .play a {
    background: #4b6784;
}

.colorlib-intro {
    position: relative;
    background: url("/static/mysite/images/bg_1.jpg");
    background-position: center bottom;
}

.colorlib-intro>* {
    z-index: 1;
    position: relative;
}

.colorlib-intro::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, .3);
    z-index: 0;
}

.colorlib-intro h2 {
    background-color: rgba(255, 255, 255, .9);
}

.pulse.popup-vimeo {
    background-color: rgba(255, 255, 255, 1) !important;
}

.pulse.popup-vimeo .icon-play3 {
    color: #373d44;
}


/***********************
**  BACK TO TOP
******************/

.formations-nav {
    list-style: none;
    padding: 0;
    margin: 0;
}


/* PAGE TITLE */

.page-title {
    background-color: white;
    border-bottom: 1px solid #ddd;
    margin-bottom: 20px;
    position: relative;
}

.page-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url('/static/mysite/images/patterns/pattern_05_red.png');
    background-size: 80px;
    background-position: 0 -20px;
    opacity: .1;
}

.page-title .row .col {
    margin: 2em 0;
}

.page-title h1 {
    text-align: center;
    color: var(--main-color);
    font-family: 'Roboto Slab', sans-serif;
    font-weight: bold;
    padding-right: .5em;
    margin: 0;
}

.colorlib-nav .top-menu {
    position: relative;
}


/* BACK TO TOP */

.back-to-top-container {
    position: absolute;
    top: 0;
    right: 0;
    height: 100vh;
    width: 0;
}

.back-to-top__button {
    position: fixed;
    bottom: 1rem;
    right: 2rem;
    opacity: 1;
    visibility: visible;
    transition: all 0.2s ease;
}

.back-to-top-container--intersecting .back-to-top__button {
    opacity: 0;
    visibility: hidden;
}

.button.back-to-top__button {
    -webkit-appearance: none;
    background: var(--yellow);
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 2px;
    vertical-align: middle;
    color: var(--darkblue);
    text-align: center;
    cursor: pointer;
    font-size: 1.3em;
}

.button.back-to-top__button:hover {
    color: var(--yellow);
    background: var(--darkblue);
}


/* FOOTER */

#colorlib-footer {
    background-color: rgba(48, 49, 51);
    position: relative;
}

#colorlib-footer:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(/static/mysite/images/patterns/pattern_05.png);
    background-size: 60px;
    opacity: .1;
    z-index: 0;
}

#colorlib-footer .copy {
    position: relative;
    padding: 2em 0;
}


/* / FOOTER */


/* LAYOUT */

.py-4 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

.py-2 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* / LAYOUT */


/* Screen sizes */

@media (max-width: 425px) {
    .page-title h1 {
        margin-left: 0 !important;
    }
}

@media (max-width: 490px) {
    .upper-menu-section.social-links {
        display: none;
    }
}

@media (max-width: 768px) {
    #colorlib-logo img {
        max-width: 150px !important;
    }

    .page-content {
        padding-top: 10px;
    }
}

/* @media (min-width: 769px) {
    .page-content {
        padding-top: 33px;
    }
} */

@media (min-width: 992px) {
    .page-content {
        padding-top: 13px;
}

@media (max-width: 1199px) {
    .page-title::before {
        background-position: 0 -18px;
        opacity: .1;
    }
}

@media (min-width: 1200px) {
    .page-content {
        padding-top: 13px;
    }
}

/* Screen sizes */


/* OTHER */

.colorlib-bg-white {
    border: 0;
}