/*----------------------------------------------------
  ==================================================== 
Created by: Goodinson & Pound Agency 
For use by: The Viking Society
Date Created: 13/02/2022
==================================================== 
----------------------------------------------------*/
@import url("https://use.typekit.net/mig0lfn.css");
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;1,100;1,300;1,400;1,500;1,700&display=swap');
@import "Norse.css";

/*------------------Structure---------------------*/

:root {
    /*Standard colors*/
    --blue: #007bff;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #ffc107;  
    --green: #28a745;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #6c757d;
    --gray-dark: #333333;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;
    --transparent:transaprent;
    /*Theme colors*/
    --alpha:#000000;
    --beta:#FFA700;
    --gamma:#79062A;
    --delta:#FFFFFF;
    --epsilon:#00000029;
}

* {
    box-sizing: border-box; /* All margins and padding included in size*/
}

html,body {
    margin:0;
    padding:0;
    font-family: Roboto;
    color:var(--alpha);
    background: var(--white);
    background-image: url('../images/BG.png'); 
    background-size: auto 100vh; background-position: top right; background-repeat: no-repeat
}

div.row {
    width:100%;
    float:left;
}

div.col {
    float:left;
    padding:0 10px;
}
div.tablecol {
    display:table-cell;
    background:grey;
}
.full {
    width:99.9999%
}
.threequarter {
    width:74.9999%
}
.twothird{
    width:66.6666%
}
.half {
    width:49.9999%
}
.third {
    width:33.3333%
}
.quarter {
    width:24.9999%
}
.widePadding {
    padding: 0 8px
}
.mediumPadding {
    padding: 0 20px !important
}
.narrowPadding {
    padding: 0 45px !important
}
.normalContent {
    width:100%;
    max-width:1200px;
    margin:auto;
}
.narrowContent {
    width:100%;
    max-width:1100px;
    margin:auto;
}
.wideContent {
    width:100%;
    max-width:1500px;
    margin:auto;
}

div.BannerStatic {
        min-height:800px;
        position:relative;
        background-repeat: no-repeat;
        background-position:center top;
        background-size: cover;
        margin: auto;
        width:100%;
        position:relative;
        overflow: auto;
        float:left;
        
}

div.BannerStaticTablet {
    display: none;
}

div.BannerStaticMobile {
    display: none;
}
div.BannerImageHoldLeft {
    background-position:Left top;
}
div.BannerImageHoldRight {
    background-position:Right top;
}
[class^="bg-container"]{
    width:100%;
    position: relative;
    padding:5px;
    float:left;
}
div.bg-container-alpha {
    background:var(--alpha);
}
div.bg-container-beta {
    background:var(--beta);
}
div.bg-container-gamma {
    background:var(--gamma);
}
div.bg-container-delta {
    background:var(--delta);
}

div.bg-container-grey {
    background:#F0F0F0;
}

a.btn {
    padding:12px;
    text-decoration: none;
    border-radius: 0;
    margin:10px 0px;
    display:block;
    float:left;
    font-size: 10pt;
    cursor: pointer;
}
a.btnRight {
    float:right
}
a.btnWhite {
    border: 2px solid white;
    color:white;
}
a.btnBlack {
    background:#000000;
    color:white;
}
a.btnWhite:hover,a.btnBlack:hover {
    border: 2px solid black;
    color:black;
    background: #f0f0f0
}
a.btnBeta {
    background: var(--beta);
    color:var(--alpha);
}
a.btnAlpha {
    border: 2px solid var(--alpha);
    color:var(--alpha);
}
a.btnGamma {
    border: 2px solid var(--gamma);
    color:var(--gamma);
}
a.btnDelta {
    border: 2px solid var(--delta);
    color:var(--gamma);
}
a.btnCenter {
    left:50%;
    transform:translate(-50%,0);
    position:relative
}

.P-L{
    padding:60px 0
}
.P-T-L{
    padding-top:60px
}
.P-B-L{
    padding-bottom:60px
}
.P-M{
    padding:40px 0
}
.P-B-M{
    padding-bottom:40px
}
.P-T-M{
    padding-top:40px
}
.P-S{
    padding:20px 0
}
.P-B-S{
    padding-bottom:20px
}
.P-T-S{
    padding-top:20px
}
.P-XS{
    padding:10px 0
}
.P-B-XS{
    padding-bottom:10px
}
.P-T-XS{
    padding-top:10px
}
.P-L-XS{
    padding-left:10px
}
.M-L{
    margin:60px 0
}
.M-T-L{
    margin-top:60px
}
.M-B-L{
    margin-bottom:60px
}
.M-M{
    margin:40px 0
}
.M-B-M{
    margin-bottom:40px
}
.M-T-M{
    margin-top:40px
}
.M-S{
    margin:20px 0
}
.M-B-S{
    margin-bottom:20px
}
.M-T-S{
    margin-top:20px
}
.M-XS{
    margin:10px 0
}
.M-B-XS{
    margin-bottom:10px
}
.M-T-XS{
    margin-top:10px
}
.quarter-m {
    width:calc(24.9999% - 20px);
}
.third-m {
    width:calc(33.3333% - 20px);
}
.BannerHeader {
    margin-top:200px;font-size:40pt;color:white;
}
.floatLeft {
    float:left;
}
/* ------------------- FOOTER ---------------------*/
#footer {
    background:var(--gray-dark);
    float:left;
    width:100%;
    color:var(--delta)
}

a.footerLink {
    color: white;
    text-decoration: none;
    display: inline-block;
    position:relative;
    width:100%;
    margin:15px;
    margin-left:0
    }
h2.footerHeader {
    color: white;
    display: inline-block;
    position:relative;
    width:100%;
    margin:15px;
    margin-left:0
    }
p.footer {
    color: white;
    text-decoration: none;
    display: inline-block;
    position:relative;
    width:100%;
    margin:15px;
    margin-left:0
    }
/*------------------Navigation---------------------
This has been altered complared to a normal top right aligned menu. Use as template for center menu.
*/

/*------------------Navigation---------------------*/

div.nav {
    z-index:30;
    font-family: 'Montserrat';
    position: relative;
    background-color: var(--gray-dark);
    min-height:150px;
    
}
.nav .navInner {
    max-width:1200px;
    margin:0 auto;
}
img.top-nav {   
    float: left;
    height: 55px;
    width:55px; 
}
a.navLink {
    float: left;
    display: block;
    color:var(--delta);
    text-align: center;
    padding: 45px 16px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
}
a.navLink:hover,.dropdown:hover .dropbtn {
    color: #f0f0f0;
}
.nav a.title {
    margin:0; 
    float:left !important; 
    color:#fff;
    padding:0;
}
img.navImage {
    margin:15px 10px;
    display:block;
    float:left;
    max-width: 300px
}
.active {
    background-color: white;
    color: var(--beta);
}
.nav .icon {
    display: none;
    float: right;
    color: var(--delta);
    text-align: center;
    padding: 10px 12px;
    text-decoration: none;
    font-size: 36px;
    font-weight: 300;
    margin:30px;
    background:var(--gamma);
    border-radius:3px
}
.dropdown {
    float: left;
    overflow: hidden;
}
.dropdown .dropbtn {
    display: block;
    color:var(--delta);
    text-align: center;
    padding: 45px 16px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    background-color: inherit;
    font-family: inherit;
    border:none;
    margin:0;
}
.dropdown-content {
    display: none;
    position: absolute;
    background-color: rgba(255,255,255,.9);
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}
.dropdown-content a {
    float: none;
    color: var(--alpha);
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
    font-size:16px;
}
.dropdown:hover .dropdown-content {
    display: block;
}
h1.header-text {
    text-align: left;
    font-size: 16px;
    text-transform: uppercase;
    margin:22px 16px;
    font-weight: 300;
    width:250px;
    float:left; 
    color:#fff;
}
#NavOptions {
    float:right;
    padding:20px 0
}
@media screen and (max-width: 1090px) {
    a.navLink, .dropdown .dropbtn {
        display: none;
    }
    .nav a.icon {
        float: right;   
        display: block;
    }
}
@media screen and (max-width: 1090px) {
    .nav.responsive {
        position: fixed;
        background: var(--gamma); 
        z-index:3500; 
        height:100vh
    }
    .nav.responsive .icon {
        position: absolute;
        right: 0;
        top: 0;
    }
    .nav.responsive a.navLink {
        float: left;
        display: block;
        text-align: left;
        width:100%;
        padding:15px;
    }
    .nav.responsive .NavOptions {
        width:100vw;
        height:100vh;
        overflow-y: scroll;
    }
    .nav.responsive .dropdown {
        float: none;
        overflow: visible;
    }
    .nav.responsive .dropdown-content {
            position: relative;
    }
    .nav.responsive .dropdown .dropbtn {
        display: block;
        width: 100%;
        text-align: left;
        padding:15px;
    }
    #NavOptions {
    float:left;
    width:100vw
}
}
/*------------------------------------------*/

@media screen and (max-width: 1120px) {
    .full {
        width:99.9999%
    }
    .threequarter {
        width:99.9999%
    }
    .twothird{
        width:99.6666%
    }
    .half {
        width:99.9999%
    }
    .third {
        width:99.99%
    }
    .quarter {
        width:49.9999%
    }
    .col {
        padding:0 10px
    }
    .BannerHeader {
        margin-top:75px;font-size:35pt;color:white;
    }
}

/* ------------------  Fonts   ------------------*/

p {
    line-height:1.5;
    font-weight: 300;
}

h1,h2,h3 {
    font-weight:300;
                text-align:center;
                letter-spacing: 3px;
                text-transform: uppercase
}
h2 {
    font-size: 22px
}
p.xl,a.xl,h2.large {
    font-size:20pt
}
p.large,a.large,h2.medium {
    font-size:16pt
}
p.medium, a.medium,h2.small {
    font-size:13pt
}
p.small,a.small{
    font-size:10pt
}
p.xsmall,a.xsmall {
    font-size:8pt
}
h1.title-row {
    font-weight:300;
    margin: 0 auto;
}
.italic {
    font-style: italic;
}
.alignLeft {
    text-align: left;
}

.lineheightAdjust {
    line-height: 1.5
}
h1.section, h3.section {
    font-weight:300;
    margin: 0 auto;
}
.bold {
    font-weight:400
}
.extraBold {
    font-weight:700
}
.whiteFont {
    color:white;
}
.alphaFont {
    color:var(--alpha)!Important;
}
.betaFont{
    color:var(--beta)!Important;
}
.gammaFont {
    color:var(--gamma);    
}
.deltaFont {
    color:var(--delta)
}
.epsilonFont {
    color:var(--epsilon)
}
.centerText {
    text-align: center;
}
.rightText {
    text-align: right
}
.upperFont {
    text-transform: uppercase
}
.spacingPlus {
    letter-spacing: 2px;
}



@media only screen and (max-width:1080px){
    .collapsible {
        font-size:12pt
    }
    .quarter-m {
        width:calc(49.9999% - 20px)
    }

    .third-m {
        width:calc(49.9999% - 20px);
    }
    .card {
        margin:5px 0;
    }
    
    div.BannerStatic {
        display: none;
    }
    div.BannerStaticTablet {
        display: block;
        min-height:500px;
        position:relative;
        background-repeat: no-repeat;
        background-position:center bottom;
        background-size: cover;
        margin: auto;
        width:100%;
        position:relative
    }
}
@media only screen and (max-width:600px){
    .navImage {
        width:250px;
    }
    .quarter-m {
        width:calc(99.9999% - 20px)
    }
    .third-m {
        width:calc(99.9999% - 20px);
    }
        div.BannerStaticTablet {
        display: none;
    }
    div.BannerStaticMobile {
        display: block;
        min-height:300px;
        position:relative;
        background-repeat: no-repeat;
        background-position:center bottom;
        background-size: cover;
        margin: auto;
        width:100%;
        position:relative
    }
    .mobileMinXL {
        min-height:600px
    }
    .mobileMinL {
        min-height:500px
    }
    .mobileMinM {
        min-height:400px
    }
    .mobileMinS {
        min-height:300px
    }
}
/*------------------------*/

.collapsible {   
    color: var(--blue);
    background:white;
    cursor: pointer;
    padding: 9px;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 13pt;
    margin-top:5px;
    border-bottom:.5px var(--yellow) solid;
    font-weight: 500
}

.activeCollaspsible, .collapsible:hover {
    background-color: #f0f0f0;
    color:var(--blue)
}

.contentCollapsible {
    padding: 10px;
    display: none;
    overflow: hidden;
    background-color: WHITE;

}

.cardThird {
    box-shadow: 0 0 3px var(--blue);
    width:calc(33.3333% - 20px);
    margin-left: 10px;
    margin-right: 10px;
}
.card {
    box-shadow: 0 20px 35px 0 rgb(0 0 0 / 15%);
    min-height:180px;
    border-radius:2px;
    margin:5px 0;
    position:relative;
    Overflow:auto;
}
.card img.h {
    width:100%;
}
div.distance {
    width:60px;
    height:60px;
    position:absolute;
    top:0;
    right:0;
    background: var(--gamma);
    z-index: 50;
}
div.distance p {
    text-align: center;
    color:white;
}
.hire:hover {
        box-shadow: 0 0 3px #FFA700;
    }

/* ================ Forms =================*/

input[type=text],input[type=email],input[type=tel], input[type=date],select, textarea {
    width: 100%;
    padding: 15px 20px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #FFA700;
    border-radius: 4px;
    box-sizing: border-box;
    box-shadow: 0 0 3px #FFA700;
}


input[type=submit].btn {
    padding:10px 35px;
    text-decoration: none;
    border-radius: 0;
    display:block;
    float:left;
    font-size: 12pt;
    background:transparent
}
input[type=submit].btnWhite {
    border: 2px solid white;
    color:white;
}
input[type=submit].btnBlack {
    border: 2px solid black;
    color:black;
    
}
input[type=submit].btnBeta{
    background:var(--beta);
    color:black;
    border:none   
}
input[type=submit].btnCenter{
    position:relative;
    left:50%;
    transform:translate(-50%,0);
}
label {
   color:var(--gray);
   text-transform: uppercase;
}
@media only screen and (max-width:900px){
    input[type=submit] {
        width:49.9999%;
        padding: 10px 35px;
        margin: 8px 0;
        display: inline-block;
        background: #ffb600;
        border-radius: 4px;
        box-sizing: border-box;
        border:none;
        float:right
    }
    .collapsible {
        font-size: 14pt;
    }
    .mobileHide {
        display:none
    }
}
@media only screen and (max-width:600px){
    input[type=submit] {
        width:99.9999%;
        padding: 15px 20px;
        margin: 8px 0;
        display: inline-block;
        background: #ffb600;
        border-radius: 4px;
        box-sizing: border-box;
        border:none;
        float:right
    }
}

/* --------- Tables ---------- */
table {
    width:100%;
    font-family: arial;
    font-size:14pt;
    table-layout: fixed
}
td {
    width:50%
}

img.col {
    margin:0
}

img.third {
    width:33.3333%;
    display:block;
    float:left;

}

@media screen and (max-width: 900px) {
    img.third {
        width:99.999%;
        display:block;
        float:left;
    }
    
    p.xl,a.xl,h2.large {
    font-size:16pt
    }
    p.large,a.large,h2.medium {
        font-size:12pt
    }
    p.medium, a.medium,h2.small {
        font-size:11pt
    }
    p.small,a.small{
        font-size:11pt
    }
    p.xsmall,a.xsmall {
        font-size:11pt
    }
}
                          
h1.MainPageHeader {
    font-size:46pt;color:white;width:100%;margin-bottom:5px;text-shadow: 0 0 .5px #000000
}
h1.SectionHeader {
    font-size:28pt;
    letter-spacing: 2px;
    font-weight: 700;
    line-height: .9
}

.MainPageHeaderText {font-size:30pt;margin-top:10px}

img.Flag {
    width:90px;
    margin:0 calc(50% - 45px);
    padding:0
}
p.NoMargin {
    margin:0 auto
}
a.button {
    display: block;
    border:1px solid var(--alpha) ;
    width: 150px;
    margin:15px auto;
    padding:10px; 
    text-decoration: none;
    text-align:center;
    color:var(--alpha);
    cursor: pointer;
}
/* ------------------  Fonts   ------------------*/

.freightFont {
    font-family: freight-display-pro,serif;
    font-weight: 400;
    font-style: normal;
}

/* ------------ SITE SPECIFIC ---------------*/
.norse {
    font-family: 'Norse Regular', sans-serif;
}
.norsebold {
    font-family: 'Norse Bold', sans-serif;
}
img.MainLogo {
    width:90%;
    max-width:500px;
    margin: 50px 0;
    position:relative;
    left:50%;
    transform: translate(-50%,0);
}

.skewed-bg{
    transform:rotate(3deg) skew(3deg);
}
.unskew {
    transform:rotate(-3deg) skew(-3deg);
}
.MenuSectionHeader {
    background: var(--beta);
    text-transform: uppercase;
    padding:20px 0;
}
.MenuSectionHeader_alpha {
    background: var(--alpha);
    text-transform: uppercase;
    padding:20px 0;
    margin-top:0
}
.MenuSubHeader {
    background: var(--delta);
    text-transform: uppercase;
    padding:7px 0;
}
div.client {
    height:170px;
}
img.client {
    margin: 10px 6px;
    object-fit: contain;
    width:90%;
    transform: translate(-50%,-50%);
    left:50%;
    top:50%;
    position: relative;
}
.relative {
    position: relative;
}
.noPadding {
    padding:0 !important
}
.noMargin {
    margin:0;
}
img.GridImage {
    object-fit: COVER;
    width:100%;
}
div.Grid {
    position:relative;
    overflow:auto
}
div.Grid .overlay {
    width:100%;
    height:100%;
    background:rgba(25, 33, 50, .95);
    position:absolute;
    right:100%;
    transition: right .75s, top .75s;
    top:-100%;
}
div.Grid:hover div.overlay {
    right:0%;
    top:0%;
}
div.Grid div.overlay div.overlayInner {
    transform: translate(-50%,-50%);
    top: 50%;
    left:50%;
    position:absolute;
    width:80%;
    transition-delay: 1s;
    transition: opacity 2.5s;
}
div.Grid div.overlay:hover div.overlayInner{
opacity:1
}
.bottomBorder {
    border-bottom: var(--alpha) solid 1px;
    padding-bottom: 15px;
    border-right: transparent solid 30px;
    width:75%;
}
div.displayCont{
    width:calc(100%);
    left:0px;
    overflow:hidden;
}
.display-indicator {
    float:left;
    padding:15px 5px;
    width:calc(33.33333%);
    text-align: center;
    background:gainsboro;
    color:grey;
}
.green {
    background: var(--beta);
    color:green
}
#lh-tag {
    height: 30px;
    color:green;
    margin:0
}
#arch-tag {
    height: 30px;
    color:green;
    margin:0
}



div.included {
    width:100%;
    max-width:300px;
    overflow:auto;
    position:relative;
    left:50%;
    transform: translate(-50%,0)
}
.included img {
    width:22px;
    float:left;
    margin-right: 5px
}
.included p {
    margin:0;
    padding:2px
}
#modal_bg {
    position: fixed;
    background: rgba(0,0,0,0.9);
    width:100vw;
    height:100vh;
    top:0;
    left:0;
    display:none;
    z-index:150;
}
#modal {
    position:fixed;
    background:var(--white);
    width:100vw;
    max-width: 600px;
    min-height:300px;
    left:50%;    
    top:50%;
    display:none;
    transform: translate(-50%,-50%);
    border-radius:10px;
    z-index:175
}
#modal div.modalHeader {
    width:100%;
    height:70px;    
    color:white;
    margin:0;
    padding:10px;
    border-radius: 5px 5px 0 0
}
div.modalHeader h1 {
    margin:5px
}
a.modal_closer {
    position:absolute;
    top:10px;
    right:10px;
    background:var(--beta);
    padding:10px;
    color:black;
}   
.selected {
    border: var(--beta) 2 solid !important;
    box-shadow: 0 20px 35px 0 rgba(121, 6, 42, .5);

}