/* #region Globals */
* {
    font-family: 'Red Hat Text';
}

h1 {
    font-size: 4rem;
    line-height: 4rem;
    color:#fff;
    font-weight: 600;
    text-shadow: 0 0 1rem rgba(30, 53, 29, 0.75);
    text-align:center;
}

.herohome h1 {
    text-align:left;
    max-width:1100px;
}

h1 span {
    color: #fff;
    font-size: 4rem;
    line-height: 4rem;
    font-weight: 600;
    display:table;
    margin-left:auto;
    margin-right:auto;
    position:relative;
}

h2 {
    color: #5c9559;
    font-size: 3rem;
    line-height: 3rem;
    font-weight: 600;
    text-transform: uppercase;
}

h3 {
    font-size: 2rem;
    line-height: 2rem;
    color: #222;
}

h4 {
    font-size: 1.5rem;
    color: #5c9559;
}

.full {
    height:100%;
}

.mainlink {
    background-color: #ebb22c;
    border: 2px solid #ebb22c;
    padding: 15px 20px;
    font-weight: 600;
    color: #fff;
    display:table;
    border-radius:0.5rem;
}

.mainlink:hover {
    background-color: transparent;
    color: #ebb22c;
}

@media only screen and (max-width:1400px) {
    h1, h1 span {
        font-size: 3rem;
        line-height: 3rem;
    }

    h2 {
        font-size: 2.5rem;
        line-height: 2.5rem;
    }

    .paddbl {
        padding: 60px;
    }
}

@media only screen and (max-width:1000px) {
    .padside {
        padding-left: 30px;
        padding-right: 30px;
    }

    h1, h1 span {
        font-size: 2.5rem;
        line-height: 2.5rem;
    }
}

@media only screen and (max-width:700px) {
    h1, h1 span {
        font-size: 2rem;
        line-height: 2rem;
    }

    .paddbl {
        padding-left: 30px;
        padding-right: 30px;
    }
}

/* #endregion */

/* #region Header */

.header {
    position:relative;
    z-index:10;
}

.header .subheader {
    background-color: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
    padding:0.5rem 0;
}

.header .quote {
    color: #222;
    font-weight: 600;
}

.header .quote a {
    color: #fec834;
}

.header .quote .symbol {
    transition: all .2s;
}
.header .quote:hover .symbol {
    opacity:0.5;
}

.header .quote .symbol:hover {
    opacity:1;
}

.header .quote .symbol a:hover {
    color: #bea027;
}

.header .contact a {
    margin-left: 5px;
    color: #fec834;
    font-weight:600;
}

.header .contact a:hover {
    color: #bea027;
}

.header .contact {
    color: #222;
    font-weight:600;
}

header .contact .fa-brands {
    font-weight:400;
}

.header {
    transition: all .3s;
}

.header .logo img {
    height: 70px;
}

.header .mainheader {
    margin-top: 30px;
}

.scrolled {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: rgba(5, 13, 5, 0.8);
    backdrop-filter: blur(10px);
    z-index: 9;
}

.scrolled .subheader {
    display: none;
}

.scrolled .mainheader {
    margin-top: 0;
}

.scrolled .logo {
    padding-top: 15px;
    padding-bottom: 15px;
}

.scrolled .logo img {
    height: 60px;
}

@media only screen and (max-width:1400px) {
    .header .logo img {
        height: 60px;
        margin-right: 30px;
    }
}

@media only screen and (max-width:1600px) {
    .header .volbox {
        display: none;
    }
}

@media only screen and (max-width:1400px) {
    .header .quote div:not(:first-of-type) {
        display: none;
    }

    .header .quote {
        padding-right: 0;
    }

    .header .quote .symbol {
        margin-left: 0;
    }
}

@media only screen and (max-width: 1000px) {
    .header .contact .item {
        display: none;
    }
}

@media only screen and (max-width:800px) {
    .header .logo img {
        height: 60px;
    }
}

@media only screen and (max-width:1100px) {
    .header .contact .tel {
        display: none;
    }
}

@media only screen and (max-width:900px) {
    .header .contact .email {
        display: none;
    }
}

@media only screen and (max-width:500px) {
    .header .logo img {
        height:unset;
        width:60vw;
    }
}

/* #endregion */

/* #region Menu */

/* #endregion */

/* #region Hero */
.hero {
    background: url('images/2024-10/bg_hero.jpg');
    background-size: cover;
    background-position: center center;
    position:relative;
    z-index:9;
}

.hero p {
    max-width: 1100px;
    color: #fff;
    font-size: 2rem;
    line-height: 2.5rem;
    text-shadow: 0 0 1rem rgba(30, 53, 29, 0.75);
}

.herohome {
    min-height:60dvh;
}

.hero .continue {
    color: #fff;
    font-size: .8rem;
    font-weight: bold;
    margin-bottom: -20px;
    position: relative;
    z-index: 2;
    text-align: center;
}

.hero .line {
    width: 2px;
    height: 20px;
    margin: 0 auto;
}

.hero .lineup {
    background-color: rgba(255, 255, 255, .15);
}

.hero .linedn {
    background-color: rgba(0, 0, 0, 0.15);
}

@media only screen and (max-width:1000px) {
    .hero p {
        font-size:1.5rem;
        line-height:2rem;
    }
}

/* #endregion */

/* #region Home */
.home .hometop {
    background-color:#fcfcfc;
}

.home .overview .boxbox {
    overflow:hidden;
}

.home .overview .under {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    opacity:0.1;
}

.home .overview .map {
    position:relative;
}

.home .overview .mapinner {
    background-image: url('images/2024-10/home_sf_locator.jpg');
    background-size: 100% auto;
    background-position: bottom center;
    background-repeat: no-repeat;
    position:absolute;
    left:-25%;
    right:0;
    bottom:0;
    width:150%;
    height:125%;
}

.home .overview .overtext {
    position:relative;
    z-index:2;
}

.home .overview img {
    width:100%;
}

.home .highlights p {
    text-align: center;
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
}

.home .highlights h2 {
    text-align: center;
}

.home .highlights .item {
    background-size: 30px auto;
    border:3px solid #5c9559;
    border-radius: 1rem;
    position:relative;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.home .highlights .item .icon img {
    width:3rem;
    background-color:rgba(255,255,255,0.85);
    padding:0.5rem;
}

.home .highlights .item .icon {
    position:absolute;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    overflow: hidden;
    aspect-ratio: 1/1;
    backdrop-filter: blur(10px) brightness(1.1);
}

.home .highlights .item ul {
    margin-top:1rem;
}

.home .update {
    background-image: url('images/bg_bottom.jpg');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    color: #fff;
    padding-bottom:3rem;
}

.home .update h2 {
    color: #fff;
}

.home .update .image {
    background-image: url('images/gallery/TCEC_South-Falcon-East_Maps-&-Figures_135.jpg');
    background-size: contain;
    background-position: top center;
    background-repeat:no-repeat;
    margin-bottom: 60px;
    margin-top: -30px;
}

.home .update .highlights .item .icon img {
    background-color:transparent;
}

.home .update  .highlights .item {
    background-color:transparent;
}

.home .update .bigtext {
    font-size:1.5rem;
    max-width:1100px;
}
@media only screen and (max-width:1000px) {
    .flexcol1000 img, .flexcolrev1000 img {
        max-height:50vh;
        width:auto !important;
        max-width:100%;
        margin-left:auto;
        margin-right:auto;
        display:block;
    }

    .home .overview .boxbox {
        padding:1rem;
    }
}

@media only screen and (max-width:1500px) {
    .home .update .paddbl {
        padding: 60px;
        padding-bottom: 120px;
    }
}

@media only screen and (max-width:1100px) {
    .home .overview .overtext p {
        font-size:1.2rem;
    }

    .home .highlights .highbox {
        flex-direction: column;
        row-gap:2rem;
    }

    .home .highlights .item {
        width: 100%;
    }

    .home .update {
        flex-direction: column-reverse;
        padding-bottom:3rem;
    }

    .home .update .half {
        width: 100%;
    }

    .home .update .image {
        width: 100%;
        margin-left:0;
        height: 40vw;
        min-height: 300px;
        margin-bottom: 0;
    }
}

@media only screen and (max-width:1000px) {
    .home .overview .overtext {
        padding:2rem;
    }

    .home .update .toptext .halfgap2 {
        width: 100%;
    }

    .home .update .toptext .pad {
        padding-left:0;
        padding-right:0;
    }
}

@media only screen and (max-width:800px) {
    .home .overview .location {
        height: 70vw;
    }

    .home .update .bigtext {
        font-size:1.25rem;
    }
}

@media only screen and (max-width:600px) {
    .home .overview .overtext {
        padding:1rem;
    }
}

/* #endregion */

/* #region Footer */
.footer {
    background-color: #1d231f;
    position:relative;
}

.footer .under {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:url('images/2025/bg_footer.jpg');
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
    opacity:0.25;
}

.footer .latestbox {
    transform:translateY(-50%);
}

.footer .latest .topper {
    color: #fff;
    font-weight: 600;
    padding-left: 15px;
    margin-bottom: 5px;
    display: block;
}

.footer .latest {
    background-color: #5c9559;
    padding:1rem;
    position: relative;
    z-index: 1;
    border-radius:0.5rem;
}

.footer .latest .news .title {
    font-size: 2rem;
    color: #fff;
    font-weight: 500;
}

.footer .latest .news .title span {
    display: block;
}

.footer .latest .news .line {
    height: 50px;
    width: 1px;
    background-color: #fff;
    opacity: .25;
    margin: 0 30px;
}

.footer .latest .news a {
    color: #ebb22c;
    font-weight: bold;
    text-transform: uppercase;
    max-width:600px;
}

.footer .latest .news a span {
    color: #fff;
    display: block;
}

.footer .latest .news a:hover {
    text-decoration: underline;
    color: #fff;
}

.footer .latest .news form input[type=email] {
    background-color: transparent;
    border: 0;
    border-bottom: 2px solid black;
    color: black;
    opacity: .5;
    font-size: 2rem;
}

.footer .latest .news form input[type=email]::placeholder {
    color: black;
}

.footer .latest .news form button {
    background-color: transparent;
    border: 0;
    font-size: 3rem;
    margin-left: 10px;
}

.footer .latest .news form button:hover {
    color: #ebb22c;
}

.footer .latest .news form p {
    color: #fff;
    display: none;
}

.footer .mainfoot .logoinfo {
    margin-right: 60px;
}

.footer .mainfoot .logo {
    width: 300px;
}

.footer .mainfoot .info {
    line-height: 1.7rem;
    color: #fff;
}

.footer .mainfoot .line {
    width: 1px;
    background-color: #000;
    opacity: .25;
    margin: 0 30px;
}

.footer .mainfoot .links a {
    display: block;
    color: #ebb22c;
    font-weight: 600;
    line-height: 2rem;
}

.footer .mainfoot .presentation {
    justify-self: flex-end;
    background-color: #144c45;
    position: relative;
    transition: .2s all;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
    text-align: center;
    width: 500px;
    border-radius: 1rem;
    overflow: hidden;
}

.footer .mainfoot .presentation span {
    color: #ebb22c;
}

.footer .mainfoot .presentation:hover {
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.75);
    transform:scale(1.05);
}

.footer .mainfoot .presentation .underlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: url('images/footer_pres_button.png');
    z-index: 1;
    transition: .2s all;
    opacity: .5;
    background-size: cover;
    background-position: center center;
}

.footer .mainfoot .presentation:hover .underlay {
    opacity: .25;
}

.footer .mainfoot .presentation .overlay {
    position: relative;
    z-index: 2;
    color: #fff;
    font-weight: 600;
    height: 100%;
}

.footer .mainfoot .presentation .overlay span {
    display: block;
}

@media only screen and (max-width:1500px) {
    .footer .mainfoot .line {
        display: none;
    }

    .footer .mainfoot .logoinfo {
        display: block;
    }

    .footer .mainfoot .logoinfo .logo {
        margin-bottom: 30px;
    }
}

@media only screen and (max-width:1200px) {
    .footer .mainfoot {
        display: block;
    }

    .footer .mainfoot .logoinfo {
        margin-left: auto;
        margin-right: auto;
        display: table;
    }

    .footer .mainfoot .logoinfo .info {
        text-align: center;
    }

    .footer .mainfoot .links {
        flex-direction: row;
        justify-content: space-between;
        padding: 30px;
    }

    .footer .mainfoot .presentation {
        height: 150px;
        width: 100%;
        display: block;
    }

    .footer .latest .line {
        display:none;
    }

    .footer .latest .title {
        flex-shrink:0;
    }

    .footer .latest .news a {
        max-width:unset;
    }

    .footer .latest .titlebox {
        column-gap:1rem;
    }

    .footer .latestbox {
        transform:translateY(-2rem);
    }
}

@media only screen and (max-width:1000px) {
    .footer .latest .news {
        display: block;
    }

    .footer .latest .news .titlebox {
        width: 100%;
    }

    .footer .latest .news form {
        width: 100%;
        padding-top: 0;
    }

    .footer .mainfoot .links {
        display: block;
        padding-left: 0;
        padding-right: 0;
    }

    .footer .mainfoot .links a {
        background-color: rgba(250, 250, 250, 0.1);
        border-radius: 0.25rem;
        padding: 5px 10px;
        text-align: center;
        margin-bottom: 5px;
        border: 1px solid #ccc;
    }

    .footer .mainfoot .links a:hover {
        background-color: rgba(250, 250, 250, 0.25);
    }

    .footer .mainfoot .links a:last-of-type {
        margin-bottom: 0;
    }
}

@media only screen and (max-width:800px) {
    .footer {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media only screen and (max-width:600px) {
    .footer .latest .news form input[type=email] {
        font-size: 1.5rem;
    }
}

@media only screen and (max-width:400px) {
    .footer .latest .news form input[type=email] {
        font-size: 1rem;
        font-weight: bold;
    }
}

/* #endregion */

/* #region Content */
.contbottom {
    height: 80px;
}

.content {
    background-color: #fefefe;
}

.sidex {
    margin-top: -20px;
}

.sidex .sideproj .sidelink {
    display: block;
}

@media only screen and (max-width:1100px) {
    .content {
        flex-direction: column-reverse;
    }

    .continner {
        padding-left: 0;
    }

    #sidex {
        width: 100%;
    }
}

@media only screen and (max-width:800px) {
    .contbox {
        padding-left: 30px;
        padding-right: 30px;
    }
}

/* #endregion */

/* #region Subfooter */
.subfooter {
    font-size: .9rem;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color:rgba(0,0,0,0.1);
    backdrop-filter: blur(10px);
    color:#fff;
}

.subfooter .subfooterlink {
    font-weight: bold;
    color: #ebb22c;
}

@media only screen and (max-width:500px) {
    .subfooter {
        flex-direction: column-reverse;
        text-align:center;
    }

    .subfooter .sublink {
        margin-bottom: 5px;
    }
}

/* #endregion */

/* #region Custom Styling */

#sedar .yearbox .active {
    background-color: #5c9559;
    border-color: #5c9559;
}

#sedar .item span {
    color: #ebb22c;
}

#archive .newschive .newsbox {
    border-top: 0;
    border-left: 0;
}

#management .item, #advisors .item {
    border-top: 0;
    border-left: 0;
}

#stock .item {
    border-top: 0;
    border-left: 0;
}

#subpop {
    background-color: rgba(22, 22, 22, 0.98);
}

#subpop .logo {
    background-image: url('images/2024-10/tcec_logo.png');
}

.popped .menubox {
    background-color: rgba(51, 107, 100, 0.98) !important;
    padding:3rem;
}

#sedar .item span {
    color: #ebb22c;
}

#sedar .item:hover {
    background-color: #3e6f58;
}

.project .highlights {
    background-color:#f9f9f9;
    box-shadow:0 2px 5px rgba(0,0,0,0.15);
    padding:30px;
    border-radius:5px;
}

.project table {
    width:100%;
    text-align:center;
}

.project table tr:first-of-type td, .project table tr:nth-child(2) td {
    background-color:#333 !important;
    color:#fff !important;
}

.project table tr:nth-child(even) td {
    background-color:#eee;
}

.project .secalt {
    background-color:#3e6f58;
    padding:30px;
    border-radius:5px;
    color:#fff;
}

.project .secalt h3 {
    color:#fff;
}

@media only screen and (min-width:1400px) {
    .project p, .project ul li {
        font-size:1.5rem;
    }
}

@media only screen and (min-width:600px) {
    .project p, .project ul li {
        font-size:1.25rem;
    }
}

/* #endregion */

@media only screen and (max-width:1400px) {
    .hugetext {
        font-size:1.5rem;
    }

    .bigtext {
        font-size:1.25rem;
    }

    .midtext {
        font-size:1rem;
    }
}

@media only screen and (max-width:600px) {
    .hugetext {
        font-size:1.25rem;
    }

    .bigtext {
        font-size:1rem;
    }
}

.preheader {
    background-color:#fec834;
    color:#111;
    text-align:center;
    padding:0.5rem 1rem;
}

.preheader a {
    font-weight:bold;
    padding:0.25rem 0.5rem;
    border-radius:0.25rem;
    background-color:#111;
    color:#fff;
    font-size:0.8rem;
}

.preheader:hover a {
    opacity:0.5;
}

.preheader a:hover {
    opacity:1;
    background-color:#fff;
    color:#111;
}

@media only screen and (max-width:800px) {
    .preheader span {
        width:100%;
    }
}
