.abscenter{left:50%; top:50%; transform:translate(-50%, -50%);} .green{font-size:larger; font-weight:500; color:green;} .red{font-size:larger; font-weight:500; color:red;} .modal{position:fixed; z-index:100053; background:#fff;} .overlay{background:#000; opacity:0.7; position:fixed; top:0; right:0; bottom:0; left:0; z-index:100052;} .modal-title{height:40px;background:#fcfcfc; border-bottom:1px solid #ddd;} .modal-title span{line-height:40px; font-size:1.3em; padding-left:20px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; width:calc( 100% - 39px );} .modal-title .modal-close{left:auto; right:-30px; color:#eee; position:absolute; width:29px; height:29px; border:0; padding:0; background:none; cursor:pointer; outline:none;} .modal-title .modal-close:after{content:"\f335"; font:400 32px/29px dashicons; speak:none; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;} .modal-content{background:#f1f1f1; padding:2px 25px 15px 25px; clear:both; overflow:auto; text-align:left; line-height:1.4em;} .wpjam-tooltip{position:relative; display:inline-block; color:#555 !important;} .wpjam-tooltip .wpjam-tooltip-text{visibility:hidden; opacity:0; transition:opacity 0.3s; max-width:300px; min-width:200px; background-color:#ddd; padding:5px; border-radius:6px; text-align:center; position:absolute; z-index:10000; bottom:125%;} .wpjam-tooltip .wpjam-tooltip-text p{margin:4px;} .wpjam-tooltip .wpjam-tooltip-text::after{content:" "; position:absolute; top:100%; border-width:5px; border-style:solid; border-color:#ddd transparent transparent transparent;} .wpjam-tooltip:hover .wpjam-tooltip-text{visibility:visible; opacity:1;} .notice p a{text-decoration:none;} .notice p a .dashicons{height:16px; font-size:16px; line-height:18px;} .wp-menu-ri:before{display: inline-block; line-height: 1; width: 20px; height: 20px; font-size: 20px; } #tb_modal{display:none;} form.chart-form{margin:20px 0; display:flex; align-items:center; flex-wrap:wrap; gap:6px;} div.donut-chart-wrap{display:flex; align-items:flex-start; flex-wrap:wrap; gap:40px; margin-bottom:20px;} div.donut-chart-wrap table{width:initial; border:none; background:none;} div.donut-chart-wrap .widefat thead td, div.donut-chart-wrap .widefat thead th{border:none;} input::placeholder{font-size:13px;} input.medium-text{width:100px;} input[type=number]{padding-right:0;} input[type=text]{height:28px;} .image-radio input, .image-radio input + img + img{display:none;} .image-radio input ~ img{max-width:120px !important;cursor: pointer;} .image-radio input:checked + img{display:none; box-shadow: 0 0 10px;} .image-radio input:checked ~ img:last-child{display: initial;} form table.form-table td .dashicons{vertical-align:middle;} form table.form-table tr > td:only-child{padding:15px 10px 15px 0;} form table.form-table th a, form table.form-table td a{text-decoration:none;} .form-table td p.description{font-size:13px;} span.description{color:#646970;} div.wpjam-file{display:flex; gap:4px;} div.plupload{position:relative} div.plupload-drag-drop{border:4px dashed #c3c4c7; height:200px;} div.plupload div.progress{height:22px; margin:7px 6px; width:200px; line-height:2em; padding:0; overflow:hidden; border-radius:22px; background:#dcdcde; box-shadow:inset 0 1px 2px rgb(0 0 0 / 10%);} div.plupload div.progress div.percent{z-index:10; position:relative; width:200px; padding:0; color:#fff; text-align:center; line-height:22px; font-weight:400; text-shadow:0 1px 2px rgb(0 0 0 / 20%);} div.plupload div.progress div.bar{z-index:9; width:0; height:100%; margin-top:-22px; border-radius:22px; background-color:#2271b1; box-shadow:inset 0 0 2px rgb(0 0 0 / 30%);} summary + .sub-field{margin-top:20px;} .sub-field{margin-bottom:12px; line-height:30px;} .sub-field .sub-field{margin-bottom:0;} .sub-field-label{min-width:76px; padding-right:4px; font-weight:500; display:table-cell; vertical-align:top;} .sub-field-detail{max-width:calc(100% - 80px); display:table-cell;} .sub-field-detail label{line-height:1;} div.field-group{display:flex; flex-wrap:wrap; align-items:flex-start; gap:6px;} div.field-group .sub-field:not(:first-child) .sub-field-label{min-width:initial;} div.mu-item .dashicons-menu{opacity:0.1; width:30px; height:30px; font-size:30px; cursor:pointer;} div.mu-item > a.button{margin:0 6px;} div.mu-item:hover > .dashicons{opacity:0.8 !important;} div.mu-item:last-child .del-item, div.mu-item:last-child .dashicons-menu{display:none;} .direction-column{display:flex; flex-direction:column; gap:6px;} .direction-row{display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px 10px; line-height:30px;} div.mu-text.direction-row{gap:8px 4px} div.mu-text.direction-row > div.mu-item:last-child input{display:none;} div.mu-text.direction-row > div.mu-item .dashicons-no-alt{opacity:0.2;} div.mu-text.direction-row > div.mu-item input + .dashicons-no-alt{margin-left:-24px; margin-right:4px;} div.mu-text.direction-row > div.mu-item .dashicons-menu{font-size:20px; width:20px; height:20px; margin-right:2px;} div.mu-text.direction-row > div.mu-item input{padding-right:20px !important;} div.mu-text.direction-row > div.mu-item input + a.button{margin-left:0px;} div.mu-fields > div.mu-item{margin-bottom:6px; padding-bottom:10px; border-bottom:1px solid #E5E5E5;} div.mu-fields > div.mu-item:last-child{margin-bottom:0; border-bottom:none; padding-bottom:6px;} div.mu-fields > div.mu-item > a{margin-left:80px;} div.mu-fields > div.mu-item > a.new-item.button{margin:0;} div.mu-fields > div.mu-item.field-group .sub-field{margin-bottom:0;} div.mu-fields > div.mu-item.field-group > a.button{margin-left:0;} div.mu-text > div.mu-item, div.mu-file > div.mu-item{display:flex; align-items:center;} div.mu-img{max-width:720px;} div.mu-img > div.mu-item{width:100px; height:100px; margin:10px 10px 10px 0; position:relative;} div.mu-img > div.mu-item img{width:100px; height:100px !important; object-fit:cover;} div.mu-img > div.mu-item .dashicons-menu{display:none;} div.mu-img .new-item{box-sizing:border-box; width:100px; height:100px; color:#ccc; background:#f7f7f7; border:2px solid #ccc; border-radius:8px;} div.mu-img .new-item.dashicons:before{line-height:100px; font-size:32px; font-weight:100;} div.mu-img .new-item{position:relative; cursor:pointer; text-decoration:none;} div.wpjam-img{position:relative; cursor:pointer; text-decoration:none; display:inline-block;} div.wpjam-img .wp-media-buttons{float:none;min-width:100px;} div.wpjam-img .wp-media-buttons .add_media{padding-left:5px;} div.wpjam-img img{max-width:300px !important; max-height:300px !important; object-fit:cover;} div.wpjam-img a.del-img, div.wpjam-img img:not(.hidden) + .wp-media-buttons, div.wpjam-img img:not(.hidden) ~ .description{display:none;} div.wpjam-img img:not(.hidden) ~ a.del-img{display:block !important;} div.mu-img a.del-item, a.del-img, a.del-icon{position:absolute; line-height:1; top:-10px; right:-10px; border-radius:10px; color:#ffffff; background:#cc3333; text-decoration:none; opacity:0.8 !important; cursor:pointer;} div.mu-item span.query-title{margin:0 2px 4px 0;} span.query-title{box-sizing:border-box; vertical-align:top; display:inline-block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:default; padding:0 8px 0 4px; background:#e5e5e5; border-radius:4px; line-height:30px;} span.query-title .dashicons{cursor:pointer; color:#0073aa; margin-right:4px;} input:not(.regular-text) + .description{display:inline-block; margin-left:4px;} input.autocomplete.hidden ~ .description{display:none;} input + span.query-title{display:none;} input.hidden + span.query-title{display:inline-block;} input.button ~ span.query-title{margin-left:6px;} input[type="checkbox"].switch{appearance:none; width:auto; height:auto; position:relative; border:0; outline:0; cursor:pointer; background:none; box-shadow:none;} input[type="checkbox"].switch:focus{box-shadow:none;} input[type="checkbox"].switch:after{content:''; font-size:8px; font-weight:400; line-height:18px; text-indent:-14px; color:#ffffff; width:36px; height:18px; display:inline-block; background-color:#a7aaad; border-radius:9px; box-shadow:0 0 12px rgb(0 0 0 / 15%) inset;} input[type="checkbox"].switch:before{content:''; width:14px; height:14px; display:block; position:absolute; top:2px; left:2px; margin:0; border-radius:50%; background-color:#ffffff;} input[type="checkbox"].switch:checked:before{left:20px; margin:0; background-color:#ffffff;} input[type="checkbox"].switch, input[type="checkbox"].switch:before, input[type="checkbox"].switch:after, input[type="checkbox"].switch:checked:before, input[type="checkbox"].switch:checked:after{transition:ease .15s;} input[type="checkbox"].switch:checked:after{content:' '; background-color:#2271b1;} .ui-autocomplete{z-index:1000000 !important;} /*要超过 TB z-index 才行,不然弹窗不行*/ .readonly div.mu-item:last-child, .disabled div.mu-item:last-child, .readonly div.mu-item > a.del-item, .disabled div.mu-item > a.del-item, .readonly .query-title .dashicons, .disabled .query-title .dashicons, .readonly .button, .disabled .button, .readonly a.del-img, .disabled a.del-img{display:none !important;} span.all-options{width:250px;} span.large-text{width:99%;} span.small-text{width:50px;} span.tiny-text{width:35px;} a.wpjam-button{text-decoration:none;} p.submit .spinner{float:none; margin:0 10px 0 -10px;} p.submit .button{margin-right:20px;} p.submit .button:last-child{margin-right:0;} div.tabs h2.nav-tab-wrapper ul, div.tabs h2.nav-tab-wrapper li{margin:0;} a.nav-tab:focus{box-shadow:none;} #post-body #normal-sortables{min-height:0;} div#postexcerpt div.inside p{display:none;} div.postbox table.form-table th{padding:12px 10px 12px 0; width:120px;} div.postbox table.form-table td{padding:6px;} div.postbox.tabs table.form-table th{width:100px;} div#poststuff div.postbox .nav-tab-wrapper{padding-bottom:0; border-color:#ddd;} div#poststuff div.postbox .nav-tab-wrapper a.nav-tab{background:#f3f5f6; border-color:#ddd;} div#poststuff div.postbox .nav-tab-wrapper a.nav-tab-active{background:#fff; border-bottom-color:#fff;} div#poststuff div.postbox.closed .nav-tab-wrapper a.nav-tab-active{background:#fff; border-color:#ddd;} .tablenav{height:auto; min-height:44px; margin-bottom:-5px;} .tablenav .actions{padding:0 8px 6px 0; margin-right:12px;} .tablenav .actions input, .tablenav .actions span.query-title{float:left; margin-right:6px; max-width:12.5rem;} .tablenav .overallactions a:not(:first-child){margin-left:12px;} .widefat td{overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; hyphens:auto;} ul.subsubsub{margin-bottom:6px;} table.wp-list-table th{text-wrap: nowrap;} table.wp-list-table th.check-column .dashicons{margin-left:6px; color:#999; font-size:16px; width:16px; height:16px;} table.wp-list-table th.check-column .spinner{margin:4px 0 0 0;} table.wp-list-table .pending th, table.wp-list-table .pending td{background-color:#f0f6fc;} table.wp-list-table .pending th.check-column{border-left:4px solid #0073aa;} table.wp-list-table .pending th.check-column input{margin-left:4px;} table.wp-list-table .unapproved th, table.wp-list-table .unapproved td{background-color:#fcf9e8;} table.wp-list-table .unapproved th.check-column{border-left:4px solid #d63638;} table.wp-list-table .unapproved th.check-column input{margin-left:4px;} table.wp-list-table .approve a, table.wp-list-table .audit a, table.wp-list-table .publish a{color:#007017;} table.wp-list-table .unapprove a, table.wp-list-table .unpublish a{color:#996800;} table.wp-list-table .dashicons, table.wp-list-table .dashicons-before:before{width:16px; height:16px; font-size:16px;} table.wp-list-table .item > .dashicons.dashicons-plus-alt2{font-size:24px; width:24px; height:24px; color:#ccc; left:50%; top:50%; transform:translate(-50%, -50%); position:relative;} table.wp-list-table td pre{white-space:pre-wrap; max-width:800px; margin-top:0;} table.wp-list-table td img.alignleft{margin-right: 10px; margin-top: 1px;} table.wp-list-table a.ui-sortable-handle{cursor:move;} table.wp-list-table tr.ui-sortable-helper, table.wp-list-table tr.ui-sortable-placeholder{background:#eeffee;} table.wp-list-table tbody tr.ui-sortable-item:first-of-type span.up, table.wp-list-table tbody tr.ui-sortable-item:last-of-type span.down, table.wp-list-table tbody tr.ui-sortable-item:first-child:nth-last-child(1) span.move, table.wp-list-table tbody tr.ui-sortable-item:first-child:nth-last-child(2) span.move, table.wp-list-table tbody tr.ui-sortable-item:first-child:nth-last-child(2) ~ tr.ui-sortable-item span.move{display:none;} div.sticky-columns-list-table-wrap{width: 100%; height:100vh; position: relative; overflow: scroll; border: 1px solid #c3c4c7; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);} table.wp-list-table.sticky-columns{width: 100%; border:none; box-shadow: none;} table.wp-list-table.sticky-columns thead, table.wp-list-table.sticky-columns tfoot{position: sticky;background: #ffffff; z-index: 3; top:0; } table.wp-list-table.sticky-columns tfoot{bottom:0px;} table.wp-list-table.sticky-columns tr > td{white-space: nowrap; text-wrap: nowrap; word-wrap: normal; overflow-wrap: normal;} table.wp-list-table.sticky-columns .sticky-column{position: sticky; z-index: 2;} table.wp-list-table.sticky-columns thead .sticky-column, table.wp-list-table.sticky-columns tfoot .sticky-column{background: #ffffff;} table.wp-list-table.sticky-columns.striped>tbody>:nth-child(odd) .sticky-column{background-color: #f6f7f7;} table.wp-list-table.sticky-columns.striped>tbody>:nth-child(even) .sticky-column{background-color: #ffffff;} a.wpjam-thumbnail-wrap{position:relative;} a.wpjam-thumbnail-wrap:focus{outline:0; box-shadow:none;} a.wpjam-thumbnail-wrap img, .no-thumbnail{float:left; margin:0px 10px 10px 0; border-radius:4px; border:1px solid #eee;} .no-thumbnail{display:inline-block; text-align:center; font-size:12px; font-weight:100; width:50px; height:50px; line-height:50px; background:#eee; color:#555;} a.wpjam-thumbnail-wrap:hover:after{content:"\f464"; font-size:16px; font-family:dashicons; padding:2px; line-height:1; top:-4px; right:6px; position:absolute; border-radius:10px; color:#fff; background:#2271b1; opacity:0.8;} div#col-left .left-item.left-current{background-color:#f0f6fc; color:#3c434a;} div#col-left .left-item{cursor:pointer;} div.items span.row-actions > span{margin:0 3px;} div.items.image-list{display:flex; flex-wrap:wrap;} div.items.image-list .item{display:flex; flex-direction:column; margin:10px 30px 20px 0; position:relative; text-align:center;} div.items.image-list .item span.item-title, div.image-list .item span.row-actions{font-size:smaller; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;} div.items.image-list .add-item{margin:10px 0px 20px 0; background:#f9f9f966; border-radius:4px; border:1px solid #ccc; box-sizing:border-box;} .striped>tbody>:nth-child(odd) .add-item{background:#ffffff66;} div.items.text-list .item{display:flex; margin-bottom:10px; max-width:400px;} div.items.text-list .item a.text{display:inline-block; width:130px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; margin-right:10px; vertical-align:middle;} div.items.text-list .item a.del-icon{top:inherit; right:inherit;} .wp-picker-container .wp-color-result-text{color:inherit;} .wp-picker-container input[type=text].wp-color-picker{margin:0 2px;} .wp-picker-container .wp-picker-clear{min-height:30px;} .list-table.layout-calendar .tablenav.top{text-align:center;} .list-table.layout-calendar h2{font-size:2em; display:inline-block; margin:0 0 10px 0; line-height:30px;} .list-table.layout-calendar a.current-month{padding-left:20px; padding-right:20px;} .list-table.layout-calendar table{width:100%; margin:20px 0;} .list-table.layout-calendar table a{text-decoration:none;} .list-table.layout-calendar table .weekend{background:#f6f7f7;} .list-table.layout-calendar table th{font-size:larger; font-weight:bold;} .list-table.layout-calendar table td, .list-table.layout-calendar table th{border-right:1px solid #c3c4c7; border-bottom:1px solid #c3c4c7;} .list-table.layout-calendar table td:last-child, .list-table.layout-calendar table th:last-child{border-right:none;} .list-table.layout-calendar table tfoot th{border-bottom:none;} .list-table.layout-calendar table td .date-meta{min-height:24px;} .list-table.layout-calendar table td span.day{display:inline-block; width:20px; height:20px; line-height:20px; text-align:center;} .list-table.layout-calendar table td span.day.today{color:#fff; border-radius:10px; background:red;} .list-table.layout-calendar table td a.list-table-action{display:none;} .list-table.layout-calendar table td:hover a.list-table-action{display:inline;} #TB_window #TB_title{height:40px;} #TB_window #TB_title #TB_ajaxWindowTitle{line-height:40px; font-size:1.3em; padding-left:20px;} #TB_window #TB_title #TB_closeWindowButton{left:auto; right:-30px; color:#eee;} #TB_window #TB_title #TB_closeWindowButton:hover{color:#00a0d2;} #TB_window #TB_title #TB_closeWindowButton:after{content:"\f335"; font:400 32px/29px dashicons; speak:none; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;} #TB_window #TB_title .tb-close-icon{display:none;} #TB_window #TB_ajaxContent{background:#f1f1f1; padding:2px 25px 15px 25px;} #TB_window #TB_ajaxContent table.form-table > tbody > tr > th{width:110px;} #TB_window #TB_ajaxContent table.form-table > tbody > tr > td{min-width:240px;} #TB_window img{max-width:100%; height:auto;} #TB_window div.notice{margin:5px 0px 2px;} #TB_window img#TB_Image{margin:15px 15px 5px 15px;} #TB_window #TB_caption a{text-decoration:none;} div.news-items{width:360px; box-shadow:1px 1px 10px #CCC; border-radius:4px; margin-bottom:10px;} div.news-items div.big{position:relative;} div.news-items div.news-item:first-child:nth-last-child(1){position:inherit; padding-bottom:12px;} div.news-items div.big span.news-item-title{font-size:16px; color:#fff; padding:12px; box-sizing:border-box; width:100%; bottom:0; left:0; background:linear-gradient(180deg,transparent,rgba(0,0,0,.6)); position:absolute;} div.news-items div.news-item:first-child:nth-last-child(1) span.news-item-title{color:inherit; background:inherit; position:inherit; display:block;} div.news-items div.big span.news-item-excerpt{display:block; box-sizing:border-box; width:100%; padding:12px;} div.news-items div.big span.item-thumb{width:360px; height:150px; overflow:hidden; display:block; position:relative;} div.news-items div.big span.item-thumb img{border-radius:4px; position:relative; left :50%; top :50%; transform:translate(-50%, -50%);} div.news-items div.small{padding:12px 12px 0 12px; display:flex; flex-direction:row-reverse; justify-content:space-between; width:100%; box-sizing:border-box;} div.news-items div.small span.news-item-title{width:260px; height:60px; display:flex; align-items:center; padding-bottom:12px; font-size:14px; border-bottom:1px solid #DDD;} div.news-items div.small:last-child span.news-item-title{border-bottom:0;} div.news-items div.small span.item-thumb{width:60px; height:60px; overflow:hidden;} div.news-items div.small span.item-thumb img{position:relative; left :50%; top :50%; transform:translate(-50%, -50%);} #wpjam_modal_wrap{position:fixed; bottom:8px; right:10px; background:#fff; box-shadow:0 3px 6px rgba(0, 0, 0, 0.3); z-index:1000000;} .welcome-panel.wpjam-welcome-panel{background:#fff;} .welcome-panel.wpjam-welcome-panel::before{display:none;} .welcome-panel.wpjam-welcome-panel h2{font-size:32px; color:initial;} .welcome-panel.wpjam-welcome-panel .welcome-panel-content{min-height:initial;} .welcome-panel.wpjam-welcome-panel .welcome-panel-column-container{margin:0;} @media screen and (max-width:830px){ #TB_window #TB_title #TB_closeWindowButton{right:0; top:-30px;} #TB_window #TB_ajaxContent .form-table th{width:inherit;} } @media screen and (max-width:782px){ div.mu-fields > div.mu-item.field-group .sub-field{margin-bottom:4px;} .sub-field + a.button{margin-bottom:4px;} .direction-row{line-height:40px;} input[type=text]{height:40px;} input::placeholder{font-size:15px;} input.hidden{display:none !important;} } @media screen and (min-width:783px){ #adminmenu .awaiting-mod, #adminmenu .update-plugins{line-height:18px; transform:scale(0.92);} .post-com-count-pending{line-height:20px !important; height:20px !important; left:-6px !important; border-radius:12px !important; min-width:10px !important; transform:scale(0.833333);} table.wp-list-table td .row-action{display:none;} table.wp-list-table td:hover .row-action{display:initial;} } jQuery(document).ready(function ($) { let bodhisvgsReplacements = 0; function bodhisvgsReplace(img) { var imgID = img.attr('id'); var imgClass = img.attr('class'); var imgURL = img.attr('src'); // Set svg size to the original img size // var imgWidth = $img.attr('width'); // var imgHeight = $img.attr('height'); if (!imgURL.endsWith('svg')) { return; } $.get(imgURL, function(data) { // Get the SVG tag, ignore the rest var $svg = $(data).find('svg'); var svgID = $svg.attr('id'); // Add replaced image's ID to the new SVG if necessary if(typeof imgID === 'undefined') { if(typeof svgID === 'undefined') { imgID = 'svg-replaced-'+bodhisvgsReplacements; $svg = $svg.attr('id', imgID); } else { imgID = svgID; } } else { $svg = $svg.attr('id', imgID); } // Add replaced image's classes to the new SVG if(typeof imgClass !== 'undefined') { $svg = $svg.attr('class', imgClass+' replaced-svg svg-replaced-'+bodhisvgsReplacements); } // Remove any invalid XML tags as per http://validator.w3.org $svg = $svg.removeAttr('xmlns:a'); if(frontSanitizationEnabled == 'on' && $svg[0]['outerHTML'] != "") { // Is sanitization enabled? $svg = DOMPurify.sanitize($svg[0]['outerHTML']); // Sanitize SVG code via DOMPurify library } // Add size attributes // $svg = $svg.attr('width', imgWidth); // $svg = $svg.attr('height', imgHeight); // Replace image with new SVG img.replaceWith($svg); $(document).trigger('svg.loaded', [imgID]); bodhisvgsReplacements++; }, 'xml'); } // Wrap in IIFE so that it can be called again later as bodhisvgsInlineSupport(); (bodhisvgsInlineSupport = function() { // If force inline SVG option is active then add class if ( ForceInlineSVGActive === 'true' ) { // Find all SVG inside img and add class if it hasn't got it jQuery('img').each(function() { // Check if the SRC attribute is present at all if ( typeof jQuery(this).attr('src') !== typeof undefined && jQuery(this).attr('src') !== false) { // Pick only those with the extension we want if ( jQuery(this).attr('src').match(/\.(svg)/) ) { // Add our class name if ( !jQuery(this).hasClass(cssTarget.ForceInlineSVG) ) { jQuery(this).addClass(cssTarget.ForceInlineSVG); } } } }); } // Polyfill to support all ye old browsers // delete when not needed in the future if (!String.prototype.endsWith) { String.prototype.endsWith = function(searchString, position) { var subjectString = this.toString(); if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) { position = subjectString.length; } position -= searchString.length; var lastIndex = subjectString.lastIndexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; } // end polyfill // Another snippet to support IE11 String.prototype.endsWith = function(pattern) { var d = this.length - pattern.length; return d >= 0 && this.lastIndexOf(pattern) === d; }; // End snippet to support IE11 // Check to see if user set alternate class if ( ForceInlineSVGActive === 'true' ) { var target = ( cssTarget.Bodhi !== 'img.' ? cssTarget.Bodhi : '.style-svg' ); } else { var target = ( cssTarget !== 'img.' ? cssTarget : '.style-svg' ); } target = target.replace("img",""); $(target).each(function(index){ // if image then send for replacement if ( typeof $(this).attr('src') !== typeof undefined && $(this).attr('src') !== false) { bodhisvgsReplace($(this)); }else{ // look for svg children and send for replacement $(this).find("img").each(function(i){ if( typeof $(this).attr('src') !== typeof undefined && $(this).attr('src') !== false ){ bodhisvgsReplace($(this)); } }); } }); })(); // Execute immediately });{"id":28655,"date":"2023-06-23T18:45:11","date_gmt":"2023-06-23T18:45:11","guid":{"rendered":"https:\/\/themusicmemo.com\/interview-how-sonic-superstars-was-born-from-a-zoom-drinking-party\/"},"modified":"2023-06-23T18:45:12","modified_gmt":"2023-06-23T18:45:12","slug":"interview-how-sonic-superstars-was-born-from-a-zoom-drinking-party","status":"publish","type":"post","link":"https:\/\/themusicmemo.com\/interview-how-sonic-superstars-was-born-from-a-zoom-drinking-party\/","title":{"rendered":"Interview: How Sonic Superstars was born from a Zoom drinking party"},"content":{"rendered":"
\n<\/p>\n
For years, Sega seems to have struggled to figure out what a Sonic the Hedgehog game should be in the modern world.<\/p>\n
The struggle between appealing to die-hard fans and expanding to new, younger audiences has resulted in countless awkward compromises in The Blue Hedgehog’s attempt to please everyone at once, turning a familiar course into one moment. In the next instant, he was transformed into a werewolf. .<\/p>\n
In comparison, modern games feel much more reassuring. Sonic Mania is the mascot’s best side-scrolling game since his ’90s, but Sonic Frontiers was the first to introduce the template into a massive open-world 3D environment with great success.<\/p>\n
By alternating between ‘casual’ and ‘hardcore’ games, Sonic Team seems to have found an effective rhythm.<\/p>\n
This year’s game, Sonic Superstars, seeks to take the classic feel of Sonic Mania and update it with modern visuals and drop-in, drop-out co-op. Importantly, this is also the first game in over 20 years to be led by Naoto Oshima, Sonic’s original character designer, at his own studio, Arzest.<\/p>\n
At Summer Game Fest, VGC sat down with Sonic’s Creative Officer, Takashi Iizuka, to discuss the new game and how it was conceived at a Zoom drinking party.<\/p>\n
Who’s working on the game? Sonic Team seems to be partnering with Arzest, maybe with Headcannon or Christian Whitehead\/Retro Engine?<\/strong><\/p>\n When we were making Sonic Mania and the game was finished and Chris was finished, we had a discussion with Chris and the team about what the next 2D game we were going to make would be. A few concepts and ideas were discussed among the team, but the project was unable to start. So Chris and the team disappeared for a while.<\/p>\n I’ve been friends with many of my old colleagues, and Oshima and I have been discussing whether or not we would be interested in making a Sonic game together. He is the original creator of Sonic the Hedgehog, so we discussed whether his company Arzest would be interested in developing a Sonic game.<\/p>\n So Chris and team’s idea fell through. Sonic Superstars is actually all developed by Arzest, but the Sonic team in Japan collaborates with Arzest on design and other elements. Arzest and Mr. Oshima are 100% the developers of his game.<\/p>\n Superstar’s physics, like Mania’s, are incredibly faithful to the original Sonic games. How difficult was it to implement that classic feel into a side-scrolling game with 3D elements?<\/strong><\/p>\n When creating a new classic Sonic game, the team felt it was most important to recreate that classic experience. Yes, the team would end up creating 3D assets of him for the game, but we needed the physics and feel of the game to be exactly the same as the classic. That’s what we had Oshima’s team do first. We said, “If you can’t act on that feeling, you shouldn’t be doing this project.”<\/p>\n That was the turning point of the project. The team at Arzest focused on taking classic gameplay and recreating it in 3D assets. When they were able to do that, that was the starting point for us to say, ‘Okay, we’ve got a game that plays just like the classic game… how can we add new features to it? .<\/p>\n It seems that Sonic Team struggled for years to recreate that classic feel in a modern 2D game before Mania became a success. Do the superstars share any technology?<\/strong><\/p>\n No, it’s built completely from scratch. Arzest’s team is really good at making his 2D games. They’ve made 2D games for Nintendo before, and that’s where their core competence lies. When Mr. Oshima took on the idea for his game classic Sonic, their team looked at classic games side by side and began working out the character’s precise movements from scratch in their own development environment.<\/p>\n Why did you ultimately decide to make this game rather than a sequel to Sonic Mania after discussions with Christian Whitehead?<\/strong><\/p>\n Sonic Mania is one of those games made with that classic design, and I personally worked closely with Christian, Headcannon, and everyone involved. The whole idea behind Mania was to make a game for hardcore fans. That’s why it’s called Sonic Mania because it’s a game for the maniac fanbase.<\/p>\n