/* Reset & Base */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    outline: 0;
    padding: 0;
}

button { cursor: pointer; }

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Open Sans', 'open_sans_hebrewregular', Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #000;
    background: #F1F1F1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

ul, ol {
    list-style: none;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'league_spartanbold', 'League Spartan', sans-serif;
    font-weight: normal;
    line-height: 1.2;
}

/* Grid System (Bootstrap-like 12-col) */
.container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 12px;
}

@media (min-width: 992px) and (max-width: 1199px) {
    .container { max-width: 960px; }
}
@media (min-width: 1400px) {
    .container { max-width: 1320px; }
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -7.5px;
}

.row > [class*="col-"] {
    padding: 0 7.5px;
}

.col-md-1  { flex: 0 0 8.333%;  max-width: 8.333%;  }
.col-md-2  { flex: 0 0 16.666%; max-width: 16.666%; }
.col-md-3  { flex: 0 0 25%;     max-width: 25%;     }
.col-md-4  { flex: 0 0 33.333%; max-width: 33.333%; }
.col-md-5  { flex: 0 0 41.666%; max-width: 41.666%; }
.col-md-6  { flex: 0 0 50%;     max-width: 50%;     }
.col-md-7  { flex: 0 0 58.333%; max-width: 58.333%; }
.col-md-8  { flex: 0 0 66.666%; max-width: 66.666%; }
.col-md-9  { flex: 0 0 75%;     max-width: 75%;     }
.col-md-10 { flex: 0 0 83.333%; max-width: 83.333%; }
.col-md-11 { flex: 0 0 91.666%; max-width: 91.666%; }
.col-md-12 { flex: 0 0 100%;    max-width: 100%;    }

/* Container identifier classes (c0-c25) - neutral, used as hooks only */
/* Background colors come from the section-level theme classes (greenbg, darkbg, etc.) */

/* Flex column utility */
.col {
    flex: 1 1 0%;
    padding: 0 7.5px;
}

/* Typography */
.text-center { text-align: center; }
.text-left   { text-align: left; }
.text-right  { text-align: right; }

.ph-content .text-tiny  { font-size: .7em; }
.ph-content .text-small { font-size: .85em; }
.ph-content .text-big   { font-size: 1.4em; }
.ph-content .text-huge  { font-size: 1.8em; }

.text-huge {
    color: #cf2e2e;
    font-size: 32px !important;
    font-weight: 700;
    word-break: break-word;
    font-family: 'league_spartanbold', 'League Spartan Bold', sans-serif;
}
.text-big {
    color: #cf2e2e;
    font-size: 22px !important;
    font-weight: 700;
    word-break: break-word;
}

.ph-content a { color: #00acaf !important; }

.figcredits { display: table-caption; caption-side: bottom; word-break: break-word; padding: .6em; font-size: 12px; outline-offset: -1px; }
.figcredits span img { display: none !important; }
.figcredits img { display: none; }

.ph-content hr {
    margin: 15px 0;
    height: 4px;
    background: #dedede;
    border: 0;
}

.ph-content .image {
    display: table;
    clear: both;
    text-align: center;
    margin: 1em auto;
}

.ph-content .image img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    min-width: 50px;
    padding-left: 8px;
    padding-right: 8px;
}

.ph-content .image > figcaption {
    display: table-caption;
    caption-side: bottom;
    word-break: break-word;
    padding: .6em;
    font-size: .75em;
    outline-offset: -1px;
}

.ph-content .image.image_resized { max-width: 100%; display: block; box-sizing: border-box; }
.ph-content .image.image_resized img { width: 100%; }
.ph-content .image.image_resized > figcaption { display: block; }

.ph-content .image-style-side { float: right; margin-left: var(--ph-image-style-spacing); max-width: 50%; }
.ph-content .image-style-align-left { float: left; margin-right: var(--ph-image-style-spacing); }
.ph-content .image-style-align-center { margin-left: auto; margin-right: auto; }
.ph-content .image-style-align-center-3col, .ph-content .image-style-align-center-4col { margin-left: auto; margin-right: auto; }
.ph-content .image-style-align-right { float: right; margin-left: var(--ph-image-style-spacing); }

.ph-content .raw-html-embed { margin: 1em auto; min-width: 15em; font-style: normal; }

.ph-content .media { clear: both; margin: 1em 0; display: block; min-width: 15em; }

.ph-content .page-break { position: relative; clear: both; padding: 5px 0; display: flex; align-items: center; justify-content: center; }
.ph-content .page-break::after { content: ""; position: absolute; border-bottom: 2px dashed #c4c4c4; width: 100%; }
.ph-content .page-break__label { position: relative; z-index: 1; padding: .3em .6em; display: block; text-transform: uppercase; border: 1px solid #c4c4c4; border-radius: 2px; font-family: Helvetica, Arial, Tahoma, Verdana, sans-serif; font-size: .75em; font-weight: 700; color: #333; background: #fff; box-shadow: 2px 2px 1px rgba(0,0,0,.15); user-select: none; }

.ph-content .table { margin: 1em auto; display: table; }
.ph-content .table table { border-collapse: collapse; border-spacing: 0; width: 100%; height: 100%; border: 1px double #b3b3b3; }
.ph-content .table table td, .ph-content .table table th { min-width: 2em; padding: .4em; border: 1px solid #bfbfbf; }
.ph-content .table table th { font-weight: 700; background: rgba(0,0,0,.05); }
.ph-content[dir="rtl"] .table th { text-align: right; }
.ph-content[dir="ltr"] .table th { text-align: left; }

/* CTA Buttons */
.cta-red {
    display: table;
    background-color: #ca2432;
    color: #FFFFFF !important;
    padding: 15px 30px;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    font-size: 24px;
    font-weight: 200;
    transition: opacity 0.3s;
    cursor: pointer;
    border: none;
    text-align: center;
}

.cta-red:hover {
    opacity: 0.85;
}

.cta-green {
    display: table;
    background-color: #007c7e;
    color: #FFFFFF !important;
    padding: 15px 30px;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    font-size: 24px;
    font-weight: 200;
    transition: opacity 0.3s;
    cursor: pointer;
    border: none;
    text-align: center;
}

.cta-green:hover {
    opacity: 0.85;
}

/* Hidden image classes from CMS */
.flagshipimg { display: none !important; }
.flagshipimg_v { display: none !important; }
.creditsimg { width: unset; }
.creditsimg img { width: unset; }

/* Utility */
.hidden { display: none; }
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

#root {
    min-height: 100vh;
}

/* Loading state */
.loading {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
    font-size: 14px;
    color: #999;
}

/* Wave dividers */
.wave-divider {
    width: 100%;
    line-height: 0;
    overflow: hidden;
}

.wave-divider img,
.wave-divider svg {
    width: 100%;
    display: block;
}

/* Line divider */
.line-divider {
    width: 100%;
    height: 5px;
    background: #32a6a7;
}

/* Misc CMS classes */
.box-bg-black h3 { font-size: 1.75em; }
.ytvideo { font-size: 12px; width: 801px; max-width: 100%; height: 460px; }

.ph-content { margin-left: auto; margin-right: auto; color: #000; }
