/* GLOBAL VARIABLES */
:root {
    --lightBlue: #009EE2;
    --darkBlue: #25346D;
    --darkFont: rgb(35, 31, 32);
    --navbar-brand-color: #00000000 ;
    --bs-nav-link-color: #00000000 ;
    --lightBlueFontColor: #38A6E3;
    --Grey: #949494;
    
    --plainTextFont: Nunito, Roboto, Arial, sans-serif;
    
    --paddingLeftMain: 20px;
    --paddingRightMain: 20px;
    --paddingTopMain: 20px;
    --paddingBottomMain: 30px;
    
    --headerHeight: 60px;
}

img.SvgToLightBlue {
    /* https://isotropic.co/tool/hex-color-to-css-filter/ */
    filter: invert(62%) sepia(84%) saturate(1946%) hue-rotate(172deg) brightness(92%) contrast(94%);
}

iframe {
    display:block;
}

/* GENERAL */
html, body {
    overflow-x: hidden;
}

body {
    padding-top: 60px;
}

body, table, td {
    color: var(--darkFont) !important;
    font-family: var(--plainTextFont);
    font-size: 16px;
}

h1 {
    margin-top: 40px;
    margin-bottom: 40px;
    font-size: 250%;
    font-weight: 600;
}

h2 {
    margin-top: 50px;
    font-size: 150%;
    font-weight: 400;
}

.H2afterH1 {
    margin-top: -36px;
}

h4 {
    font-size: 110%;
    margin-top: 20px;
}

a {
    text-decoration: none;
}

.FlexPaneContainer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: normal;
    align-content: normal;    
}

.FlexPaneContainer > div, .FlexPaneContainer > a {
    color: var(--darkFont);
    width: 250px;
    display: block;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    align-self: auto;    
    text-align: center;
    padding: 8px;
}

.FlexPaneContainer > a:hover {
    background-color: #eee;
    border-radius: 16px;
}

.FlexPaneContainer > div > img, .FlexPaneContainer > a > img {
    width: 150px;
    height: 150px;
    border: 1px solid #eee;
    border-radius: 16px;
    margin: 16px;
    float: none;
    max-width: none;
    object-fit: contain;
}

.FlexPaneContainer > div > h1, .FlexPaneContainer > a > h1 {
    font-size: 150%;
    font-weight: 400;
    margin: 0 0 16px;
}
.FlexPaneContainer > div > p, .FlexPaneContainer > a > p {
    font-weight: 400;
    font-family: Inter;
}

.FlexPaneContainer.LearningJourney > div > img {
    width: 60px;
    height: 60px;
    border: none;
    border-radius: 50%;
    margin: 16px;
    float: none;
    max-width: none;
    object-fit: contain;
    position: relative;
}

.pull-right {
    float:right;
}

.LimitWidth {
     max-width: 900px; 
     margin-left: auto;
     margin-right: auto;
     padding: 0 75px;
}

.alert {
    margin-left: 60px;
    margin-right: 60px;
}

table.ContentPanels td,
.alert {
    padding: 20px 60px;
}

table.ContentPanels td h2,
.alert h2 {
    font-size: 120%;
    font-style: italic;
    margin-top: 10px;
}

table.ListTable td {
    font-size: 80%;
}

/* CONTENT OF THE PAGE */
#ContentContainer {
    /* position: absolute; */
    /*overflow: auto;*/
    width: 100vw;
}
.contents {
    min-height: 100%;
    padding: 0;
    /*padding-left: var(--paddingLeftMain);*/
    /*padding-right: var(--paddingRightMain);*/
    /*padding-bottom: var(--paddingBottomMain);*/
    /*padding-top: var(--paddingBottomMain);*/
}

.contents img {
    max-width: 20%;
    margin-right: 10%;
    float: left;
}

p {
    font-family: Inter;
    font-weight: 400;
    line-height: 20px;
}

.contents p {
    width: 65%
    float: right;
    text-align: justify;
}

.SubForm {
    height: calc(100vh - 223px);
}

#Header {
    background-color: #ffffff !important;
    padding: 0;
}

#Header > .LimitWidth {
    border-bottom: 1px solid #ddd;
    padding: 8px 0 !important;
}

#Header a.navbar-brand {
    font-weight: 700;
    font-size: 125%;
    line-height: 32px;
}
#Header a:not(.Button){
    color: #000 !important;
    font-size: 100%;
    font-weight: 700;
}

a.navbar-brand > img {
    vertical-align: bottom;
}

div.Hero {
    text-align: center; 
    padding: 50px 70px;
    background-image: linear-gradient(135.43626753280444deg,rgba(56, 166, 227, 1) 18.989661606217098%, rgba(0, 212, 255, 1) 74.63373459659937%);
    color: white;
    font-size: 250%;
    line-height: 1.1;
   
}

div.CTA {
    background-image: linear-gradient(-97.43141282224923deg,rgba(56, 166, 227, 1) 5.574599459855586%, rgba(0, 212, 255, 1) 100.00001594734671%);   
    font-weight: 400;
    font-size: 150%;
    line-height: 1.2;
    padding: 20px 20px 20px 40px;
    margin-top: 50px;
    margin-bottom: 50px;
}

div.CTA-Text {
    padding-right: 40px;
    color: white;
}

div.Center, div.BodyLeftAligned {
    /*margin: 0 75px;*/
}

div.Center, div.Center p {
    text-align: center; 
}

.FullWidth {
    margin-left: -75px;
    margin-right: -75px;
}

@media only screen and (min-width: 993px) {
    #HeaderStartNowButton_Menu {
        display: none;
    }
}

@media only screen and (max-width: 992px) {
    html, body {
        font-size: 14px;
    }
    #HeaderStartNowButton {
        display: none;
    }
    #Header > .LimitWidth {
        padding: 8px !important;
    }   
    
    div.Center, div.BodyLeftAligned {
        /*margin: 0 50px;*/
        
    }
    
    div.Hero {
        padding: 35px 50px;
    }
    
    div.LimitWidth {
        padding-left: 50px;
        padding-right: 50px;
    }
    .FullWidth {
        margin-left: -50px;
        margin-right: -50px;
    }
}
@media only screen and (max-width: 600px) {
    html, body {
        font-size: 12px;
    }
    div.Center, div.BodyLeftAligned { 
        /*margin: 0 20px;*/
    }

    div.Hero {
        padding: 15px 20px;
    }
    
    div.LimitWidth {
        padding-left: 20px;
        padding-right: 20px;
    }
    .FullWidth {
        margin-left: -20px;
        margin-right: -20px;
    }
}


a.Button {
    font-size: 112%;
    font-weight: 600;
    padding: 6px 12px;
    cursor: pointer;
}
a.Button:hover {
    filter: brightness(.9);
}
a.Button-Blue, a.Button-Blue:hover, a.Button-Blue:visited {
    background-color: var(--lightBlueFontColor);
    color: white;
}
a.Button-White, a.Button-White:hover, a.Button-White:visited {
    color: var(--lightBlue);
    background-color: white;
}

/* FOOTER */
.footer {
    background-color: var(--Grey);
    color: white;
    /*padding-left: var(--paddingLeftMain);*/
    /*padding-right: var(--paddingRightMain);*/
    /*padding-bottom: var(--paddingBottomMain);*/
    /*padding-top: var(--paddingTopMain);*/
    margin-top: 20px;
    padding: 20px;
    
    min-height: 60px;
    
    /*position: fixed;
    bottom: 0;
    left: 0;
    right: 0;*/
}


img.ScreenShot {
    width: auto;
    max-width: 75%;
    margin: 0 auto;
    display: block;
    float: none;
    margin-bottom: 32px;
}

code {
    display: block;
    white-space: pre-wrap;
    background-color: #eee;
    border: 1px solid black;
    border-radius: 10px;
    padding: 10px;
    color: black;
    font-size: 80%;
}

span.PolarScript_Comment {
    color: green;
}
span.PolarScript_Error {
    color: red;
}
span.PolarScript_Keyword {
    color: #0000ff;
}
span.PolarScript_String {
    color: #B00000;
}
span.PolarScript_Function {
    color: #6d4c20;
}
span.PolarScript_Operator {
    color: #0000ff;
}
span.PolarScript_Constant {
    color: #2b91af;
}
span.PolarScript_Type {
    color: #B000B0;
}

.contents > h3 {
    margin-top: 30px;
}

@media screen and (max-width: 900px) {
    :root {
        --paddingLeftMain: 10px;
        --paddingRightMain: 10px;
        --paddingTopMain: 10px;
        --paddingBottomMain: 10px;
        --headerHeight: 60px;
    }
    
    .alert {
        margin-left: 10px;
        margin-right: 10px;
    }
    
    table.ContentPanels td,
    .alert {
        padding: 10px 10px;
    }    
    
    #Footer .LimitWidth {
        zoom: 85%;
    }
    
    #Footer .LimitWidth p {
        margin-bottom: 4px;
    }
    
    .HideOnSmall {
        display: none;
    }
    
    #ContentContainer {
        margin-top: 36px;
    }
    
    .SubForm {
        height: calc(100vh - 96px);
    }
}

/* Accordion */
div.accordion h2 {
    margin-top: 0;
}

div.accordion-body {
    /*border: 1px solid rgb(222, 226, 230);*/
    /*border-top-width: 0;*/
    /*margin-bottom: 8px;*/
}

/* PuzzleMask */
    div.ComponentImagePuzzleMask {
        position: relative;
        width: 220px;
        height: 166px;
        margin: 0 0 20px 55px;
        zoom: .8;
    }
    
    div.ComponentImagePuzzleMask > img {
        position: absolute;
        display: inline-block;
        max-width: none;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        mask-image: url(puzzlemaskextraspace.svg);
        mask-size: 100% 100%;
        mask-repeat: no-repeat;
    }
    div.ComponentImagePuzzleMask::after {
        content: ""; 
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(puzzleoutlineblue.svg);
        background-size: 100% 100%;
        background-repeat: no-repeat;
    }
    
    div.ComponentImagePuzzleMask.Contain > img {
        object-fit: contain;
        transform: translate(-26px, 0);
        mask-position: 26px;    }